模式对话框和非模式对话框的区别一、 创建的区别在WIN32中,模式对话框的创建一般是使用DialogBox来进行创建的。而非模式对话框则是利用CreateWindow来创建的。在MFC或是WTL中,模式对话框一般是使用DoModal,而非模式对话框的创建则是使用Create。模式对话框创建后,程序的...
分类:
其他好文 时间:
2014-08-22 10:37:05
阅读次数:
176
有些时候直接创建OpenGL窗口不适合,或者根本不允许再创建窗口,就像我现在的这个项目,创建的窗口显示不出来,被主框架限定,而我只能在ActiveX控件的子类里做一些相关工作,那只能用到OpenGL的离屏渲染技术了~即不直接绘制到窗口上,而是绘制到一张位图上,然后再次调用这张位图实现后续的工作。
下面就总结怎么使用所谓的“离屏渲染”。
const int WIDTH = 500;
...
分类:
其他好文 时间:
2014-08-22 09:22:36
阅读次数:
221
最开始的消息传递
1.AfxWndProc()
该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc
2.AfxCallWndProc()
该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数
3.WindowProc()
该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用De...
分类:
其他好文 时间:
2014-08-22 09:22:06
阅读次数:
170
HICONhIcon[4];//图标句柄数组 //加载三个图标,并将它们的句柄保存到数组 hIcon[0]=theApp.LoadIcon(IDI_ICON_TREE_CLOSE); hIcon[1]=theApp.LoadIcon(IDI_ICON_TREE_EXPEND); hIcon[2]=theApp.LoadIcon(IDI_ICON_VIDEO_USER_OFFLINE); hIcon[3]=theApp.LoadIcon(IDI_ICON_VI..
分类:
其他好文 时间:
2014-08-22 02:57:26
阅读次数:
263
CStringCCallSchedulingSystemDlg::GetFilePath(void){ HMODULEmodule=GetModuleHandle(0); charpFileName[MAX_PATH]; GetModuleFileName(module,pFileName,MAX_PATH); CStringcsFullPath(pFileName); intnPos=csFullPath.ReverseFind(_T(‘\\‘)); if(nPos<0) returnCString..
分类:
其他好文 时间:
2014-08-21 19:34:55
阅读次数:
385
项目中要画3D显示的模型,于是要用到OpenGL,加上是在MFC中,而且是在MFC中的ActiveX中使用,再而且鉴于他们程序主框架的设定,常规的方法还不一定能实现。所以还是查过不少资料,在此一一总结一下。首先总结最基础的一些东西。...
分类:
其他好文 时间:
2014-08-21 17:15:11
阅读次数:
362
有些时候用到OpenGL需要每次进行配置,有点麻烦,可以直接基于CWND派生一个OpenGL类,在需要的时候直接用就可以了。下面附赠上这样一个类,其中删掉了我项目具体绘制的一些东西,如有错误不能用请联系我~~~
h文件:
#if !defined(AFX_OPENGL_H__38B5D1C8_2DFF_4A7D_9A99_3AC401C19D72__INCLUDED_)
#define AFX...
分类:
其他好文 时间:
2014-08-21 17:13:34
阅读次数:
230
voidCVideoWndInst::ToShotScreen(){ CRectvRc; mVideoWnd.GetWindowRect(&vRc); SaveBitmapToFile(CopyScreenToBitmap(&vRc),"c://1.bmp");}//将屏幕指定区域存成图片HBITMAPCVideoWndInst::CopyScreenToBitmap(LPRECTlpRect)//lpRect代表选定区域{ HDChScrDC,hM..
分类:
其他好文 时间:
2014-08-21 15:12:05
阅读次数:
166
同样是项目遇到的问题,要求是无边框的对话框要实现鼠标的拖动改变大小。无边框对话框跟有边框的实现肯定不一样喽。
我上网搜到一种方法是:
需要处理以下这三个消息:
WM_NCHITTEST WM_SETCURSOR WM_NCLBUTTONDOWN
消息处理函数:
UINT CXXXDlg::OnNcHitTest(UINT...
分类:
其他好文 时间:
2014-08-21 09:51:52
阅读次数:
236
MFC中可以串行化的类必须满足以下条件
1 从CObject派生,或者间接派生
2 重写Serialize函数
3 使用DECLARE_SERIAL宏
4 定义不带参数的构造函数
5 在类的实现文件中用IMPLENT_SERIAL宏
在绘图保存的程序中,类CPaints作为保存的基本单元,它里面存储了绘图类型,起始点,终止点三个成员变量。
然后在绘图中每当绘制一幅图都会将CP...
分类:
其他好文 时间:
2014-08-21 04:12:43
阅读次数:
210