说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

我想改变模态对话框的起始显示位置

编辑:说三道四文库 发布时间:2018-05-23 02:03
HTML文档下载 WORD文档下载 PDF文档下载
CColorDialog      colordlg;
CRect        framerect;
GetWindowRect(&framerect);
colordlg.SetWindowPos(this,framerect.left+framerect.Width(),framerect.top,
0,0,SWP_NOSIZE|SWP_NOZORDER);
colordlg.DoModal();
我想改变模态对话框的起始显示位置,可以办到不?上面这样的方法在运行时会出现非法访问的报警,请求协助……
在DoModal之前,传入位置,然后在OnInitDialog函数里MoveWindow
DoModal之前,没生成窗口,当然会崩溃
你需要派生CColorDialog类,自己在派生类的OnInitDialog中调用SetWindowPos/MoveWindow()来调整窗口的显示区域
你是想改变颜色选择对话框的初始位置啊,自己从它派生一个,然后重载一下inindialog函数,在里面

设置你想要的位置。
引用 3 楼 visualeleven 的回复:
你需要派生CColorDialog类,自己在派生类的OnInitDialog中调用SetWindowPos/MoveWindow()来调整窗口的显示区域

支持
还有一种方法  就是在对话框资源属性对话框里可以设置  
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘