如何将MessageBox弹出的对话框居中于当前窗体位置?(100分)

  • 主题发起人 主题发起人 叮叮当当
  • 开始时间 开始时间
给你一个提示,说穿了并不难:<br>1) 自定义一个函数,参数可以与MessageBox的参数一样,甚至可以更简单。<br>&nbsp; &nbsp;该函数完成以下两个工作:<br>&nbsp; &nbsp;1&gt; 向主窗体发送一个自定义消息;<br>&nbsp; &nbsp;2&gt; 调用MessageBox显示对话框,这里对话框的标题可以统一使用一个特定的字符串,<br>&nbsp; &nbsp; &nbsp; 比如是Application的名字;<br><br>2) 再主窗体截获该自定义消息,并完成一下工作:<br>&nbsp; &nbsp;1&gt; 用FindWindow(MAKEINTRESOURCE(WC_DIALOG), '特定字符串')获取对话框的句柄;<br>&nbsp; &nbsp;2&gt; 用GetWindowRect取得对话框的大小,并根据主窗体的位置和大小计算对话框新位<br>&nbsp; &nbsp; &nbsp; 置;<br>&nbsp; &nbsp;3&gt; 调用SetWindowPos更改对话框的位置。<br><br>到此,一切搞定!不用耽心对话框会出现闪烁,不会!<br>实现效果见《藏书架》软件:<br>&nbsp; &nbsp;http://bookshelf.neweratdt.com<br><br><br>
 
再踢踢,我想是不是能在MessageBox窗体出现的时候通过程序用SetWindowPos设置它的位置?
 
谢谢kthy!你的方案可行![:)]
 
后退
顶部