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

改变对话框默认显示位置?

编辑:说三道四文库 发布时间:2018-05-28 09:54
HTML文档下载 WORD文档下载 PDF文档下载
创建了一个非模态对话框,总是显示在角上,我想把它显示在视图中央,该怎么办呢,各位帮帮忙,先谢谢了!
MoveWindow()或者CenterWindow()
能不能给我一个例子,我不会用MoveWindow
取父窗口的中心作为目标位置点,然后 SetWindowpos
MoveWindow()或者CenterWindow()
void MoveWindow( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE );

x:Specifies the new position of the left side of the CWnd.

y:Specifies the new position of the top of the CWnd.

nWidth:Specifies the new width of the CWnd.

nHeight:Specifies the new height of the CWnd
在对话框的OnInitDialog()中
居中对话框:CenterWindow();
或者放到任意位置:
MoveWindow( int x, int y, int nWidth, int nHeight, 
     BOOL bRepaint = TRUE );
x、y = 对话框的左上角坐标
CRect m_rect;
GetWindowRect(&m_rect);
nWidth = m_rect.Width();
nHeight = m_rect.Height();
CenterWindow 就最方便了
用MoveWindow居中的话你必须先用GetSystemMetric获取显示器的分辨率
再根据你的窗口大小来计算左上角坐标
MoveWindow(m_hWnd, left, top, width, height, SWP_NOSIZE|SWP_SHOWWINDOW);
在对话框的OnInitDialog()中
居中对话框:CenterWindow();
或者放到任意位置:
MoveWindow( int x, int y, int nWidth, int nHeight, 
     BOOL bRepaint = TRUE );
x、y = 对话框的左上角坐标
CRect m_rect;
GetWindowRect(&m_rect);
nWidth = m_rect.Width();
nHeight = m_rect.Height()
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘