| Autor |
Nachricht |
Pferdenarr
Hält's aus hier
Beiträge: 11
|
Verfasst: Mi 25.01.12 15:29
Verwendete VCL: VCL Win32
Hi,
ich möchte allen Komponenten (TButton, TLabel, TTabSheet, ...) bei denen die Tag Eigenschaft <> 0 ist ein Maus Rechtsklick Event zuweisen.
Mein Ansatz wäre bis jetzt der folgende:
Wie kann ich das bewerkstelligen ?
Moderiert von Narses: Code- durch Delphi-Tags ersetzt
|
| |
|
|
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
|
|
zuma
      
Beiträge: 630
Erhaltene Danke: 11
D7 Enterprise, Delphi XE, Interbase (5 - XE)
|
Verfasst: Mi 25.01.12 15:35
na, in dem du das onMouseDownEvent anhängst ?
zuma
_________________ Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)
Warum sich Sorgen ums Leben machen? Keiner überlebts!
|
| |
|
|
Pferdenarr 
Hält's aus hier
Beiträge: 11
|
Verfasst: Mi 25.01.12 15:40
'TComponent' enthält kein Element namens 'onMouseDown'
[DCC Fehler] Unit1.pas(56): E2003 Undeklarierter Bezeichner: 'onMouseDown'
|
| |
|
|
jaenicke
      
Beiträge: 15841
Erhaltene Danke: 741
XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
|
Verfasst: Mi 25.01.12 16:02
Wenn du einmal nachgeschaut hättest wo OnMouseDown denn deklariert ist, hättest du gesehen, dass es AFAIK in TControl deklariert ist. Du musst also schauen, ob du ein TControl vor dir hast (xy is TControl) und es im Erfolgsfall auf TControl casten (TControl(xy).OnMouseDown := ...).
Nebenbei kannst du auch ControlCount und Controls benutzen, dann kannst du dir das alles sparen inkl. der verschachtelten Schleife.
|
| |
|
|
Andreas L.
       
Beiträge: 1671
Erhaltene Danke: 14
Windows Vista Home Premium 32Bit
RAD Studio 2009 Pro
|
Verfasst: Mi 25.01.12 16:13
Eventuell sind noch nicht alle Komponenten erzeugt worden wenn das FormCreate-Ereignis aufgerufen wird. Ich würde den Code in Loaded ausführen:
|
| |
|
|
jaenicke
      
Beiträge: 15841
Erhaltene Danke: 741
XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
|
Verfasst: Mi 25.01.12 16:40
Loaded wird vor OnCreate ausgeführt.
Das würde auch anders keinen Sinn machen, da Loaded ausgeführt wird, wenn alle Komponenten geladen sind und OnCreate, wenn das Formular fertig erzeugt und initialisiert ist.
|
| |
|
|
Pferdenarr 
Hält's aus hier
Beiträge: 11
|
Verfasst: Mi 25.01.12 16:45
Fehlermeldung: "[DCC Fehler] Unit1.pas(46): E2362 Auf protected-Symbol TControl.OnMouseDown kann nicht zugegriffen werden"
|
| |
|
|
jaenicke
      
Beiträge: 15841
Erhaltene Danke: 741
XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
|
Verfasst: Mi 25.01.12 17:33
Ok, dann ist es da noch nicht veröffentlicht. Da musst du halt mal schauen ab wann es da ist. Das kann auch bei unterschiedlichen Komponenten unterschiedlich sein.
|
| |
|
|
Pferdenarr 
Hält's aus hier
Beiträge: 11
|
Verfasst: Do 26.01.12 09:47
|
| |
|
|