GetDlgItemInt返回0

时间:2012-08-23 08:55:15

标签: c++ winapi mfc

我内部有一个对话框和一个图片控件。在OnInitDialog期间,我尝试像这样

获取图片控件的文本部分
CWnd *dialogHandle; // Handle of the dialog  
CWnd *itemHandle; // Handle of the picture control  
BOOL error;  
dialogHandle->GetDlgItemInt(itemHandle->GetDlgCtrlID(), &error, 0);  

然而GetDlgItemInt函数将错误设置为0表示存在错误

这是资源行

CONTROL 65443, IDC_PICTURE, "Static", SS_BITMAP, 13, 13, 40, 40

我想要这个号码65443

2 个答案:

答案 0 :(得分:1)

你想要GetWindowLong(hWnd,GWL_ID); (或等效的MFC)。

GetDlgItemInt()只是一个围绕GetDlgItemText()的atoi()包装器,它读取控件的标签,而不是它的ID。

答案 1 :(得分:0)

GetDlgItemInt()应该让文本失控。第二个参数称为“已翻译”标志,而不是“错误”标志。这真的是你正在寻找的方法吗?我想你还需要别的东西。