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

时间:2022-07-23 10:49:37
CColorDialog      colordlg;
CRect        framerect;
GetWindowRect(&framerect);
colordlg.SetWindowPos(this,framerect.left+framerect.Width(),framerect.top,
0,0,SWP_NOSIZE|SWP_NOZORDER);
colordlg.DoModal();
我想改变模态对话框的起始显示位置,可以办到不?上面这样的方法在运行时会出现非法访问的报警,请求协助……

6 个解决方案

#1


在DoModal之前,传入位置,然后在OnInitDialog函数里MoveWindow

#2


DoModal之前,没生成窗口,当然会崩溃

#3


你需要派生CColorDialog类,自己在派生类的OnInitDialog中调用SetWindowPos/MoveWindow()来调整窗口的显示区域

#4


你是想改变颜色选择对话框的初始位置啊,自己从它派生一个,然后重载一下inindialog函数,在里面

设置你想要的位置。

#5


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

支持

#6


还有一种方法  就是在对话框资源属性对话框里可以设置   我想改变模态对话框的起始显示位置

#1


在DoModal之前,传入位置,然后在OnInitDialog函数里MoveWindow

#2


DoModal之前,没生成窗口,当然会崩溃

#3


你需要派生CColorDialog类,自己在派生类的OnInitDialog中调用SetWindowPos/MoveWindow()来调整窗口的显示区域

#4


你是想改变颜色选择对话框的初始位置啊,自己从它派生一个,然后重载一下inindialog函数,在里面

设置你想要的位置。

#5


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

支持

#6


还有一种方法  就是在对话框资源属性对话框里可以设置   我想改变模态对话框的起始显示位置