社区
界面
帖子详情
如何指定MessageBox框的弹出位置 急
tulongdaozhu
2005-01-03 10:39:39
在一个基于一机双屏的程序中,MessageBox弹出老在两个屏幕中间位置,操作很不方便。我的问题是,如何固定MessageBox的弹出位置,如固定在左屏中心?请高手指教。
...全文
4540
16
打赏
收藏
如何指定MessageBox框的弹出位置 急
在一个基于一机双屏的程序中,MessageBox弹出老在两个屏幕中间位置,操作很不方便。我的问题是,如何固定MessageBox的弹出位置,如固定在左屏中心?请高手指教。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
EnochShen
2005-01-14
打赏
举报
回复
我把关于MessageBox的一系列的操作整理了一下:
DWORD WINAPI ThreadProc(LPVOID pParam)
{
while(TRUE)
{
HWND hWnd = ::FindWindow(NULL,"消息框标题");
if(hWnd != NULL)
{
//更改消息框按钮文字
//按钮的 ID
//MB_OKCANCEL: ID_OK = 1,IDCANCEL = 2
//MB_ABORTRETRYIGNORE: IDABORT = 3,IDRETRY = 4,IDIGNORE = 5
//MB_YESNO: IDYES = 6,IDNO = 7
//MB_OK: IDOK = 2
//MB_RETRYCANCEL: IDRETRY = 4,IDCANCEL = 2
//MB_YESNOCANCEL: IDYES = 6,IDNO = 7,IDCANCEL = 2
::SetDlgItemText(hWnd,2,"点我!");
//更改消息框图标
//注意:在创建消息框的时候只要要包含MB_ICONHAND...这样的属性,否则会失败。
HICON hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
HWND hStatic = NULL;
hStatic = ::GetDlgItem(hWnd,20);
::SendMessage(hStatic, STM_SETICON, (WPARAM)hIcon, 0L);
//更改消息框位置
CRect rcMsgBox;
::GetWindowRect(hWnd,&rcMsgBox);
::MoveWindow(hWnd,150,150,rcMsgBox.Width(),rcMsgBox.Height(),TRUE);
return 0;
}
}
return 0;
}
void OnMessageBox()
{
CreateThread(NULL,0,ThreadProc,NULL,0,NULL);
::MessageBox(NULL,"消息框文字。","消息框标题",MB_ICONINFORMATION|MB_OK);
}
weifirst118
2005-01-04
打赏
举报
回复
就解决问题而言理应自己写一个对话框。
要是做学问呢,就不要自己写。
Kudeet
2005-01-04
打赏
举报
回复
如何改变程序中弹出窗口的位置?
答】
使用WM_CBT钩子,安装钩子后,弹出一个窗口就会发出HCBT_ACTIVATE消息,然后就可以用SetWindowPos这个API函数来改变位置,
详细信息参考:
http://support.microsoft.com/default.aspx?scid=kb;en-us;180936
red-fly
2005-01-04
打赏
举报
回复
自己写个对话框类,最好了,以后还可以修改成自己想要的效果
uoyevoli
2005-01-04
打赏
举报
回复
引用:
有那么麻烦吗?直接用api messagebox,指定父窗口,他的位置总是基于父窗口的
呵呵
amziwei
2005-01-04
打赏
举报
回复
直接用api messagebox,指定父窗口,他的位置总是基于父窗口的
同意
kugou123
2005-01-03
打赏
举报
回复
自己写一个弹出窗口,动态创建
bobob
2005-01-03
打赏
举报
回复
有那么麻烦吗?直接用api messagebox,指定父窗口,他的位置总是基于父窗口的
EnochShen
2005-01-03
打赏
举报
回复
如果还有不明白的,发短信给我,我给你QQ号
EnochShen
2005-01-03
打赏
举报
回复
代码如下:
UINT ThreadProc( LPVOID pParam )
{
while(TRUE)
{
HWND hWnd = ::FindWindow(NULL,"caption");
if(hWnd != NULL)
{
CRect rcMsgBox;
::GetWindowRect(hWnd,&rcMsgBox);
::MoveWindow(hWnd,0,0,rcMsgBox.Width(),rcMsgBox.Height(),TRUE);
//这里可以作其他操作,比如窗口位置最前
return 0;
}
}
return 0;
}
void CMainFrame::OnTest55() //SDK也可以,替换MFC函数就可以了
{
CMainFrame* pMainFrame = new CMainFrame;
AfxBeginThread(ThreadProc,NULL);
pMainFrame->MessageBox("text","caption");
}
HunterForPig
2005-01-03
打赏
举报
回复
自己写个对话框吧!
EnochShen
2005-01-03
打赏
举报
回复
呵呵,用无模式的MessageBox,然后MoveWindow
krosjean
2005-01-03
打赏
举报
回复
DIY
老夏Max
2005-01-03
打赏
举报
回复
自己写的MessageBox就可以控制它的位置了,让它处于系统的最上层,在OnPaint中添加:
SetWindowPos( &wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE );
在Dialogl类的OnInitDialog函数的最后添加处理代码,让其显示在屏幕的中间,如:
CRect rcWindow;
GetWindowRect(&rcWindow);
int xSize = ::GetSystemMetrics (SM_CXSCREEN);
int ySize = ::GetSystemMetrics (SM_CYSCREEN);
int Width = rcWindow.Width();
int Height = rcWindow.Height();
rcWindow.left = (xSize- Width)/2;
rcWindow.right = rcWindow.left + Width;
rcWindow.top = (ySize - Height)/2;
rcWindow.bottom = rcWindow.top + Height;
MoveWindow(&rcWindow);
老夏Max
2005-01-03
打赏
举报
回复
很难吧,好像以前有人问过没有解决!
最好能自己写一个类似MessageBox的类,很简单的,放置一些按钮,然后做一些处理,呵呵,花不了多少时间的,至于返回值你也可以使用原MessageBox的返回值。呵呵,如:IDOK等等。
oyljerry
2005-01-03
打赏
举报
回复
自己弹出一个对话框,然后设置位置
Python tkinter自定义消息窗口
messagebox
tkinter模块python图形编程中常用的库,最近想要用tk中的
messagebox
实现一些简单的功能。 首先,我们看到tkinter中
messagebox
对像的使用。 from tkinter import
messagebox
在pycharm中选中
messagebox
直接“ctrl+B"进入到
messagebox
文件,或者找到安装tkinter目录.\Lib\tkinter下的mess...
使用winform自己做一个消息
框
, 以取代系统提供的
MessageBox
摘要1.是什么导致我们需要提供一个自定义的消息
框
?2.说说我的大致思路3.你的亮点在哪里?4.难道就是这些吗?下载本文讲述的项目源码包是什么导致我们需要提供一个自定义的消息
框
?最初产生这样一个需求是源于项目经理的近乎白痴般的要求,有一天,他告诉我说那个
弹出
来的消息
框
太小了。我告诉他,这是系统自带的东西,大小随着给定文本内容的长度自动变化,他说不行,给弄大点,而且字体也太小,换个字体吧!我的天,难道
C++ WindowsAPI 教程:
MessageBox
函数详解(原创)
Hello大家好,我又回来了!今天,小编想要给大家带来的内容时C++API非常常用的函数之一——MesssageBox。 说到MB,相信大多数追求用户界面的,用过几年(不一定要)C++的,应该都会用(仅是作者本人猜测) 本文为EricNTH的原创博客,转载请注明出处! 好了,废话不多说,我们开始!
MessageBox
所在头文件:<windows.h>。在<bits/stdc+...
【原创】使用winform自己做一个消息
框
, 以取代系统提供的
MessageBox
摘要1.是什么导致我们需要提供一个自定义的消息
框
?2.说说我的大致思路3.你的亮点在哪里?4.难道就是这些吗?下载本文讲述的项目源码包是什么导致我们需要提供一个自定义的消息
框
?最初产生这样一个需求是源于项目经理的近乎白痴般的要求,有一天,他告诉我说那个
弹出
来的消息
框
太小了。我告诉他,这是系统自带的东西,大小随着给定文本内容的长度自动变化,他说不行,给弄大点,而且字体也太小,换个字体吧!我的...
关于sencha touch在华为、红米等部分手机下hide事件失效,msgbox无法关闭的解决方案(已更新最新解决方案)
(
急
着解决问题的同学可以直接跳最底部查看最终的解决方案) 问题描述 因为前段时间抢到了华为荣耀3c,所以做项目的时候就用荣耀3c测试了一下项目, 结果发现在华为的emotion ui上sencha touch的
messagebox
的弹窗,
弹出
后点击确认按钮时无法隐藏, 有的圆角
框
还有会缺边,不过不仔细看倒是不看得出来, 这是我的项目在手机上的截图, 当我点击确定按
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章