Registriert seit: 28. Feb 2003
160 Beiträge
Delphi 7 Professional
|
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
|
|
Zitat
|