在小程序中有二个form,启动时在托盘上加个图标,单击(右击)显示form2,左击弹出菜单,有一项是'打开',同样是显示form2----(form2.show);1.为什么右击时显示的form2是'标题灰显'--没有得到焦点,而点弹出菜单的'打开'显示的form2确有焦点?2.如果让form2显示在前边---用
setwindowpos(form2.Handle,HWND_TOPmost,Self.Left ,Self.Top,Self.Width,Self.Height,SWP_SHOWWINDOW);
或重载:
procedure tform2.CreateParams(var Params:TCreateParams);
begin
inherited;
With Params do
begin
wndParent:=GetDesktopwindow;
ExStyle:=ExStyle or WS_EX_TOPMOST;
end;
end;
问题来了,在form2上点一按钮,出一个信息提示(showmessage('sfsdfs');)
这时form2不响应任何操作,但如果不让此form2显示在最上边,就没有这个问题,为什么啊?请帮忙看看,谢!
setwindowpos(form2.Handle,HWND_TOPmost,Self.Left ,Self.Top,Self.Width,Self.Height,SWP_SHOWWINDOW);
或重载:
procedure tform2.CreateParams(var Params:TCreateParams);
begin
inherited;
With Params do
begin
wndParent:=GetDesktopwindow;
ExStyle:=ExStyle or WS_EX_TOPMOST;
end;
end;
问题来了,在form2上点一按钮,出一个信息提示(showmessage('sfsdfs');)
这时form2不响应任何操作,但如果不让此form2显示在最上边,就没有这个问题,为什么啊?请帮忙看看,谢!
showwindow(form2.handle,SW_SHOWNORMAL)
试试
bringWindowsToTop(Form2.handle);