MFC OSG中文件显示窗口不全,无法满屏的情况

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u013468168/article/details/75084755

丫丫的按照教程老是得不到想要的结果,因为需要用到MFC+OSG读取显示OBJ文件,但是填充总是只有一部分。想想是不是MFC_OSG.cpp文件出错了,但是是例子程序,也不知道咋办,后面在osgchina论坛中终于找到原因!

osg::GraphicsContext::createGraphicsContext(traits.get());

函数内部把traits的值给改变了,把camera->setViewport(new osg::Viewport(traits->x, traits->y, traits->width, traits->height));中的viewoort的前两个参数改为0就可以了

解决问题看起来就一句代码,MMP的搞了我好久

展开阅读全文

mfc dll中窗口显示问题

05-15

我目前需要把一个界面写到DLL, 我用的是MFC dll(方便)rnrn[code=C/C++]#include "stdafx.h"rn#include "MainDlg.h"rn#include "maindlg1.h"rnrn#ifdef _DEBUGrn#define new DEBUG_NEWrn#undef THIS_FILErnstatic char THIS_FILE[] = __FILE__;rn#endifrnrnrnCMainDlgApp theApp;rnMainDlg *pMain; //这里MainDlg是资源对话框,VC生成的对话框类rnHHOOK hhook;rnrnBEGIN_MESSAGE_MAP(CMainDlgApp, CWinApp)rn //AFX_MSG_MAP(CMainDlgApp)rn // NOTE - the ClassWizard will add and remove mapping macros here.rn // DO NOT EDIT what you see in these blocks of generated code!rn //AFX_MSG_MAPrnEND_MESSAGE_MAP()rnrnCMainDlgApp::CMainDlgApp()rnrnrnrnBOOL CMainDlgApp::InitInstance()rnrn if (!AfxSocketInit())rn rn AfxMessageBox(IDP_SOCKETS_INIT_FAILED);rn return FALSE;rn rnrn return TRUE;rnrnrnint CMainDlgApp::ExitInstance() rnrn // TODO: Add your specialized code here and/or call the base classrn delete pMain;rn return CWinApp::ExitInstance();rnrnrnLRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)rnrn BOOL bKeyUp = lParam & (1 << 31);rn if (bKeyUp && wParam == VK_F12 && nCode == HC_ACTION)rn rn if (pMain == NULL)rn rn AFX_MANAGE_STATE(AfxGetStaticModuleState());rn pMain = new MainDlg();rn pMain->Create(IDD_MAIN);rn pMain->ShowWindow(SW_SHOW);rn rn elsern rn pMain->ShowWindow(pMain->IsWindowVisible()?SW_HIDE:SW_SHOW);rn rn rn return ::CallNextHookEx(hhook, nCode, wParam, lParam);rnrnrnextern "C" BOOL WINAPI SetHook(DWORD tid)rnrn ::SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, theApp.m_hInstance, tid);rn return FALSE;rn[/code]rnrn这种通过钩子的方法固定可以,但有一个缺点,就是注入程序退出后,这个DLL在另的进程也退出了,想当然,窗口也没了rn所以,我想有没有别的方法,比如用远程线程来创建这个DLL。 但这种MFC DLL没有入口函数(DLLMAIN),只有一个应用函数类。估计就在这个类中做手脚,谁能提示一下,具体怎么做? 论坛

没有更多推荐了,返回首页