Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.021 Beiträge
 
Delphi 12 Athens
 
#6

AW: Klassenmethode in einem Event aufrufen.

  Alt 14. Okt 2022, 12:45
Na ja, mit SetWindowLongPtr(Result, 0, NativeInt(Self)) speicherst du die Instanz im Windows-Handle. Dann kannst du sie auch über GetWindowLongPtr(fWnd, 0) wieder herausholen:
Delphi-Quellcode:
function MsgWndProc(fWnd: HWND; fMsg: UINT; fWParam: WPARAM; fLParam: LPARAM): LRESULT; stdcall;
begin
  Result := 0;
  if (fWParam = kzHotkeyID) then
  begin
    MessageBox(0, 'Hotkey', 'Hotkey', MB_OK); // nur um zu sehen ob ich im Hotkey bin
    TkzScreenShot(GetWindowLongPtr(fWnd, 0)).Shot;
    Result := 1;
  end
  else
    Result := DefWindowProc(fWnd, fMsg, fWParam, fLParam);
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat