如何在不使用全局变量的情况下获得winMain的HWND hwnd的hInstance应用程序句柄?我正在尝试将一个对话框发送到LRESULT CALLBACK以使某些菜单项显示出来。 或者是设置它的不同方式。我已经用全局变量完成了但是我似乎无法弄清楚如何在LRESULT CALLBACK中设置它 我试过了
HINSTANCE hInst = (HINSTANCE)GetWindowLongPtr(hwnd, GWL_HINSTANCE);
HWND hDlgbox = CreateDialog(hInst, MAKEINTRESOURCE(ID_TOOL_BOX_CREATE) ,hwnd, ToolProc);
在wndproc中但只会让它显示一次然后再次出现当我尝试使用弹出菜单项打开它时按钮和项似乎没有在对话框中接收消息时的WndProc。
答案 0 :(得分:0)
所以我做的是 在win main中
HWND hdlg;
将wndextra设置为hwnd的大小。
然后创建你的dlg框,但是你这样做。
SetWindowLongPtr(hwnd, 0, (LONG_PTR)hdlg);
并在winproc中 某些新人
somenewDlg = (HWND)GetWindowLongPtr(hwnd, 0);