首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

初学api有关问题求指教

2012-08-11 
初学api问题求指教我建立了两个对话框资源,非MFC。id分别是IDD_DIALOG1和IDD_DIALOG2,在winmain函数中用dia

初学api问题求指教
我建立了两个对话框资源,非MFC。id分别是IDD_DIALOG1和IDD_DIALOG2,在winmain函数中用dialogbox函数添加了对话框1,用commandbar_show显示更新,之后在对话框1上添加了一个控件,作用是点击该控件打开对话框2,其他在该对话框上的消息处理函数一切正常,但是用dialogbox函数,为什么总是打不开dialog2呢?
是通过运行了,,下载到wince开发板上,点击那个控件没反应哈。就是打不开dialog2

[解决办法]
2个dlg一个DlgPorc?
DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG2),NULL,DlgPorc);

[解决办法]
LONG OnOpen(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam)
{
HINSTANCE hInstance; // 这个都没初始化...,应该定义一个全局g_hInstance,在WinMain里g_hInstance = hInstance;
DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG2),NULL,DlgPorc); //这里改为g_hInstance
CommandBar_Show(NULL, TRUE);
return TRUE;
}

另外
LONG DoInit(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam)
{
InitCommunication (szDev); //这个是不是应该放到WinMain里

hwnd = hDlg; //这个会有问题,因为DoInit可能对应几个dlg,
//或者改成 全局HWND hwnd = NULL;
//if (hwnd == NULL) hwnd = hDlg;
return TRUE;
}
[解决办法]
HINSTANCE hInstance = (HINSTANCE) GetWindowLong(hwnd,GWL_HINSTANCE);

热点排行