Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Alles Markieren im Bearbeiten Menü (https://www.delphipraxis.net/19960-alles-markieren-im-bearbeiten-menue.html)

retroactive 11. Apr 2004 20:33


Alles Markieren im Bearbeiten Menü
 
HI,
In Rahmen meiner IT Stunde soll ich ein kleines Programm in Delphi schreiben. Ich habe mich für eines Entschieden, bei dem ich einen Text eingeben, ihn in die Zwischenablage kopieren und löschen kann. Nun komme ich aber hier nicht mehr weiter:

Die "Funktionen" Copy / Paste / Delete kann ich ja über

PostMessage(GetFocus,WM_XXX,0,0);

innerhalb der procedure definieren. So weit kein Problem. Nur wie schaffe ich es, das ich einen beliebigen Text ähnlich oder exact mit der Funktion "Alles makieren" selectieren kann? Es sollte wenn möglich allgemein gehalten werden, da ich das Programm später noch erweitern muss und ich vielleicht mehrere Eingabefelder für Texte habe.

Vielen Dank im Vorraus,
Chris

Markus K. 11. Apr 2004 20:39

Re: Alles Markieren im Bearbeiten Menü
 
Hallo retroactive,
in welchen Komponenten soll denn der gesamte Text markiert werden? Die Memo-Komponente sowie die RichEdit-Komponente besitzen die Methode SelectAll, mit welcher der gesamte Inhalt markiert wird.

Tschüß Markus

Robert_G 11. Apr 2004 21:02

Re: Alles Markieren im Bearbeiten Menü
 
Liste der Anhänge anzeigen (Anzahl: 4)
Ersteinmal ein Herzliches Willkommen hier in der Delphi-PRAXIS :hello:
Zu deinem Problem:
Wenn du eine Delphi Version > 4 hast, dann wirst du in der Komponenten-Palette unter Standard die ActionList finden.

Ziehe sie einfach auf dein Form außerdem brauchst du noch eine ImageList (unter Win32). Die ImageList weist du der Eigenschaft Images der ActionList zu.
Jetz noch einen Doppelklick auf die ActionList.
In dem nun geöffneten Editor siehst du links oben ein gelbes Icon, klicke auf den Pfeil und dann auf "New Standard action".
Wähle alle Actions aus, die unter Edit aufgelistet sind.
Du siehst jetzt alle Action incl. dem passenden Icon (siehe Anhang).
Diese Action sind bereits so vorkonfiguriert, dass sie sich autom. aktivieren & deaktivieren bzw. ihre Aufgabe (Select All, Copy, etc. ) erfüllen.
Diese Actions kannst du jedem Menuitem & Button zuweisen. Diese Controls verhalten sich autom. so wie die Action (OnClick, Image,... ).

Wenn du ein wenig damit rumgebastelt hast ( ;) ) wirst du wahrscheinlich auch den Vorteil von ActionLists sehen.
Ich habe fast das gesamte User Interface in Actions, da ich damit alles zentral aktivieren, deaktivieren, etc. kann.

retroactive 12. Apr 2004 12:13

Re: Alles Markieren im Bearbeiten Menü
 
Danke für euere Hilfe, bin nach 3 stündiger Suche selbst daraufgekommen. Das mit der TActionList war eine sehr gute Idee, doch so einfach will ich es mir nicht machen. Nochmals vielen Dank.

Robert_G 12. Apr 2004 12:55

Re: Alles Markieren im Bearbeiten Menü
 
Du kannst in der ActionList auch eigene Actions erzeugen, die deinen Code ausführen.
Da du jedem Button, MenuItem und was weiß ich noch alles Actions zuweisen kanns, kannst du zentral den Code für das User Interface festlegen.
Im OnUpdate einer Action kannst du festlegen, wann sie sich aktivieren oder deaktivieren soll.
Denkbar wäre zum Bleistift:
Delphi-Quellcode:
  ActDelete.Enabled := not(User is TDAU);
:mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz