"最小化"按钮不会出现在 MFC 对话框中
Minimize button won't appear on MFC Dialog
>我在将最小化按钮添加到我的 MFC 对话框应用程序时遇到问题。我已经启用了最小化框(真(。
最小化按钮出现在设计器视图中,但当我运行应用程序时,按钮不可见。
其他设置包括:样式:重叠
应用程序窗口:真 边框:对话框框架
工具窗口:假
系统菜单:真
我尝试添加:ModifyStyle(0, WS_MINIMIZEBOX, TRUE(;
到OnInitDialog((但尚未解决。
我可以选择 3 种样式,分别是弹出式、子样式和重叠样式。如果我使用弹出窗口,则看不到标题栏,也无法拖动窗口。如果我使用该样式,孩子会引发访问冲突,因此我可以选择的唯一样式是重叠的,它显示标题栏并允许我拖动窗口,但最小化按钮不可见。
我正在使用Visual Studio 2019并运行Windows 10 1809。
我已仔细选中并将最小化框设置为 TRUE,但是运行时它仍然不会显示在对话框中。
问题是当我使用弹出窗口样式时,我根本看不到标题栏!此外,如果我使用弹出样式,我无法拖动窗口(缺少标题栏(。重叠似乎是我唯一可以使用的样式。
尝试这样的事情:
BOOL CMFCApplication1Dlg::OnInitDialog()
{
ModifyStyle(0, WS_POPUP | WS_SYSMENU | WS_CAPTION | WS_MINIMIZEBOX, TRUE);
...
}
请考虑修改对话框模板(在 .RC 文件(以包含必要的样式位,而不是在运行时修改样式。
MFC 与编写没有任何框架的对话框没有什么不同。声明DIALOGEX
资源,让系统加载它,并显示基于该模板的对话框。
要获取带有最小化框的对话框,它至少需要样式WS_MINIMIZEBOX
和WS_SYSMENU
1。打开定义DIALOGEX
对话框模板的 .rc 脚本,并确保这 2 种样式存在于STYLE
元素中。
基于对话框的应用程序(带有最小化框(的默认对话框模板通常按如下方式定义:
IDD_MFCAPPLICATION1_DIALOG DIALOGEX 0, 0, 320, 200
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION
| WS_THICKFRAME
| WS_SYSMENU
| WS_MINIMIZEBOX
EXSTYLE WS_EX_APPWINDOW
CAPTION ""
FONT 8, "MS Shell Dlg"
BEGIN
DEFPUSHBUTTON "OK",IDOK,209,179,50,14
PUSHBUTTON "Cancel",IDCANCEL,263,179,50,14
CTEXT "TODO: Place dialog controls here.",IDC_STATIC,10,96,300,8
END
无需编写任何在运行时执行的代码即可获取此行为。
1从窗口样式:"WS_MINIMIZEBOX
: 窗口有一个最小化按钮。[...]还必须指定WS_SYSMENU
样式。
BOOL CMFCApplication1Dlg::OnInitDialog(){
ModifyStyle(0, WS_MINIMIZEBOX, TRUE);
ModifyStyle(0, WS_POPUP, TRUE);
ModifyStyle(0, WS_BORDER, TRUE);
ModifyStyle(0, WS_SYSMENU, TRUE);
ModifyStyle(0, WS_CAPTION, TRUE);
- 如何在 MFC 对话框中使用 OnDraw
- "最小化"按钮不会出现在 MFC 对话框中
- 在网格视图中显示数据 - 基于 MFC c++ 对话框的应用程序
- MFC 对话框属性表用法在 VS 2017 中产生错误,适用于 VS 2013
- 如何在MFC对话框应用程序中默认将复选框设置为选中?
- 基于 MFC 对话框的应用程序无法调用对话框两次
- 是否可以将 MFC 对话框资源附加到 CChildView
- MFC 对话框控件的"Accept Files"选项如何工作?
- MFC对话框数据验证失败时还原数据
- 在std ::线程中打开MFC对话框
- 标准输出输出不会显示在基于 Windows MFC 对话框的应用的控制台上
- 如何在MFC对话框上绘制/创建GDI
- 根据通过/失败返回,在MFC对话框中更改LED颜色
- MFC C对话框::在x64上创建挂起
- MFC对话框应用程序未关闭
- MFC对话框成员变量的随机崩溃不在范围中
- 查找 MFC 对话框的当前位置
- 在MFC对话框应用程序中全天候检查系统时间
- 如何防止基于 MFC 对话框的应用在 ESC 键后关闭,但允许其他控件处理它
- 使用 mfc 对话框显示.bmp图像时出错