解决方案 »
- MFC的CWnd::SubclassDlgItem(),对应win32 api的什么函数?
- 关于树控件的一点小问题
- 这个makefile 如何导入到vc里面去呀?
- 如何读取数据库表内容在列表控件内进行显示
- 关于SDK编程问题?请高手指教!!!!!!!!!!!!!
- 怎么才能让CView在生成的时候就有图形
- 奇怪:类似VC界面中的WORKSPACE的窗口是怎么做出来的?
- 怎么设计这个算法?
- 关于列表控件(CListCtrl),我想在运行时改变其大小,位置等如何实现呢???
- ListView中如何得到TreeCtl的点击?就像资源管理器点一下右边就出现文件和目录?
- 求一个加法运算
- XP下 VS2008 安装和部署项目
这里我打算在浏览器文档加载完毕后,在创建Dialog,但是这里有问题,有谁能解释一下。
void STDMETHODCALLTYPE CMrhan::OnDocumentComplete(IDispatch *pDisp, VARIANT *pvarURL)
{
// Retrieve the top-level window from the site.
HWND hwnd;
HRESULT hr = m_spWebBrowser->get_HWND((LONG_PTR*)&hwnd);
if (SUCCEEDED(hr))
{
// Output a message box when page is loaded.
MessageBox(hwnd, L"Hello World!", L"BHO", MB_OK);
CreateDlg();
}
} void CMrhan::CreateDlg()
{
MessageBox(NULL, L"11111", L"BHO", MB_OK); if (m_hwndDlg == 0)
{
HINSTANCE hInst = GetModuleHandle(NULL);
m_hwndDlg = CreateDialog(hInst, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DialogProc);
if (m_hwndDlg)
{
MessageBox(NULL, L"Create Error", L"BHO", MB_OK);
}
else
MessageBox(NULL, L"Create Success", L"BHO", MB_OK);
ShowWindow(m_hwndDlg, SW_SHOW);
}
}
打印Create Error,但是感觉没哪有问题啊。
INT_PTR CALLBACK CMrhan::DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
case WM_INITDIALOG:
return (INT_PTR)TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
{
m_pMrhan->DestroyDlg();
return (INT_PTR)TRUE;
}
break;
case WM_CLOSE:
m_pMrhan->DestroyDlg();
return (INT_PTR)TRUE;
}
return (INT_PTR)FALSE;
}
结贴,虽然上面的朋友说的不对,但是还是表示支持!