我把一个MFC单文档结构的框架放在DLL中DLL中的单文档结构有一菜单功能是用来分割窗体的.
但每次使用菜单功能进行分割后,窗体的分割效果要把窗体最化(最小化)或拖动一下,窗体才能刷新,显示新的分割效果.请问这是为什么;DLL的导出接口如下:
extern "C" __declspec(dllexport) void InitAppFrame();void InitAppFrame()
{
AfxSetResourceHandle(theApp.m_hInstance);
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CMoneyDoc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CMainView));
if (!pDocTemplate)
return ;
CString csTile = _T("文档管理");
CDocument* pDoc = pDocTemplate->CreateNewDocument();
CMainFrame * m_pFrameWnd = static_cast<CMainFrame *>(pDocTemplate->CreateNewFrame(pDoc, NULL));
theApp.m_pMainWnd = m_pFrameWnd;
pDoc->SetTitle(csTile);
pDocTemplate->InitialUpdateFrame(m_pFrameWnd, pDoc);
theApp.m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
}
但每次使用菜单功能进行分割后,窗体的分割效果要把窗体最化(最小化)或拖动一下,窗体才能刷新,显示新的分割效果.请问这是为什么;DLL的导出接口如下:
extern "C" __declspec(dllexport) void InitAppFrame();void InitAppFrame()
{
AfxSetResourceHandle(theApp.m_hInstance);
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CMoneyDoc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CMainView));
if (!pDocTemplate)
return ;
CString csTile = _T("文档管理");
CDocument* pDoc = pDocTemplate->CreateNewDocument();
CMainFrame * m_pFrameWnd = static_cast<CMainFrame *>(pDocTemplate->CreateNewFrame(pDoc, NULL));
theApp.m_pMainWnd = m_pFrameWnd;
pDoc->SetTitle(csTile);
pDocTemplate->InitialUpdateFrame(m_pFrameWnd, pDoc);
theApp.m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
}
解决方案 »
- 菜鸟问个问题,关于MFC的
- 为何dev-c++使用d,ld,lld打印64bit数得出相同结果?
- 能提高最大化窗口时的速度吗?
- 急!急!急!有没有JPG压缩解压缩的中文说明文档
- 如何加入OwnerDraw Menu的消息響應
- 一个编程细节
- 一个优秀的处理各种图片格式的类,能对图片进行各种操作,但我不知怎样在我工程中使用
- 我做了一个打印BMP的程序,但现在要在文件夹中取BMP,而不是在资源中取,要怎样做.???
- 请问 ON_CONTROLRANGE( EN_KILLFOCUS...) 在 Release 版处理这个消息会非法操作!!
- 寻个4年前用mfc写棋牌的一个牛
- 很急,请各位前辈帮帮忙,调试没问题,但运行是出现runtime error,小女子在此谢过了
- CEDIT显示串口数据的问题
所以需要你自己改变下窗口,调用WINDOWS的窗口重绘代码,窗口分割才可以重绘显示出来。
加个invalite 或是invaliterect试试