有些时候用到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
IDR_FRAME 中有这样一个字符串,它由7部分构成,相邻子串之间以‘\n’分隔
窗口标题\n
文档名字\n
SB\n
Code Files(*.cpp)\n
.cpp\n
mfcArchive.Document\n
mfcArchive.Document
下面一个一个解释。
1 窗口的标题
2 表示文档名称
3 文档模板的名称,如果一个APP中有多个可供选择的文档...
分类:
其他好文 时间:
2014-08-21 04:12:03
阅读次数:
182
一个APP可以有多个文档模板,一个文档模板可以有多个文档(Document),一个Document可以有多个View。在程序。要在程序中添加新的文档模板可以如下所示:
CSingleDocTemplate*pDocTemplate;
pDocTemplate = newCSingleDocTemplate(
IDR_MAINFRAME,
...
分类:
其他好文 时间:
2014-08-20 19:38:02
阅读次数:
375
1 消息循环所在的函数
CWinApp::Run
2 消息类别
Windows Messages
WM_XX前缀开头,但是除了WM_COMMAND消息外。
Control Notifications
包含来自控件或者子窗口发给父窗口的 WM_COMMAND的通知消息。
Command Messages
菜单,工具栏按钮,快捷键
3 消息的发送和接受
CWinApp...
分类:
其他好文 时间:
2014-08-20 16:27:02
阅读次数:
182
每个线程都有自己的一组CPU寄存器, 称为线程的上下文(CONTEXT), 上下文反映了当线程上一次执行时, 线程的CPU寄存器的状态, 线程的CPU寄存器全部保存在一个CONTEXT结构中, 结构本身保存在线程内核对象中。 我们在用MFC新创建一个线程时不能直接用CreateThread,因...
分类:
编程语言 时间:
2014-08-20 16:02:02
阅读次数:
237
作为类的设计者,有时希望派生类只继承成员函数的接口(声明);有时希望派生类同时继承函数的接口和实现,但允许派生类改写实现;有时则希望同时继承接口和实现,并且不允许派生类改写任何东西。class Shape {public: virtual void draw() const = 0; virtu.....
分类:
其他好文 时间:
2014-08-20 15:39:22
阅读次数:
245
这也是我项目中碰到的问题,要让对话框中的控件随着对话框大小的变化进行自动调整,一般的做法是在WM_SIZE的响应函数中对所有的控件用MoveWindow()或者SetWindowPos()设置其变化比例。
但是由于需要自己计算,并且还有各种系统引起的情况,比如WIN7里有个选项“拖动时显示窗口内容”,选中与不选中导致对话框内容显示完全不一样,选中时错误,不选正确,确实让人头大。
如Ea...
分类:
其他好文 时间:
2014-08-20 10:29:56
阅读次数:
130