从资源 ID 获取 CButton 控件名称?
Get CButton control name from resource id?
我正在使用C++MFC,并且已经创建了一个与CButtons的简单对话框,每个对话框都与其.bitmap文件和资源ID(ID_BUTTON*(在.rc脚本文件中映射。
类似的行出现在我的 .rc 文件中,在DIALOG
描述中:
CONTROL "TEST|Button7",ID_BUTTON2,"Button",BS_OWNERDRAW | WS_TABSTOP,234,29,30,71
在我的项目中,我正在尝试获取每个CButton
对象的资源 ID。我用这个做到了:
int getID = this->GetDlgCtrlID();
但是,如何进一步使用我的资源 ID 来获取CButton
控件文本值?意思是:
"TEST|Button7"
如果没有,是否有特定的方法来获得它?
这其实很简单。在使用int getID = this->GetDlgCtrlID();
获取资源 ID 的位置,可以使用以下代码获取控件的名称:
CString buttonName;
this->GetWindowText(buttonName);
PS:假设调用是在类成员函数中进行的,那么你实际上不需要this->
指针;只需调用GetWindowText()
或GetDlgCtrlID()
函数即可。(但是使用this->
不会造成伤害,并且可以使代码更清晰地阅读。
如果要从按钮自己的类函数外部(例如,从父对话框处理程序(获取按钮的文本,则可以使用以下命令:
CString buttonName;
GetDlgItem(idValue)->GetWindowText(buttonName);
其中idValue
是相关按钮(或任何其他控件(的资源 ID。
相关文章:
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- WinAPI 在单击第一个对话框上的按钮控件并销毁第一个对话框后创建第二个对话框
- 在编译时,C++项目抛出错误 C2228,这是预期的,因为控件在运行时未达到该点
- 如何更改窗体上所有控件的标题?[C++生成器]
- 双击更改 mfc 中列表控件中的行的颜色
- 派生的 wxPanel 控件如何访问其中包含 wxDialog 中的数据?
- 如何从代码本身向 wxwidgets 中的文本控件插入字符?
- 如何在MFC中的静态文本控件上插入图标?
- 我的主窗口在创建时或单击更新区域时是否会收到编辑控件?
- 如何在Qt C++中向自定义控件添加属性?
- C/C++ 检测双击 TVItem 的常用控件
- 从C++标头中导入常量而不是硬编码它们:扩展 .net 控件?
- 控件不会在选择函数旁边移动
- MFC:我们能否扩展CEditView中存在的CEdit控件类行为
- 通过嵌入式 IWebBrowser2 控件中的链接打开 youtube 搜索失败
- 查找素数:错误:控件到达非void函数的末尾
- C++ 获取"控件可能会到达约翰逊-特罗特代码上的非空函数的末尾
- 检测何时使用 WM_PARENTNOTIFY 将子 CButton 控件添加到 CDialog
- 从资源 ID 获取 CButton 控件名称?
- winapi - 我应该重写 CButton 还是 CWnd 以创建自定义控件