Einzelnen Beitrag anzeigen

HPW

Registriert seit: 28. Feb 2003
160 Beiträge
 
Delphi 7 Professional
 
#10
  Alt 12. Mär 2003, 07:51
Nach der Duchsicht von Michael (Luckie) Puff's tutorial "Subclassing" mit dem Thema 'Die Standard-Fensterprozedur "umbiegen"' und der Übernahme einer Änderung läuft der Code jetzt auf allen Plattformen.

Danke Luckie!!


Delphi-Quellcode:
var
  OrgWndProc: function(hwnd: HWND; Msg: Word; wParam: WPARAM; lParam: LPARAM): Integer; stdcall;

function MyWndProc(hwnd: HWND; Msg: Word; wParam: WPARAM; lParam: LPARAM): Integer; stdcall;
begin
  if Msg = WM_COMMAND then
  begin
    // Auswerten
  end;
if Assigned(OrgWndProc) then
//Hier geändert zu CallWindowProc!
  Result := CallWindowProc(@OrgWndProc, hwnd, Msg, wParam, lParam)
else
  Result := DefWindowProc(hwnd, Msg, wParam, lParam);


procedure HookWndProc(hwnd: HWND);
begin
  @OrgWndProc := Pointer(GetWindowLong(hwnd, GWL_WNDPROC));
  SetWindowLong(hwnd, GWL_WNDPROC, @MyWndProc);
end;

procedure UnHookWndProc(hwnd: HWND);
begin
  SetWindowLong(hwnd, GWL_WNDPROC, @OrgWndProc);
end;
Hans-Peter
  Mit Zitat antworten Zitat