AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

VCL - spezielles Edit gesucht

Ein Thema von TurboMagic · begonnen am 27. Mai 2019 · letzter Beitrag vom 30. Mai 2019
Antwort Antwort
Seite 3 von 4     123 4   
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.772 Beiträge
 
Delphi 12 Athens
 
#21

AW: VCL - spezielles Edit gesucht

  Alt 29. Mai 2019, 08:58
Oh oh. Ich bin noch nicht alt. Bei weitem nicht. Aber ich nutze STRG+Einfg, SHIFT+Einfg und SHIFT+Delete fast ausschließlich. Selten einmal, dass ich STRG+C, STRG+V und STRG+X nutze.

Der Unterschied von TCustomEdit und TEdit ist nur, dass bei TEdit bereits alle benötigten Properties published wurden. Das kannst du ja bei der eigens abgeleiteten Komponente noch machen.
Hallo,

danke ja. Erst Quellcode lesen, dann hier posten
Er hat da ja auch eine Klasse für drin
Ich hoffe mal, das bezog sich auf dich.
Ja!!!
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
670 Beiträge
 
Delphi 11 Alexandria
 
#22

AW: VCL - spezielles Edit gesucht

  Alt 29. Mai 2019, 12:39

Naja, ich hab's noch etwas hin bis zur Rente!
Noch etwas ist mir aufgefallen: im Kontextmenü des Edits gibt es noch AUsschneiden, das geht aber nach meinen Tests ja nicht mehr.
Das Kontextmenu eines TEdits ist quasi eingebaut, das wird von Windows erzeugt. Leider kann man das Menu nur komplett ersetzen, nicht einfach nur modifizieren um z. B. den "ausschneiden"-Punkt zu deaktivieren. Die Funktion ist aber einfach zu blockieren, da die Menueinträge nur Messages (in diesem Fall WM_CUT) an das Control schicken.

Ich habe halt nicht so viel Arbeit in den Kode investieren wollen (daher auch die Radikallösung für die klassischen Clipboard-Shortcuts), schließlich sind die French Open im Gange und da gibt es gute Spiele zu sehen
Peter Below
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.772 Beiträge
 
Delphi 12 Athens
 
#23

AW: VCL - spezielles Edit gesucht

  Alt 29. Mai 2019, 21:24
Das Kontextmenu eines TEdits ist quasi eingebaut, das wird von Windows erzeugt. Leider kann man das Menu nur komplett ersetzen, nicht einfach nur modifizieren um z. B. den "ausschneiden"-Punkt zu deaktivieren. Die Funktion ist aber einfach zu blockieren, da die Menueinträge nur Messages (in diesem Fall WM_CUT) an das Control schicken.

Ich habe halt nicht so viel Arbeit in den Kode investieren wollen (daher auch die Radikallösung für die klassischen Clipboard-Shortcuts), schließlich sind die French Open im Gange und da gibt es gute Spiele zu sehen
Ok, verstehe ich natürlich. Diem klassischen SHortcuts sollten glaube ich nicht zu schwierig nachzurüsten sein.
Blöder ist die Ausschneiden Geschichte. Wie bekommt man mit, dass jemand den Punkt ausgewählt hat? Dann könnte
man das nämlich als alternative in "Kopieren" ummünzen...

Dann täte sich da wenigstens was und da man ja im Dauer Überschreiben Modus ist, haben viele Benutzer ja
hoffentlich Verständnis dafür.

Was ich noch geändert habe ist, dass ein Einfügen eines Textes der länger ist als der Text von der aktuellen
Cursor Position bis zum Ende des Edit auch geht. Der wird halt abgeschnitten.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#24

AW: VCL - spezielles Edit gesucht

  Alt 29. Mai 2019, 21:36
Zitat:
Das Kontextmenu eines TEdits ist quasi eingebaut, das wird von Windows erzeugt. Leider kann man das Menu nur komplett ersetzen, nicht einfach nur modifizieren um z. B. den "ausschneiden"-Punkt zu deaktivieren.
Doch, das müsste gehen. Bei OnPopUp das Handle ses Menüs holen und dann mittels einen Windows Message den entsprechenden Menüeintrag deaktivieren oder ganz entfernen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.772 Beiträge
 
Delphi 12 Athens
 
#25

AW: VCL - spezielles Edit gesucht

  Alt 29. Mai 2019, 21:38
Zitat:
Das Kontextmenu eines TEdits ist quasi eingebaut, das wird von Windows erzeugt. Leider kann man das Menu nur komplett ersetzen, nicht einfach nur modifizieren um z. B. den "ausschneiden"-Punkt zu deaktivieren.
Doch, das müsste gehen. Bei OnPopUp das Handle ses Menüs holen und dann mittels einen Windows Message den entsprechenden Menüeintrag deaktivieren oder ganz entfernen.
Ein beispiel dafür wäre echt super! Dann wär's ein Stückchen perfekter...
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#26

AW: VCL - spezielles Edit gesucht

  Alt 29. Mai 2019, 23:44
Alternativ kannst du auch ein eigenes PopupMenu dran hängen in dem es bspw. nur Kopieren und Ausschneiden gibt. Das Menü ersetzt dann das Windows eigene Menü.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.772 Beiträge
 
Delphi 12 Athens
 
#27

AW: VCL - spezielles Edit gesucht

  Alt 30. Mai 2019, 00:44
Alternativ kannst du auch ein eigenes PopupMenu dran hängen in dem es bspw. nur Kopieren und Ausschneiden gibt. Das Menü ersetzt dann das Windows eigene Menü.
Hast du dafür mal ein Beispiel?
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#28

AW: VCL - spezielles Edit gesucht

  Alt 30. Mai 2019, 10:02
Zieh dir einfach ein neues TPopupMenu auf die Form und setz die PopupMenu Eigenschaft des TEdit auf das neue TPopupMenu. Im Designer (Doppelklick auf das TPopupMenu) kannst du dir dann die Schaltflächen einfach definieren und den Code hinterlegen der ausgeführt wird.

Dafür braucht es nun wirklich kein Beispiel. Zumal ich gerade am Smartphone schreibe
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
670 Beiträge
 
Delphi 11 Alexandria
 
#29

AW: VCL - spezielles Edit gesucht

  Alt 30. Mai 2019, 13:40
Zitat:
Das Kontextmenu eines TEdits ist quasi eingebaut, das wird von Windows erzeugt. Leider kann man das Menu nur komplett ersetzen, nicht einfach nur modifizieren um z. B. den "ausschneiden"-Punkt zu deaktivieren.
Doch, das müsste gehen. Bei OnPopUp das Handle ses Menüs holen und dann mittels einen Windows Message den entsprechenden Menüeintrag deaktivieren oder ganz entfernen.
Es geht schon, aber nicht so. Das Default-Menu eines Tedits ist kein Delphi TPopupMenu, und es ist alles andere als einfach, das Menuhandle zu bekommen. Das Control erzeugt das Menu, wenn es die WM_CONTEXTMENU-Meldung weitergereicht bekommt (die VCL macht das, wenn das Control kein PopupMenu zugewiesen bekommen hat). Danach bekommt die Anwendung aber die Kontrolle erst wieder zurück, wenn der Benutzer das Menu geschlossen hat. Man hat also keinen guten Interventionspunkt, um an das Menuhandle zu kommen und muss sich daher einiger übler Klimmzüge bedienen. Der Aufwand lohnt einfach nicht, das Menu zu ersetzen ist viel einfacher.
Peter Below
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
670 Beiträge
 
Delphi 11 Alexandria
 
#30

AW: VCL - spezielles Edit gesucht

  Alt 30. Mai 2019, 13:42
Das Kontextmenu eines TEdits ist quasi eingebaut, das wird von Windows erzeugt. Leider kann man das Menu nur komplett ersetzen, nicht einfach nur modifizieren um z. B. den "ausschneiden"-Punkt zu deaktivieren. Die Funktion ist aber einfach zu blockieren, da die Menueinträge nur Messages (in diesem Fall WM_CUT) an das Control schicken.

Ich habe halt nicht so viel Arbeit in den Kode investieren wollen (daher auch die Radikallösung für die klassischen Clipboard-Shortcuts), schließlich sind die French Open im Gange und da gibt es gute Spiele zu sehen
Ok, verstehe ich natürlich. Diem klassischen SHortcuts sollten glaube ich nicht zu schwierig nachzurüsten sein.
Blöder ist die Ausschneiden Geschichte. Wie bekommt man mit, dass jemand den Punkt ausgewählt hat?
Mach das im Message-Handler für wm_cut.
Peter Below
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz