2012-08-23 97 views
0

我在里面有一个对话框和一个图片控件。 OnInitDialog中在我试图获得这样GetDlgItemInt返回0

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

回答

1

你想GetWindowLong(hWnd,GWL_ID); (或MFC等价物)。 GetDlgItemInt()只是GetDlgItemText()的一个atoi()包装,它读取控件的标签,而不是它的ID。

+0

GWLP_ID对应于IDC_PICTURE 我觉得我很接近答案谢谢:) – Cihan

+0

我不想要控件的id,65443是我打算在静态控件中显示的位图的id。我想要它。 Hovewer GWLP_ID是控件的ID,它是65923 – Cihan

0

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

+0

是的,我可能会看到别的东西,但我真的没有任何想法,它适用于文本,我觉得它可能适用于整数:\但它没有至今 – Cihan