问题标签 [cpropertysheet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mfc - CPropertyPage 对话 OnOk 如果出现错误不应关闭对话
我有一个从类继承的CPropertyPage
类。我有一个OnOk()
方法和一个OnKillActive()
方法。每当我在对话上按确定时。OnKillActive()
被调用但从OnOk()
未被调用。问题取决于我不想在按下确定时关闭对话的条件。但对话将在按下 OK 时结束。
按确定时如何防止对话关闭?
代码:
c++ - 如何从属性表中删除确定、取消和应用按钮
所以我尝试使用这段代码,但它不起作用:
提前致谢。
visual-c++ - SetWindowPos() 适用于对话框,但不适用于 CPropertyPage
我有一个 type 的对话框CPropertyPage
,在对话框中我显示一个CPropertySheet
对象以显示几个选项卡。
最初,当我测试这个对话框时,我让它作为一个单独的对话框窗口 ( dialog.DoModal()
) 运行。当我将它作为单独的对话框窗口运行时,该SetWindowPos()
功能起作用,并且我成功地将CPropertySheet
对象移动到正确的位置。
但是,然后我尝试将其合并CPropertyPage
到另一个 parentCPropertySheet
中。这是该SetWindowPos()
功能不起作用的时候。
CPropertySheet
当我有 a时 ,它似乎忽略了它CPropertyPage
,它包含在 another 中CPropertySheet
。有人知道为什么吗?
已编辑:添加了额外的代码和图片。
编码:
窗格“pane.h”:
顶部CPropertySheet
,顶部.h:
顶部CPropertySheet
,顶部.cpp:
对话框'CMyDlg',MyDlg.h:
对话框'CMyDlg',MyDlg.cpp:
这就是.doModal()
我的CMyDlg
.
这就是在顶部绘制底部时绘制的内容。
c++ - 如何在 CPropertySheet 中定义新颜色?
我正在尝试在 CPropertySheet(mfc 库)的某些区域中定义新颜色。我尝试过的是重载OnCtlColor
并定义新的背景颜色。这种方法效果很好,但它不会给我想要的区域着色。
在下一张图片中,您可以看到我的方法得到了什么。
在此图像中,您可以看到 4 个彩色区域:
- 红色:我可以使用着色的区域
OnCtlColor
- 深灰色和黑色:我可以使用
OnCtlColor
对象 CPropertyPage 着色的区域 - 浅灰色(用蓝色箭头表示):我要着色的区域
- 白边:我也想着色的区域。
我不知道如何使用这个库或使用任何可定制的对象为所有区域着色。任何帮助将不胜感激。
谢谢!
更新 1
在阿德里安的回答之后,它看起来像这样
但是,仍有一个区域我们无法着色。
回答
在尝试很多组合之前,我已经完成了接下来的两个对象,这让我可以定义我需要的颜色。你可以找到后面的所有源代码。这段代码的结果可以在这张图片中查看
属性页
标题
cpp
属性表
标题
cpp