
mfc
文章平均质量分 83
米乐-miller
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CEdit控件对输入参数的控制,包括右键面板及快捷键的处理
#include "stdafx.h"#include "NumEdit.h"#define VK_CTRL_X 0x18 #define VK_CTRL_C 0x03#define VK_CTRL_V 0x16// CNumEditIMPLEMENT_DYNAMIC(CNumEdit原创 2013-01-23 20:04:30 · 1180 阅读 · 0 评论 -
C++派生类构造函数和析构函数调用顺序
++派生类构造函数调用顺序(详解)我们来看下面一段代码: class B1 { public: B1(int i) {cout }; class B2 { public: B2(int j) {cout }; class B3 { public: B3(){cout }; class C: publ转载 2013-01-18 16:06:20 · 884 阅读 · 0 评论 -
PreTranslateMessage处理键盘消息
PreTranslateMessage作用和使用方法PreTranslateMessage和TranslateMessage主要处理键盘的消息 PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当需要在MFC之前处理某些消息时,常常要在这里添加代码. MFC消息控制流最原创 2013-01-11 18:47:20 · 2661 阅读 · 0 评论 -
GDI+环境配置及运用
一,首先加载gdi+库,目前一般windows系统都有#include #pragma comment(lib,"gdiplus.lib")using namespace Gdiplus;二,在程序加载时(一般在OnInitialDlg或者InitiInstance)ULONG_PTR m_gdiplusToken; GdiplusStartupInput gdiplu原创 2013-01-18 19:49:35 · 664 阅读 · 0 评论 -
CObArray的介绍
CObArrayCObArrayCObArray CObArray CObject └CObArray CObArray类支持CObject指针数组。这些对象数组近似于C中的数组,但不同的是它们可以动态地增减。 数组索引总是开始于位置0。你可以决定是否固定数组上界,或当增加元素超过了当前边界后,是否允许数组扩展。内存分配给数组上界的邻近值,而不管某些元素是否为空。转载 2013-01-17 10:41:17 · 6424 阅读 · 0 评论 -
CArray类的方法介绍
CArray的用法templateclass CArray:public CObject参数 ARG_TYPE可以不使用其实就是carray类对象内部函数参数的实现为const,在carray类对象声明时可以不指定ARG_TYPE参数TYPE 模板参数指定存储在数组中的对象的类型。TYPE是一个由CArray返回的参数。ARG_TYPE 模板参数指定转载 2013-01-17 10:34:33 · 883 阅读 · 0 评论 -
MFC的串行序列化的实现
序列化就是存储对象数据,反序列化就是读取保存的对象数据mfc的串行序列化的实现几个必要条件1.类对象必须要直接或间接继承cobject对象2.类中要有默认的构造函数3.类中要有DECLARE_SERIAL( 类名)的声明,类实现的外部要有IMPLEMENT_SERIAL( 类名, 直接继承的类, 1)4.类要继承cobject的虚函数实现virtual void Seriali原创 2013-01-17 09:57:22 · 553 阅读 · 0 评论 -
debugview + outputdebugstring 调试程序 同时也可以输出调试日志文件
下载一个最新版的debugview调试器outputdebugstring是window下的api函数,支持unicode和ascii编码,可以再debug和release下显示信息outputdebugstring使用包含头文件windowl.h即可,调试程序时若再debugview下显示调试信息,需要关闭其它的调试器。outputdebugstring参数是以\0结束的字符串,若要原创 2013-01-16 10:10:00 · 4506 阅读 · 0 评论 -
窗口关闭过程,非模态对话框为什么不能使用enddialog关闭窗口
对于模态对话框DoModal出来的,删除对话框时用cdialog::onok()或者cdialog::oncancle(),这些函数调用之后并没有删除对话框,而是设置了操作系统对话框的结束标志,当操作系统检测到这个标志后,就结束该对话框的消息循环,同时也去释放掉对话框里面的资源。若要退出时提示是否要退出,可在onclose()、onok()、oncancel()中做处理,而不能再响应wm_de原创 2013-01-15 20:27:12 · 6515 阅读 · 0 评论 -
注册窗口类 registerclass
window把窗口以不同的类别进行设计,通过不同的类别来管理不同的资源,体现模块化管理的思想。以mfc为例Button类别有ccheckbox,cbutton,radiobutton等 ,Static类别有cstatic、staticgroup等。 一个应用程序在创建某个类型的窗口前,必须首先注册该“窗口类”(Windows Class)。注意,这里不是C++类的类。Register Wi原创 2013-01-14 21:16:40 · 7256 阅读 · 0 评论 -
库的三种加载方法 显示加载 隐示加载 延迟加载
1. 静态库静态库的加载 需要头文件和lib库文件 编译时使用lib库中引用的内容,嵌入到目标文件,实现内容的重用仅仅是在编译时2.动态库的加载 1.隐示加载 2.显示加载 3.延迟加载动态链接库dll,静态链接库lib, 导入库lib 目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动原创 2013-01-14 19:21:16 · 2137 阅读 · 0 评论 -
window下创建线程的API方法
windows下创建线程有CreateThread _beginthreadex两个函数,起始_beginthreadex函数是CreateThread的封装,使用createthread容易造成内存泄露,一般不推荐使用,推荐使用_beginthreadex函数来创建线程。而mfc下推荐使用AfxBeginThread()。内存泄露其实是冲突的问题。在很多参考书上,都说不要用Create原创 2013-01-14 19:16:58 · 7826 阅读 · 0 评论 -
多线程,线程创建及关闭句柄存在的问题,终止线程的运行的几个函数
多线程的编程在Win32方式下和MFC类库支持下的原理是一致的,进程的主线程在任何需要的时候都可以创建新的线程。当线程函数执行完任务后,自动中止线程;当进程结束后,所有的线程都中止。在Windows的一个进程内,包含一个或多个线程。线程是指进程的一条执行路径,它包含独立的堆栈和CPU寄存器状态,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等等。一个进程内的所有线程使原创 2013-01-21 14:28:00 · 7032 阅读 · 0 评论 -
系统变量和用户变量及其运用
设置过程如下: 我以win7为例,XP也是一样的,叫法不一样而已; 系统变量和用户变量,功能是一样的,只是权限不同罢了,见名知意…… 系统变量或者用户变量,名字必须和应用程序的名字一样右击计算机属性——高级系统属性 点环境变量(N)2011-7-30 00:45 上传下载附件(46.1 KB)原创 2013-01-22 15:39:58 · 776 阅读 · 0 评论