【发布时间】:2013-04-08 14:57:03
【问题描述】:
我想将对象的指针作为DialogBoxParam() 的第五个参数传递。
INT_PTR WINAPI DialogBoxParam(
_In_opt_ HINSTANCE hInstance,
_In_ LPCTSTR lpTemplateName,
_In_opt_ HWND hWndParent,
_In_opt_ DLGPROC lpDialogFunc,
_In_ LPARAM dwInitParam
);
这是我给DialogBoxParam() 的电话:
MyClass *myObject = new MyClass();
DialogBoxParam(
GetModuleHandle(NULL),
MAKEINTRESOURCE(IDD_SELECT_ETC),
hwnd,
CallbackDlgProc,
(LPARAM)&myObject
);
这是我在CallbackDlgProc() 中的尝试之一(知道 myFile 是myObject 的公共 char* 成员):
BOOL CALLBACK CallbackDlgProc(HWND hwndDlg, UINT Message, WPARAM wParam, LPARAM lParam)
{
switch(Message)
{
case WM_INITDIALOG:
{
MessageBox(NULL, (CHAR*)((*(MyClass*)lParam).myFile), "Title", MB_OK);
return TRUE;
}
case [...]
}
}
知道如何从CallbackDlgProc() 访问和编辑myObject 吗?
【问题讨论】: