Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Welche Maustaste OnClick? (https://www.delphipraxis.net/46988-welche-maustaste-onclick.html)

Benedikt1983 4. Jun 2005 13:58


Welche Maustaste OnClick?
 
Hallo!

Eine Frage bezüglich einer Listview:
Kann man in einer OnClick-Ereignisbehandlungsroutine die Maustaste mit der geklickt wurde rausfinden?
Wenn ja, wie?

Vielen Dank
Benne

Christian Seehase 4. Jun 2005 14:07

Re: Welche Maustaste OnClick?
 
Moin Benne,

wenn das OnClick durch eine Maustaste ausgelöst wurde, dann durch die Linke.

100nF 4. Jun 2005 14:16

Re: Welche Maustaste OnClick?
 
hi,

du müsstest das ereignis onmouseup nehmen.
wie du es rausbekommst welche tasta es war, weiss nich nicht...


gruss
urbanbruhin

SirThornberry 4. Jun 2005 14:17

Re: Welche Maustaste OnClick?
 
Das OnClick wird immer durch die StandardMaustaste ausgelöst. Wenn in der Systemsteuerung die Maustasten vertauscht werden dann wird das onClick durch die andere Maustaste augelöst. Im Programm ist dies immer die Linke da Windows die Maustasten bereits umtauscht wenn dies eingestellt ist.

100nF 4. Jun 2005 14:25

Re: Welche Maustaste OnClick?
 
hi, ich bins nochmal


erst mal ein juhuiii!!, 200ter Beitrag!!

und dann zum thema:
mit
Delphi-Quellcode:
procedure TForm1.ListView1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   if button = mbright then
   showmessage('rechts')
   else
   showmessage('links')
end;
müsste es gehen

gruss
urbanbruhin

Benedikt1983 4. Jun 2005 15:24

Re: Welche Maustaste OnClick?
 
Vielen Dank!
Benne

malo 4. Jun 2005 15:32

Re: Welche Maustaste OnClick?
 
Kleiner Fehler im Code: Der else-Zweig wird bei JEDER anderen Maustaste ausgelöst. Also auch bei der mittleren oder bei einer anderen Maustaste (manche Mäuse haben ja auch an den Seiten Tasten). Also lieber so:

Delphi-Quellcode:
procedure TForm1.ListView1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   if button = mbright then
   showmessage('rechts')
   else if button = mbleft then
   showmessage('links')
end;

100nF 4. Jun 2005 15:45

Re: Welche Maustaste OnClick?
 
Zitat:

Kleiner Fehler im Code: Der else-Zweig wird bei JEDER anderen Maustaste ausgelöst. Also auch bei der mittleren oder bei einer anderen Maustaste (manche Mäuse haben ja auch an den Seiten Tasten). Also lieber so:
stimmt, habe ich vergessen :mrgreen:

Yheeky 4. Jun 2005 16:26

Re: Welche Maustaste OnClick?
 
Warum das "else"? Geht auch ohne...

malo 4. Jun 2005 17:34

Re: Welche Maustaste OnClick?
 
Zitat:

Zitat von Yheeky
Warum das "else"? Geht auch ohne...

In diesem Fall unnötig, stimmt. Aber es kann manchmal sein, dass bei solchen Abfragen beide Fälle gleichzeitig auftreten. Damit nicht mehrere Routingen ausgeführt werden, lass ich das else häufig einfach drin. Man sollte evtl. nur überdenken, welche von den Routinen dann höhere Priorätit hat (wenn beide Fälle auftreten, was wichtiger ist auszuführen).

Ist auch ein wenig eine Frage des Programmierstils ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:12 Uhr.
Seite 1 von 2  1 2      

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