我设计了一个主窗体,主窗体里放置一个Panel控件,Panel控件加载了三个窗体代码
窗体一
if not Assigned(FMMian) then
begin
Application.CreateForm(TFMMian,FMMian);
FMMian.Parent:=sPmin;
FMMian.WindowState:=wsMaximized;
FMMian.BorderStyle:=bsNone;
FMMian.Show;
end else
begin
FMMian.BringToFront;
end;
窗体二
if not Assigned(FMDC) then
begin
Application.CreateForm(TFMDC,FMDC);
FMDC.Parent:=sPmin;
FMDC.WindowState:=wsMaximized;
FMDC.BorderStyle:=bsNone;
FMDC.show;
end else
begin
FMDC.BringToFront;
end;
问题:当窗体一BringToFront时按下键盘响应FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);时,程序先响应窗体二的FormKeyUp事件,再到窗体一FormKeyUp
请教:
如何在窗体BringToFront时键盘响应事件只针对本窗体!
窗体一
if not Assigned(FMMian) then
begin
Application.CreateForm(TFMMian,FMMian);
FMMian.Parent:=sPmin;
FMMian.WindowState:=wsMaximized;
FMMian.BorderStyle:=bsNone;
FMMian.Show;
end else
begin
FMMian.BringToFront;
end;
窗体二
if not Assigned(FMDC) then
begin
Application.CreateForm(TFMDC,FMDC);
FMDC.Parent:=sPmin;
FMDC.WindowState:=wsMaximized;
FMDC.BorderStyle:=bsNone;
FMDC.show;
end else
begin
FMDC.BringToFront;
end;
问题:当窗体一BringToFront时按下键盘响应FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);时,程序先响应窗体二的FormKeyUp事件,再到窗体一FormKeyUp
请教:
如何在窗体BringToFront时键盘响应事件只针对本窗体!
后添加
SetForegroundWindow(FMDC.Handle);