主窗口showModa了A窗口,A窗口showModa了B窗口,B窗口showModa了C窗口,C窗口showModa了D窗口

morninggood 2009-02-25 06:45:55
主窗口showModa了A窗口,A窗口showModa了B窗口,B窗口showModa了C窗口,C窗口showModa了D窗口
其中C和D设置了fsOnStayup,
现在出了个问题,D窗口中,showMessage跑到D窗口的后面去了,看不到了
...全文
216 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
morninggood 2009-03-10
  • 打赏
  • 举报
回复
Form8.showModal,这个Form8.showModal,是否有办法传窗口句柄呢?
现在Form7设置为nomal,fsStayOnTop,Form8.showModal后,这个Form8跑后面去了。是否有一个像MessegeBox那样的窗口句柄参数呢?这样就可以不跑后面去了
lingyin55 2009-02-26
  • 打赏
  • 举报
回复
up

[Quote=引用 1 楼 bdmh 的回复:]
用MessageBox,他的第一个参数,是窗口句柄,设置成窗口D的句柄就可以了
[/Quote]
hmzgz81 2009-02-26
  • 打赏
  • 举报
回复
楼主的产品好复杂啊
kampan 2009-02-25
  • 打赏
  • 举报
回复
别用ShowMessage,换成MessageBox,显示还好看!
如:MessageBox(HANDLE, '显示D信息!', '信息提示', MB_ICONINFORMATION + MB_OK);
bdmh 2009-02-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
用MessageBox,他的第一个参数,是窗口句柄,设置成窗口D的句柄就可以了
[/Quote]

用windows单元的MessageBox,原型如下
int MessageBox(

HWND hWnd, // handle of owner window
LPCTSTR lpText, // address of text in message box
LPCTSTR lpCaption, // address of title of message box
UINT uType // style of message box
);

hWnd:所属窗体句柄
bdmh 2009-02-25
  • 打赏
  • 举报
回复
用MessageBox,他的第一个参数,是窗口句柄,设置成窗口D的句柄就可以了
HsWong 2009-02-25
  • 打赏
  • 举报
回复
MessageBox(Handle, '提示信息', '标题', $40);
7年 2009-02-25
  • 打赏
  • 举报
回复
学习。
yct0605 2009-02-25
  • 打赏
  • 举报
回复
建议用MessageBox(HANDLE, '信息!', '提示', MB_ICONINFORMATION + MB_OK);可以直接使用句柄!
bdmh 2009-02-25
  • 打赏
  • 举报
回复
把所有窗体都设置成normal的,不要fsStayOnTop,然后提示框用MessageBox
火龙岛主 2009-02-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 morninggood 的回复:]
谢谢,我研究一下。那Application.MessageBox,为什么没有handle参数呢?
[/Quote]
他是有handle的,只不过指定了Application,因此也就指定了Handle
看看源码你就知道怎么回事了。
morninggood 2009-02-25
  • 打赏
  • 举报
回复
而且D窗口如果showmodal一个没有设置成fsStayOnTop的窗口,这个窗口也跑后面去了
morninggood 2009-02-25
  • 打赏
  • 举报
回复
谢谢,我研究一下。那Application.MessageBox,为什么没有handle参数呢?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧