我创建了一个新的空对话框来测试代码CMFCToolBar 上的一些注释 – 停靠大按钮和使用 MDIClientArea但我看到这一行产生false
:
bool b = m_FirstToolbar.LoadToolBarEx(IDR_MAINFRAME, tbi, TRUE);
这是我项目的资源:
有什么问题,我应该在资源中添加什么?
请帮我。这是我今天就基于 MFC 对话框的应用程序上的工具栏提出的第三个问题。
在编写代码以将工具栏添加到基于对话框的 mfc 后,我在基于对话框的 mfc 应用程序上的工具栏没有显示
,对话框没有运行
,我在这个网站上阅读了很多问题,还研究了网络上的很多页面。最后,我开始使用CMFCToolBar
类而不是CToolbar
支持工具栏的 32 位 24x24 图标,但没有任何页面真正有帮助,而且我还没有看到对话框顶部的工具栏。
您能否帮我介绍一个链接、一个视频教程等,这些教程教在 Visual Studio 2010 中将支持 32 位图像图标的工具栏添加到基于对话框的 mfc 应用程序**
**我更喜欢从以下开始的教程从头开始,非常适合 MFC 的初学者和 aguru
谢谢。我很高兴在这里得到你的答案。
根据@Edward Clements 有用的指导编辑了我的问题部分,
这是我项目的 Resource.h 文件
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by InitialJobProject2.rc
//
#define IDM_ABOUTBOX 0x0010
#define IDD_ABOUTBOX 100
#define IDS_ABOUTBOX 101
#define IDD_INITIALJOBPROJECT2_DIALOG 102
#define IDR_MAINFRAME 128
#define IDB_BITMAP1 130
#define IDR_TOOLBAR1 132
#define IDI_ICON1 135
#define IDC_NewBtnTbr 135
#define IDC_ZoomInBtnTbr 136
#define IDC_ZoomOutBtnTbr 137
#define IDI_ICON2 138
#define IDC_PanBtnTbr 138
#define IDC_TXTDataFile 1001
#define IDC_EDTDataPath 1002
#define IDC_BTNBrowse 1003
#define IDC_RICHEDTHeader 1005
#define IDC_OPENGL 1009
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 139
#define _APS_NEXT_COMMAND_VALUE 32776
#define _APS_NEXT_CONTROL_VALUE 1010
#define _APS_NEXT_SYMED_VALUE 104
#endif
#endif
不知道数字是怎么设置的?我应该如何计算分配给新 ID 的号码?,和和有什么
区别?
如果我将数字 1010 分配给新 ID,那么我应该在前面写什么?
还有一个问题是这个: _APS_NEXT_RESOURCE_VALUE
_APS_NEXT_COMMAND_VALUE
_APS_NEXT_CONTROL_VALUE
_APS_NEXT_SYMED_VALUE
_APS_NEXT_CONTROL_VALUE
我已经使用MFC/C++ Helper Class for Window Resizing from codeproject将对话框控件锚定到它。此类使用控件的 ID。我已经从 codeguru 添加了一个 COpenGLControl 用于在 MFC 控件中设置 OpenGL,它的构造函数中不需要 ID,但由于它是从 CWnd 类派生的,它有一个函数setHelpID
我可以这样添加IDM,IDB,IDD,IDR,IDS,IDI or IDC
吗(我不知道哪个请帮助我如何在它们之间进行选择and then assign this ID through function
setHelpID to the instance of the class
COpenglControl ? and then use this ID to hook the openGL window to the main window through class
CWndResizer`?
问题解决
了我建议为opengl窗口设置ID的方式确实有效,除了你应该使用SetDlgCtrlID成员函数而不是SetHelpID