我试图将WinCE 5.0的应用程序从Microsoft eMbedded Visual C ++传输到Visual Studio 2008.我在VS2008中为我的SDK平台创建了一个Dialog应用程序。大多数事情到目前为止都有微小的变化。但是我还有一个问题: “旧”应用程序使用
MainDialog.cpp:
hListBox = GetDlgItem(hDlg, IDC_LISTBOX);
获取ListBox的句柄,其中应显示流驱动程序的数据。 ListBox句柄在Header文件中全局声明:
App.h:
HWND hListBox;
在另一个C ++ - File中,此句柄用于通过SendMessage()将数据写入自己的线程中的列表框中:
App.cpp:
SendMessage(hListBox, ...);
这很好用,但在VisualStudio 2008中,函数CWND :: GetDlgItem()和CWND :: SendMessage()现在完全不同。什么是在VS 2008中处理这个问题的好方法?
此致
答案 0 :(得分:0)
如果您正在使用MFC的CWND::xyz
,则句柄是CWND派生类的成员变量,不会被指定。在您的示例中,您似乎想要这些函数的基本Win32 API版本。尝试指定默认命名空间。
例如:
::GetDlgItem(hDlg, IDC_LISTBOX);
和
::SendMessage(hListBox, ...);