Registriert seit: 29. Mai 2002
37.621 Beiträge
Delphi 2006 Professional
|
Re: nonVCL (Edit Control) ESC-Notification an Parent
18. Mär 2007, 22:25
Da hilft nur Subclassen und auf WM_KEYDOWN usw. zu reagieren. Ich habe mal ein Edit gesubclassed (wattn deutsch ), damit man dort nur Ziffern eingeben konnte:
WndProc des Edits:
Delphi-Quellcode:
function EditWndProc(hEdit, uMsg, wParam, lParam: DWORD): DWORD; stdcall;
begin
Result := 0;
case uMsg of
WM_CHAR:
case Byte(wParam) of
Byte('0')..Byte('9'),
Byte(','), VK_DELETE,
VK_BACK:
CallWindowProc(OldWndProc, hEdit, uMsg, wParam, lParam);
end;
else
Result := CallWindowProc(OldWndProc, hEdit, uMsg, wParam, lParam);
end;
end;
WndProc für das Edit umbiegen:
OldWndProc := Pointer(SetWindowLong(GetDlgItem(hWnd, 103), GWL_WNDPROC, Integer(@EditWndProc)));
Michael Ein Teil meines Codes würde euch verunsichern.
|
|
Zitat
|