如何使动态弹出的非模式对话框的界面不被底层下层对话框中的控件(例如按钮,静态文字)重绘在它上面
由于呢个对话框资源在用之前 在属性对话页面已经设置了 Border属性为None. Style属性为Child
因为我是把这种对话框放到我的CTab页面中
现在,我又有其他需要重新Create一个这样的对话框用做其他用途显示.
所以我在主对话框的一个按钮里这样做了:
void CMYmainDlg::::Onbutton1()
{
bool static bcreate=true; //只新建一个
static CSheetPage page1; //CSheetPage为用这对话框生成的类
page1.pagename=strTemp; //一个成员变量而已
if (bcreate )
{
page1.Create(CSheetPage::IDD,NULL);//在这里我用了this,GetParent(),NULL效果都一样
page1.ModifyStyle(WS_CHILD,WS_POPUP|WS_BORDER|WS_VISIBLE|WS_DLGFRAME|WS_MINIMIZEBOX,0 );//应该是这里,//但我也都尝试了好多种值了
page1.ModifyStyleEx(0,WS_EX_TOPMOST,0);
bcreate=false;
}
page1.ShowWindow(SW_HIDE);//这里我打算先把他隐藏再弹出都不行
page1.ShowWindow(SW_SHOW);
page1.SetWindowText(strTemp);
page1.SetWindowPos(&wndTop,0,15,0,0,SWP_NOSIZE|SWP_SHOWWINDOW);
//page1.DrawList();//一个自己的函数不影响的,与题目无关
page1.Invalidate();//没用依然被下面的按钮覆盖那部分
}
现在就是弹出时,界面被下层的按钮画花了~就算移动后一点下层的主对话框,界面又花了,最小化还原有一样花~
应该如何解决~