Avatar billede hr__hallandsen Nybegynder
12. oktober 2008 - 17:07 Der 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:

RegisterHotKey (Handle, idHOT_SNAPWINDOW, 0, VK_SNAPSHOT);

Form1.Handle er imidlertid af en eller anden grund ikke tilgængelig, når man arbejder med ActiveX. Er der nogen der ved, hvordan man løser dette?

/Hallandsen
Avatar billede hr__hallandsen Nybegynder
12. oktober 2008 - 17:08 #1
Hov, den hedder RegisterHotKey
Avatar billede hr__hallandsen Nybegynder
12. oktober 2008 - 17:08 #2
Og hva = vha :)
Avatar billede dkn Nybegynder
12. oktober 2008 - 21:23 #3
med på en lytter.

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.
Avatar billede hr__hallandsen Nybegynder
12. oktober 2008 - 21:33 #4
Åbenbart har Form1 slet ingen properties. Hverken Caption, Color, ...
Avatar billede hr__hallandsen Nybegynder
01. december 2008 - 19:59 #5
Lukker ...
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester