Hej
Jeg har lavet en program i D5 Ent. hvor jeg på mainform har lavet en procedure som denne:
procedure TfrmMain.MyOnMssage(var Msg: TMsg; var Handled: Boolean);
var
LCtrl,LAlt,LShift : ShortINt;
LShiftState : TShiftState;
begin
if (Msg.message=WM_KEYDOWN) then
begin
// Nulstilller Lokal ShiftState
LShiftState := [];
//Ser om Control, Alt eller Shift er trykket ned.
LCtrl := GetKeyState(vk_Control);
LAlt := GetKeyState(vk_Menu);
LShift:= GetKeyState(vk_Shift);
//Opbygger Lokal ShiftState
If (LCtrl=-128) or (LCtrl=-127) Then
LShiftState := LShiftState + [ssCtrl];
If (LAlt=-128) or (LAlt=-127) Then
LShiftState := LShiftState + [ssAlt];
If (LShift=-128) or (LShift=-127) Then
LShiftState := LShiftState + [ssShift];
// Ser om selve tasten er shortcut tast
if (Msg.wParam=LommeregnerHotKey) then
begin
// Ser om de respektive knapper er nede
if (LShiftState=LommeRegnerShiftState) then
begin
Handled:=true;
Lommeregner.Execute;
end;
end
else if (ssCTRL in LShiftState) and (ssAlt in LShiftState) and (Msg.wParam=vk_F5) then
begin
if (PrintDialog1.Execute) then
begin
HER VIL JEG RIGTIG GERNE VIDE, HVILKEN FORM, DER RENT FAKTISK ER AKTIV....
end;
end;
end;
end;
Jeg vil rigtig gerne vide, hvilken form der er aktiv når jeg kommer dertil !
Lige nu, har jeg brug for det, så jeg kan udskrive det aktuelle vindue !
Michael
--
Best Regards / Venlig hilsen
Michael Vilhelmsen
This is an automatic signature of MesNews.
Site :
http://mesnews.no-ip.com