Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Key's funktionieren nicht

  Alt 6. Apr 2018, 10:14
Bei WM_LBUTTONDOWN setze ich den Focus auf den Container wo sich meine Sprites befinden.
Dieses wird dann identifiziert und ich setzte die FocusID.

SprCon.gSetObjectFocusID(SprCon.CurOverObject, 1); Wenn die Callback registriert ist feuere ich das Event.
Delphi-Quellcode:
        If Assigned(SprCon.g_Prop[gP].CallBack) then
        begin
          if SprCon.g_Prop[gP].CallBack(WinHandle, Msg, wP, lP) <> 0 then
          begin
            Result := 0;
            exit;
          end;
        end;
WM_KEYDOWN, UP tut nichts anderes als die Message über die Callback weiterzuleiten.
Warum soll die zu spät kommen?
VK_UP, VK_DOWN, VK_LEFT, VK_RIGHT haben keine Auswirkung, alle VK_NUMPADxxx funktionieren hingegen.

Delphi-Quellcode:
    WM_KEYDOWN, WM_KEYUP:
      begin
        If Assigned(SprCon.g_Prop[gP].CallBack) then
        begin
          if SprCon.g_Prop[gP].CallBack(WinHandle, Msg, wP, lP) <> 0 then
          begin
            Result := 0;
            exit;
          end;
        end;
      end;
Zitat:
Wie Du das bei Non-VCL hin bekommst, weiß ich nicht, aber ich vermute wohl über KeyboardHook.
Habe in noch keiner Anwendung wegen dieser Keys einen Hook setzen müssen weder unter OpenGL noch mit WIn32API mitteln

gruss

Geändert von EWeiss ( 6. Apr 2018 um 11:37 Uhr)
  Mit Zitat antworten Zitat