我正在使用C++ MFC,并使用CButtons创建了一个简单的对话框,每个对话框都在.rc脚本文件中映射了各自的.bitmap文件和资源in (ID_BUTTON*)。
类似的行出现在我的.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"如果没有,有什么具体的方法可以得到吗?
发布于 2019-09-24 11:21:30
其实很简单。在使用int getID = this->GetDlgCtrlID();获取资源ID的情况下,可以使用以下代码获取控件的名称:
CString buttonName;
this->GetWindowText(buttonName);PS:假设调用是在类成员函数中进行的,那么实际上不需要this->指针;只需调用GetWindowText()或GetDlgCtrlID()函数即可。(但是使用this->并没有坏处,并且可以使代码读起来更加清晰。)
如果您想从按钮自己的类函数之外(例如,从父对话框处理程序)获取按钮的文本,可以使用以下命令:
CString buttonName;
GetDlgItem(idValue)->GetWindowText(buttonName);其中idValue是相关按钮(或任何其他控件)的资源ID。
https://stackoverflow.com/questions/58078736
复制相似问题