动态修改对话框Style的问题
一个对话框资源,在资源编辑器里面设计时样式:
child
无边框
无系统菜单
无标题
这主要是为了作为子窗口嵌入TAB页用
现在,我又想单独使用它,让他能像普通对话框那样弹出,又有标题栏之类的
我用m_nMode来区分使用的模式,在OnInitDialog()中加入了一下代码:
if(0 != m_nMode)
{
//非子窗口模式
DWORD dwStyle;
dwStyle=GetStyle();
ModifyStyle(dwStyle,WS_DLGFRAME|WS_POPUP|WS_VISIBLE|WS_BORDER,SWP_SHOWWINDOW);
}
结果运行后,找不到弹出的对话框了,调用者窗口也无法操作了。
怎么解决??
后来我改用下面的代码,能用是能用了,但是问题N多:
if(0 != m_nMode)
{
RECT rect;
GetWindowRect(&rect);
ScreenToClient(&rect);
//单独使用模式
DWORD dwStyle;
dwStyle=GetStyle();
ModifyStyle(dwStyle,
WS_DLGFRAME|WS_POPUP|WS_VISIBLE|WS_BORDER,
SWP_SHOWWINDOW|SWP_FRAMECHANGED);
SetParent(GetDesktopWindow());
rect.right+=30;
rect.bottom+=40;
ClientToScreen(&rect);
MoveWindow(&rect);
EnableWindow();
ShowWindow(SW_SHOW);
//SetWindowPos(&CWnd::wndTopMost,0,0,rect.right-rect.left+50,
//rect.bottom-rect.top+60,SWP_NOMOVE);
//Invalidate();
}
使用上面的代码,不但会出现闪动,任务栏也多出个按钮来
大家有没有更好的办法?
child
无边框
无系统菜单
无标题
这主要是为了作为子窗口嵌入TAB页用
现在,我又想单独使用它,让他能像普通对话框那样弹出,又有标题栏之类的
我用m_nMode来区分使用的模式,在OnInitDialog()中加入了一下代码:
if(0 != m_nMode)
{
//非子窗口模式
DWORD dwStyle;
dwStyle=GetStyle();
ModifyStyle(dwStyle,WS_DLGFRAME|WS_POPUP|WS_VISIBLE|WS_BORDER,SWP_SHOWWINDOW);
}
结果运行后,找不到弹出的对话框了,调用者窗口也无法操作了。
怎么解决??
后来我改用下面的代码,能用是能用了,但是问题N多:
if(0 != m_nMode)
{
RECT rect;
GetWindowRect(&rect);
ScreenToClient(&rect);
//单独使用模式
DWORD dwStyle;
dwStyle=GetStyle();
ModifyStyle(dwStyle,
WS_DLGFRAME|WS_POPUP|WS_VISIBLE|WS_BORDER,
SWP_SHOWWINDOW|SWP_FRAMECHANGED);
SetParent(GetDesktopWindow());
rect.right+=30;
rect.bottom+=40;
ClientToScreen(&rect);
MoveWindow(&rect);
EnableWindow();
ShowWindow(SW_SHOW);
//SetWindowPos(&CWnd::wndTopMost,0,0,rect.right-rect.left+50,
//rect.bottom-rect.top+60,SWP_NOMOVE);
//Invalidate();
}
使用上面的代码,不但会出现闪动,任务栏也多出个按钮来
大家有没有更好的办法?
...全文
相关推荐
用JQuery 实现的自定义对话框
#### 技术细节为了实现这些功能,插件内部通过监听鼠标事件(如`mousedown`, `mouseup`, `mousemove`)来处理对话框的拖动逻辑,并利用CSS选择器和jQuery方法来动态修改对话框的位置
JS实现动态表格的添加,修改,删除功能(推荐)
在JavaScript中,动态创建、编辑和删除表格是常见的任务,特别是在网页交互和数据展示中。以下是如何使用JS实现动态表格的添加、修改和删除功能。
安卓Dialog对话框相关-dialogplus.zip
**对话框的样式和主题** - `android:style/Theme.Dialog` 是默认的对话框主题,可以通过修改主题来改变对话框的外观。
AutoCAD疑难问题汇总目录
### AutoCAD疑难问题解答知识点汇总#### 一、如何灵活使用动态输入功能?**知识点解析:**1.
JavaScript---动态打开和关闭层,而且还能拖拽
层通常指的是在网页上可以独立移动和操作的元素,比如弹出窗口、对话框或者浮动菜单。这些层可以通过JavaScript进行控制,以实现动态显示和隐藏,增强用户体验。


