我对Visual Studio 2008和MFC的一个小问题感到很生气。我正在研究一个项目,我正在尝试创建一个SDI应用程序。是的,现在我想添加一个可停靠的DialogBar。好吧,我第一次用资源视图添加它,我可以毫无问题地创建吧。 但是......我想添加一些像ListBox,按钮等控件。该程序不允许我为这些控件创建成员变量。该选项显示为灰色。
稍微搜索一下,我发现必须创建一个从CDialogBar派生的新类,并使用Message处理程序“增强”它等等。我一直在阅读一些教程,但它对我不起作用。
你能帮帮我吗?我开始变得紧张,在我的设计中使用对话框是强制性的,我以前从未实现过。非常感谢,抱歉我的英语不好。
答案 0 :(得分:1)
您可以手动添加控件成员变量,而不是使用向导。只需在对话栏的DoDataExchange函数中调用DDX_Control即可。
但CDialogBar派生类不处理控件点击。 CDialogBar类将所有这些消息转发到对话栏的父窗口。因此,准备将消息处理程序添加到父级(通常是CMainFrame)。
出于学习目的,您可以先尝试将对话栏创建为CDialog,以查看向导提供的正确代码行和消息映射条目。然后,您可以根据实际代码项目将这些详细信息复制/移动。