MFC如何设置afxmessagebox出现的位置
答案:3 悬赏:50 手机版
解决时间 2021-03-13 05:54
- 提问者网友:最美的风景
- 2021-03-12 12:09
MFC如何设置afxmessagebox出现的位置
最佳答案
- 五星知识达人网友:轻雾山林
- 2021-03-12 13:02
AfxMessageBox是无法控制出现位置的,这是一个封装的快速提示。
需要一个指定位置或者指定样式、大小的提示框,自己做一个Dialog就好了,这样你可以通过参数控制,在OnInitDialog里面通过MoveWindow控制对话框位置。
需要一个指定位置或者指定样式、大小的提示框,自己做一个Dialog就好了,这样你可以通过参数控制,在OnInitDialog里面通过MoveWindow控制对话框位置。
全部回答
- 1楼网友:枭雄戏美人
- 2021-03-12 14:06
嗯... ,
afxmessagebox 默认是不支持自定义位置和大小的, api 的 ::messagebox 也不支持.
要能调整位置, 最直接的是..自己做一个 messagebox , 要用的时候 domodal
如果一定要用 afxmessagebox ,可以这样:
先自定义一个消息映射
#define wm_msgbox_move (wm_user + 100)
begin_message_map(your dialog)
....
on_message(wm_msgbox_move , onmsgboxmove)
end_message_map()
void cxxxxdlg::onmsgboxmove()
{
hwnd hwnd = ::getforegroundwindow(); // 得到 messagebox
crect rect;
::getwindowrect(hwnd, &rect);
::movewindow(hwnd, 100, 100, rect.width(), rect.height(), true); // 这里是移动到 100,100
}
在需要显示 的地方这么用
postmessage(wm_msgbox_move );
afxmessagebox("test");
- 2楼网友:傲气稳了全场
- 2021-03-12 13:14
提示内容位置不好控制,可以加通过加空格和回车换行符来控制,但是比较麻烦。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯