CRect rect1,rect2;
GetClientRect(&rect1);
m_edit.GetClientRect(&rect2);
m_edit.SetWindowPos(NULL,(rect1.Width()-rect2.Width())/2,(rect1.Height()-rect2.Height())/2,0,0,SWP_NOSIZE);
这段代码,我放在正常的对话框窗口类(继承自CDialog)的OnInitDialog里面可以达到我想要的效果,
但是放在一个CDialogBar中的OnInitDialog里面就没有效果,Dialogbar上的控件没有任何改变,不知道为什么,请赐教!
我的dialogbar是在多文档的视图中创建的。
我现在临时用的MoveWindow(),但我想知道为什么SetWindowPos在这种情况下不好使!
GetClientRect(&rect1);
m_edit.GetClientRect(&rect2);
m_edit.SetWindowPos(NULL,(rect1.Width()-rect2.Width())/2,(rect1.Height()-rect2.Height())/2,0,0,SWP_NOSIZE);
这段代码,我放在正常的对话框窗口类(继承自CDialog)的OnInitDialog里面可以达到我想要的效果,
但是放在一个CDialogBar中的OnInitDialog里面就没有效果,Dialogbar上的控件没有任何改变,不知道为什么,请赐教!
我的dialogbar是在多文档的视图中创建的。
我现在临时用的MoveWindow(),但我想知道为什么SetWindowPos在这种情况下不好使!
只有在Dialog窗体中才有效。你可以试着改变一下窗体的属性试一下。DS_MODALFRAME有这个属性时,SetWindowPos()就好用。