其他
qiaozongpeng
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MFC星火02_消息映射机制
个人比较看重MFC的消息映射机制,因为一直有项目的原因没有时间进行深入的理解一下消息映射机制,今天就正好上班空闲便单刀直入打开《深入浅出MFC》(想要学MFC这本书还是很不错的开始)电子书直接翻到这一部分,想着今天一定要懂,就这样,懂了! MFC消息映射的核心思想是建立一个映射表,表中包含三类信息,消息的基本信息,消息的处理函数以及基类对该消息的处理 在消息产生时程序会先找映射表中当前原创 2012-01-09 19:53:45 · 860 阅读 · 0 评论 -
VC编程经验01
工作两个月以来的总结 1 用++i代替i++ 2 MFC中对话框退出的时候(包括cancel按钮、右上角关闭按钮、快捷键esc)必经的函数是OnCancel()函数, 所以如果退出时有操作可继承CDialog类中的OnCancel函数进行统一处理 3 编码时要尽量做到业务与界面的分离,例如要读入对话框的数据最好单独实现,这样可以避免后期因为依赖关系太强难以维护原创 2011-12-25 10:13:54 · 471 阅读 · 0 评论 -
C++星火03_valist用法
1 背景 函数的参数一般是用栈的形式从右向左进行存储的,所以提取时候是从左向右提取 例: #include using namespace std; void fun(int nCnt, ...) { int *pTemp =&nCnt; pTemp++; for (int i = 0; i { cout pTemp++; } cout }原创 2012-01-04 19:43:03 · 1436 阅读 · 0 评论 -
Windows程序设计_笔记01
窗口和消息 1 窗口消息循环和消息处理程序不是并发执行的,DispatchMessage()要在消息处理函数执行完之后才返回 2 消息分为队列消息和非队列消息, 队列消息是有要加入到消息队列中的消息,一般是用户输入产生的消息, 非队列消息一般来自呼叫特定的windows函数(WinMain 呼叫ShowWindows()产生WM_SIZE和WM_SHOWWINDOW消息)原创 2012-01-04 19:57:03 · 470 阅读 · 0 评论 -
VC编程经验02_VS2005远程调试
1 在VS2005安装目录下拷贝一个文件夹(远程调试监视器)到远程端(存放路径随意) 一般路径为C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger下的x86文件夹 2 设置远程端的网络访问模式 xp:控制面板->管理工具->本地安全策略->本地策略->安全选项->(右侧)网络访问 将"本地帐户的原创 2012-01-04 19:58:55 · 456 阅读 · 0 评论 -
MFC星火03_DECLARE_DYNAMIC
一 关于DECLARE_DYNAMIC的英文说明 When deriving a class from CObject, this macro adds the ability to access run-time information about an object’s class. Add the DECLARE_DYNAMIC macro to the header (.H)原创 2012-01-09 20:35:22 · 1014 阅读 · 0 评论 -
设计模式星火01_单例模式
1 用单例的时机 需要保证一个类只有一个实例,并且提供一个他的全局访问点。 2 方法 2.1 将构造函数定义为保护类型的(用户没有办法创建对象) 2.2 向类中添加两个静态成员(一个静态成员函数和一个私有静态成员变量) static ClassName* m_pInstance; static ClassName* Instance() { if(m_p原创 2011-12-25 10:05:51 · 720 阅读 · 0 评论 -
C++星火02_一些好的编程规范
本文总结一些编程部分好的编程规范 1 空格 空格出现在','之后,不作为结束符的';'之后,"?" ":" 前后,各种二元运算符之后 int Func1(int nA, int nB); for(int nCnt = 0; nCnt if(nYear if((a nX = a > b ? 10 : 20; 2 长表达式 表达式过长可以在低优先级处拆分多行,原创 2012-01-04 19:31:25 · 804 阅读 · 0 评论 -
C++星火04_关联容器map
map是STL的一个关联容器,他提供一一对应的数据处理能力(第一个为关键字,第二个为对应的值),并且能保证容器中的数据有序 用法(用一个班级中学生的学号和姓名进行举例) 1 创建 map mapStudent; 2 清空 mapStudent.clear(); 3 插入数据 3.1 直接插入 3.1.1 用pair mapStudent.insert(原创 2012-01-04 19:48:23 · 738 阅读 · 0 评论 -
MFC星火01_多线程初探
MFC多线程有两类,工作者线程和用户界面线程 两者主要的区别是工作者线程没有消息循环,用户界面线程有自己的消息队列和消息循环. 工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等,要用到6个参数. 用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等,要用到5个参数. 但对于Win32的A原创 2012-01-04 19:54:49 · 837 阅读 · 0 评论 -
VC编程经验03_学习代码
1 可以将一个类仅仅提供给另一个类使用的方法 将类的构造函数定义成保护成员 在类中定义一个公共的友元类 class CEnvManageImpl { friend class CProjectMgr; protected: CEnvManageImpl(); public: ~CEnvManageImpl(); ... } 2一般路径名中可以有/和\,在进一步处原创 2012-01-04 20:07:27 · 600 阅读 · 0 评论 -
C++星火01_编译指令
主要记录一下部分编译伪指令相关的知识点 1 #error ifndef WIN32 //__cplusplus #error Error : Only Win32 platform supported! #endif 编译伪指令,用于在编译窗口中显示平台、环境相关的错误信息。 2 #pragma 用于设置编辑器的状态 几个常原创 2011-12-25 09:48:03 · 541 阅读 · 0 评论
分享