MainForm(MDIForm)调用DLL中的子窗体childForm,然后子窗体中ShowModal出来一个窗口。这个时候,如果我把切换(Alt+Table)到其他程序里面,再单击任务栏中的MainForm图标,程序不能被打开,图标抖两下。
另外,我的MainForm和ChildForm工程都选中了“build with runtime packages”
另外,我的MainForm和ChildForm工程都选中了“build with runtime packages”
解决方案 »
- 实现点击button1后,每隔10秒钟自动按键H,再点击button1,停止,不知道问题出在哪里
- 请教一Treeview建树的速度问题
- 实现系统中多个目录下文件同时显示!
- 超难 用变量值生成,对象!!!
- 关于数据的更新!高手请进!
- 循环问题(在线等待)解决马上送分
- 如何获得MIS的开发经验?
- delphi6的几个小问题,望各位指点....
- 三层结构中,使用TClientDataSet.insert插入一条纪录,怎么取得的@@identity的值都是0 ?????
- 大富翁教育网的网址是什么?
- pAnsiChar和String 类型之间如何相互转换?
- 请问谁知道WM_USER+4和WM_USER+47413在Delphi中被定义成什么消息,是由什么事件激发的?
ModalForm := TModalForm .CraeteParent(Application.MainForm.Handle);
下面是我的解决方法,但是有问题:
在MainForm上面放一个ApplicationEvents控件,在OnMessage事件中截取消息,设断点跟踪知道任务栏图标单击的消息值是49341,但是这个值不是一定,我把机器重起它就变成了49340。我的机器是win2000 advance server,我想在其他版本的Windows里面可能它的值也不相同。但我觉得应该有一个Windows定义的消息宏吧,但不知道是那个,望各位大侠帮帮我,很着急!
procedure TFMain2.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if msg.message = 49341 then
begin
if not Assigned(FLogin) then
begin
Screen.ActiveForm.Show;
Inherited
end;
end;
end;
用宏也可以,不过想过。。
ApplicationEvents1
在其 OnDeactivate 中處理
procedure TFormLogin.AppEventsConsoleDeactivate(Sender: TObject);
begin
Windows.SetActiveWindow(Application.Handle);
end;
這樣就能解決問題了!
我可以把示例程序发给大家,谁能帮我解决,给我留给EMAIL
谢谢