TShiftState Problem bei OnMouseDown

Rund um die LCL und andere Komponenten
Antworten
Olafr82110
Beiträge: 6
Registriert: Do 25. Okt 2012, 09:16

TShiftState Problem bei OnMouseDown

Beitrag von Olafr82110 »

Hi,
ich versuch hier in einem Projekt verschiedene Popup Menüs anzuzeigen, ja nachdem ob man beim Rechtsclick die Shift Taste gedrückt hält, oder nicht.
Nur schaff ichs ums Verrecken nicht den Shiftstate auszulesen. So langsam glaube ich, daß es da einen Bug gibt, denn wenn ich die Variable shift auslese steht da immer nur [SSCTRL..SSLEFT, SSMIDDLE], egal was ich drücke.
Bei OnKeyPress klappts alles.
Hab ich da nen Denkfehler, bin ich zu doof (möcht ich nicht ausschließen :wink: ) oder ists tatsächlich ein Bug?

Gruß,
Olaf

Benutzeravatar
theo
Beiträge: 10904
Registriert: Mo 11. Sep 2006, 19:01

Re: TShiftState Problem bei OnMouseDown

Beitrag von theo »

Das klappt hier mit Lazarus 1.1 r39110M FPC 2.7.1 x86_64-linux-gtk 2

Code: Alles auswählen

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if ssShift in Shift then Caption:='yes' else Caption:='no';
end;
 

Olafr82110
Beiträge: 6
Registriert: Do 25. Okt 2012, 09:16

Re: TShiftState Problem bei OnMouseDown

Beitrag von Olafr82110 »

Hmmm... erst mal danke für das Feedback.
Ich hab hier die 1.1 39122 32 bit unter Windows am laufen und bekomme immer den selben "shift-Inhalt" der allerdings nie etwas mit der Realität zu tun hat.

Es scheint allerdings an TTrayIcon zu liegen. Mach ich das ganze z.B. über ein Panel gehts. Verdammt. Irgend welche Ideen?

Antworten