Welche Maustaste ist Standard?


ComFreek

Mod | @comfreek
Moderator
#1
Hallo an alle,

ich will auf das klicken eines TShape-Objekts reagieren. Aber es gibt kein onClick, stattdessen onMouseDown. Gut, aber woher weiß ich welche Maustaste die Standard-Maustaste ist bzw. ist die Maus für Links- oder Rechtshänder eingestellt?

Gibt es da eine WinAPI-Funktion oder so?

Danke im Vorraus !!



mfg

ComFreek
 
#2
Code:
Shape1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
enum TMouseButton {
mbLeft,
mbRight,
mbMiddle
};

Standardbutton?
Über den Parameter 'Button' erfährst du welche Taste den Event ausgelöst hat.

grüssle :)
 

ComFreek

Mod | @comfreek
Moderator
#3
Hallo GillBates,

das weiß ich, aber ich will rausbekommen, ob der Computerbenutzer links- oder rechtshänder ist. Bzw. welche die Sekundär- und Primärtasten sind.

Trotzdem danke

mfg
ComFreek
 
#4
AAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHSSSSSSSSSSSSSOOOOOOOOOO :)

dann schau mal, ob
Code:
GetSystemMetrics :SM_SWAPBUTTON
das richtige für dich ist.

>0 = wenn Maustasten vertauscht. Bedeutet i. d. R., dass bei vertauscht ein Linkshänder dransitzt.
Wenns das nicht ist, reihe ich mich bei den fragenden ein ;)

p.s. das mit dem TShape war etwas irritierend :O


grüssle :)
 

ComFreek

Mod | @comfreek
Moderator
#5
Meinst du so:
Code:
...
if (GetSystemMetrics(SM_SWAPBUTTON)>0)
{
  // Benutzer ist ein linkshänder
}
else
{
  // Benutzer ist rechtshänder
}
...
Eigentlich könnte ich auch eine "neue" Komponente machen, die TShape erbt und OnClick vom Vorfahren von TShape verwendet.

Vielen Dank Gill Bates