MFC的Dialog下編寫OPENGL !

2021-05-25 00:23:16 字數 1178 閱讀 7671

環境:  vc6

1. 新建 windows 的 dialog 體並可以執行! 所有的設定全部為預設!

2.  新建 控制項 改id 為idc_gl_screen

3.  新建類 cglscreen 其父類為 cwnd

4.  新建函式  oninit 

cpaintdc dc(this); // device context for painting

// define pixel format

pixelformatdescriptor pfd;

int npixelformat; 

memset(&pfd, null, sizeof(pfd));   

pfd.nsize      = sizeof(pfd);

pfd.nversion   = 1;

pfd.dwflags    = pfd_draw_to_window | pfd_support_opengl | pfd_doublebuffer;

pfd.ipixeltype = pfd_type_rgba;

pfd.ccolorbits = 24;

pfd.cdepthbits = 16;

pfd.ilayertype = pfd_main_plane;

// set pixel format

npixelformat = choosepixelformat(dc.getsafehdc(), &pfd);

setpixelformat(dc.getsafehdc(), npixelformat, &pfd);

this->m_hrc = wglcreatecontext(dc.getsafehdc());

wglmakecurrent(dc.getsafehdc(), this->m_hrc);

rect rv;

this->getwindowrect(&rv);

m_pglrender->initscene();

m_pglrender->onsize((rv.right-rv.left),(rv.bottom-rv.top));

wglmakecurrent(0, 0);

5. 新建 類 cglrender 

至此 就可以正常在 cglrender 類中 進行繪製 opengl **

汗...一周內無法上傳.............

MFC 隨心修改Dialog的Caption

修改caption的函式 setwindowtext my title 以使用者登入對話方塊為例,如果想要隨dialog呼叫的場景隨心修改它的caption,可使用以下方法 pragma once cdlglogin 對話方塊 class cdlglogin public cdialogex pro...

mfc關閉模態dialog的正確方式

在模態對話方塊中 正常的使用者觸發的onok oncancel 訊息都是通過呼叫函式enddialog去關閉模態對話方塊的,enddialog函式並不立即清除對話方塊。而是設定乙個標誌,並且允許對話方塊應用程式把控制權返回系統。系統在試圖從應用程式佇列檢索下乙個訊息之前檢測標誌。如果已經設定了標誌則...

MFC點選Dialog窗體可拖動的實現

mfc建立乙個可通過滑鼠點選客戶區拖動視窗位置的方法 通過新增訊息響應函式 afx msg uint onnchittest cpoint point 新增巨集on wm nchittest 然後,定義onnchittest的行為即可,onnchittest的 如下 uint ctimerdlg o...