12. oktober 2008 - 17:07Der er
4 kommentarer og 1 løsning
Form.Handle ved Active Forms
Hej
Jeg har en Active Form, hvor jeg hva. RegisterHotKeys disabler Print Screen-funktion, så længe ActiveX objektet er loadet.
Imidlertid vil jeg gerne kunne reagere på, når brugeren trykker knappen ned. Dette gøres jo normalt med TForm1.WMHotKey(var Msg: TWMHotKey); men for at dette virker skal formens handle anvendes:
Alternativt kan du lave et skjult vindue, har jeg i hvert fald brugt ved datamoduler, men kan godt se at activex formen burde have et handle.
program Project1;
uses windows, messages;
var WndCls : wndclass; MsgWnd : cardinal; msg : tagMsg;
function WndProc(wnd, msg : cardinal; wParam, lParam : integer) : integer; stdcall; begin // here you can process messages result := DefWindowProc(wnd, msg, wParam, lParam); end;
begin ZeroMemory(@WndCls, sizeof(WndCls)); WndCls.lpfnWndProc := @WndProc; WndCls.hInstance := hInstance; WndCls.lpszClassName := 'msg wnd'; RegisterClass(WndCls); MsgWnd := CreateWindowEx(0, WndCls.lpszClassName, nil, 0, 0, 0, 0, 0, 0, 0, hInstance, nil); // MsgWnd now can be used as handle to message window while GetMessage(msg, 0, 0, 0) do DispatchMessage(msg); DestroyWindow(MsgWnd); UnregisterClass(WndCls.lpszClassName, hInstance); end.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.