自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gencheng的专栏

主要讨论VC++、Delphi语言在实际开发遇到的各种问题....

  • 博客(128)
  • 资源 (8)
  • 收藏
  • 关注

原创 三大MSG宏

//afxwin.hstruct AFX_MSGMAP{ const AFX_MSGMAP* (PASCAL* pfnGetBaseMap)(); const AFX_MSGMAP_ENTRY* lpEntries;};struct AFX_MSGMAP_ENTRY{ UINT nMessage; // windows message UINT ...

2019-05-23 10:41:05 320

原创 MFC消息处理调用过程

1.窗口创建的时候调用CWnd::CreateEx()CWnd::CreateEx()-->AfxHookWindowCreate() //安装一个WH_CBT钩子-->_AfxCbtFilterHook() //::SetWindowsHookEx(WH_CBT,_AfxCbtFilterHook, NULL, ::GetCurrentThreadId());2.钩子安...

2019-05-23 10:39:24 1004

原创 AFX_PMSG数据结构

AFX_PMSG数据结构  定义: typedef void (AFX_MSG_CALL CCmdTarget::*AFX_PMSG)(void);    void (AFX_MSG_CALL CCmdTarget::*AFX_PMSG)(void); //AFX_MSG_CALL定义为空,只为强调是MSG_CALL    void (CCmdTarget::*AFX_PMSG)(vo...

2019-05-23 10:37:32 868

原创 仿制金山毒霸专杀工具界面实现源码

网上有仿制金山毒霸专杀工具界面的实现方法,详见http://www.vckbase.com/module/articleContent.php?id=306但却没有完整的实现源码,这次我认真了,花了几天时间把它详细的实现出来。我把原来的金山毒霸专杀工具exe文件也打包上来了,方便你对照修改程序设计效果。如果你有兴趣也可以从它提取出原始资源文件。源码:https://download.cs...

2018-07-29 09:38:01 513

原创 MFC数据交换和数据校验核心类CDataExchange

//===============类申明===============================class CDataExchange{// Attributespublic: BOOL m_bSaveAndValidate;   // TRUE => save and validate data  读写方向标志 CWnd* m_pDlgWnd;           // contai...

2018-07-05 11:36:24 543

转载 try catch throw用法

原贴:http://blog.csdn.net/sky04/article/details/6536011要防止因为异常产生的内存泄漏,可以使用智能指针,也可以用 __try { } __finally { } 《Windows核心编程》一书第23~25章是很好的参考资料。-----------------------------------------

2015-04-01 14:53:01 732

转载 重载数组下标操作符,使用operator

重载数组下标操作符,使用operator原贴:http://blog.csdn.net/keeplooking2510/article/details/8042057    数组在类的定义中确定好了长度之后,就会限制所要存储的元素的个数,假如我们要存储的元素的个数超过了已确定的数组的长度,那么就会导致数组越界。故最好的办法就是在创建对象的时候才确定要存储元素的个数,即数组的长度

2015-04-01 14:43:39 3561 1

原创 CPaintDC类与 CClientDC类的区别

CPaintDC 与 CClientDC  CPaintDC 与 CClientDC都是从CDC类继承而来。所以,这两个类的外在行为高度的抽象一致。以致于初者会误以为两者的使用可以替换(或者说MFC初学者很容易将两者的使用混淆)。事实上,MFC将两者都从CDC继承,是为了让用户在不同的场景下更加方便,高效的使用DC。如果不理解两者内部运作原理,混淆使用,就会出现屏幕绘制不能达到客户调用结果

2013-12-16 15:43:14 6290 1

原创 不用写一行代码,用MFC向导实现的文本编辑器(类似Windows下的记事本)

不用写一行代码,用MFC向导实现的文本编辑器(类似Windows下的记事本)源码下载:http://download.csdn.net/detail/gencheng/6647927  这个东西是给懒人准备的,没有写一行代码,只是用应用程序向导(AppWizard)和资源编辑器加了个菜单和图标,就完成了一个文本编辑器,它实现了“文件”菜单下的新建、打开、保存、另存为、页面设置、打印

2013-12-03 10:35:12 7378 4

原创 MFC中的Dump示例

测试代码:// trace.cpp#include #include // Define the application classclass CApp : public CWinApp{public: virtual BOOL InitInstance();};CApp App; // Define the window classclass CWindow :

2013-11-27 10:47:56 4676

转载 VC获取应用程序路径

http://lw1957625.blog.163.com/blog/static/53634885201032472034979/VC获取应用程序路径//获取应用程序所在路径CString CLogFile::GetFilePath(){      CString m_FilePath;      GetModuleFileName(NULL,m_FilePath.G

2013-11-26 10:05:04 4520

原创 字体序列化保存读写

字体序列化保存读写  在实际开发中,程序中经常需要用到保存窗口大小、窗口位置、字体设置功能,以便程序在下次运行后,自动恢复上次的用户的使用设置(比如窗口的大小、位置、字体等等),这样做会给用户带来良好的软件操作体验,提高用户的使用满意度。  软件配置的读取,可以采用多种方法实现:数据库、INI文件、注册表等都可以实现。不过,在VC开发中,使用MFC的序列化机制大概是所有方法中最方便、最好用

2013-11-25 17:02:48 2247

原创 MFC Windows 编程符号

MFC Windows 编程符号  这些符号也是 MFC 支持文件的组成部分,但它们支持标准的 Windows 应用程序功能和操作。 这些符号主要用于菜单。 当在菜单编辑器中处理菜单时,这些符号将出现在与公共菜单命令关联的“属性”窗口中。 例如,如果应用程序具有带“退出”命令的“文件”菜单,该命令将与“属性”窗口中的符号 ID_APP_EXIT 关联。ID_APP_ABOUTI

2013-11-15 16:31:04 2224

原创 AppWizard向导产生的MFC框架中文件菜单项动作的缺省处理行为

AppWizard向导产生的MFC框架中文件菜单项动作的缺省处理行为  可能大家用AppWizard向导后会有一个疑惑,AppWizard向导产生的菜单,比如“文件”菜单,我们没写一行代码,但却自动实现了相应的功能,它是怎么实现的?我们只能知道一个常识:一定是MFC框架在幕后做了一些事情,所以才会实现这些功能,这些功能自己是不会从天上掉下来的。  你应该知道,AppWizard向导产生

2013-11-15 11:35:32 2259

原创 查找(替换)对话框在VC中的使用

查找(替换)对话框在VC中的使用1.弹出查找(替换)对话框   CString findString;   findReplaceDialog = new CFindReplaceDialog;   findReplaceDialog->Create( TRUE, findString, "" );     2.如何实现在点击上图对话框中的“查找下一个”

2013-10-28 15:06:57 1916

原创 Bit、Byte、Word、DWord之间的关系

Bit、Byte、Word、DWord之间的关系Bit:位    字长 1 范围:0,1Byte: 字节  字长 8 范围:0~255Word:  字  字长 16 范围:0~65535Dword: 双字  字长 32 范围:0~4294967296换算关系:    1Dword = 2Word

2013-10-24 10:29:31 3633 1

原创 MFC消息处理宏和消息处理函数原型

ON_COMMAND(, )afx_msg void memberFxn();ON_COMMAND_EX(, )afx_msg BOOL memberFxn(UINT);ON_COMMAND_EX_RANGE(, , )afx_msg BOOL memberFxn(UINT);ON_COMMAND_RANGE(, , )afx_msg void

2013-10-15 09:15:59 1811

原创 MFC框架中消失的WinMain()

学过一段时间的MFC之后,很多人大概都有一个疑问:在MFC中,WinMain()哪去了?因为任何一个使用过Win32 SDK编程的人都知道,WinMain()函数是Win32程序开始的入口点,可是在MFC的框架使用中,一般我们只知道从CWinApp类继承得到一个新类,然后重写InitInstance()虚函数,程序框架就可以运行了。哪么,在MFC中,WinMain()倒底去哪了?  似乎微软就

2013-10-13 09:31:18 8612

转载 MFC六大关键技术

MFC六大关键技术原文链接:http://blog.csdn.net/master_max/article/details/1540204MFC六大关键技术之初始化过程我并不认为MFC减轻了程序员们的负担,MFC出现的目的虽然似乎是为了让程序员不用懂得太多就可以进行视窗编程,但本人在MFC里徘徊了很久很久(因为那时没有书本详细介绍MFC的原理),毫无收获。可能朋友们会说,怎么一定要

2013-10-12 16:43:15 1895

原创 绘图基础--橡皮筋画线

绘图基础--橡皮筋画线橡皮筋画线:用户点击鼠标左键定下一个起点,然后把鼠标拖到目标终点,这时程序就会在起始点间画线。// rubber.cpp#include // Define the application classclass CApp : public CWinApp{public: virtual BOOL InitInstance();};

2013-09-22 16:21:32 6604

原创 绘图基础--检测在矩形中鼠标点击事件

绘图基础--检测在矩形中鼠标点击事件初始:鼠标左键单击:鼠标左键双击:鼠标左键双击还原:// getclcks.cpp#include // Define the application classclass CApp : public CWinApp{public: virtual BOOL InitIn

2013-09-22 15:03:30 1105

原创 绘图基础--鼠标移动画点

绘图基础--鼠标移动画点// draw1.cpp#include // Define the application classclass CApp : public CWinApp{public: virtual BOOL InitInstance();};CApp App; // define the window classclass CWind

2013-09-22 14:53:22 2267

原创 绘图基础--多边形2

绘图基础--多边形2// polygon2.cpp#include // Define the application classclass CApp : public CWinApp{public: virtual BOOL InitInstance();};CApp App; // define the window classclass CWin

2013-09-18 15:08:54 724

原创 绘图基础--多边形1

绘图基础--多边形1// polygon1.cpp#include // Define the application classclass CApp : public CWinApp{public: virtual BOOL InitInstance();};CApp App; // define the window classclass CWin

2013-09-18 14:45:05 1062

原创 绘图基础--画弧,扇形,弓形

绘图基础--画弧,扇形,弓形// arc.cpp#include #include // Define the application classclass CApp : public CWinApp{public: virtual BOOL InitInstance();};CApp App; // define the window classc

2013-09-18 14:07:23 2388

原创 绘图基础--椭圆

绘图基础--椭圆// ellipse.cpp#include // Define the application classclass CApp : public CWinApp{public: virtual BOOL InitInstance();};CApp App; // define the window classclass CWindow

2013-09-18 14:04:12 807

原创 绘图基础--使用画笔和画刷绘制网络

绘图基础--使用画笔和画刷绘制网络// rect.cpp#include // Define the application classclass CApp : public CWinApp{public: virtual BOOL InitInstance();};CApp App; // define the window classclass CWind

2013-09-18 11:59:31 1201

原创 绘图基础--画笔

绘图基础--画笔// line2.cpp#include // Define the application classclass CApp : public CWinApp{public: virtual BOOL InitInstance();};CApp App; // define the window classclass CWindow : pub

2013-09-18 11:33:35 818

原创 绘图基础--画线

绘图基础--画线// line1.cpp#include // Define an application classclass CApp : public CWinApp{public: virtual BOOL InitInstance();};CApp App; // define the window classclass CWindow : publ

2013-09-18 09:54:53 900

原创 MFC版的Hello World

MFC版的Hello World  使用MFC类库写个Hello示例程序比直接用Win32 API写要简单的多了。因为MFC用几个类封装了应用程序的创建,消息循环等等东东。    闲话少说,先给来一个最简单的MFC版Hello World.//Hello.h#ifndef Hello1_H_#define Hello1_H_ #include // Dec

2013-08-20 10:39:46 2735

原创 MFC中SDI程序创建流程的回顾

SDI程序创建流程的回顾   从CWinApp.InitialInstance()开始,1.首先应用程序对象创建文档模板;  CSingleDocTemplate* pDocTemplate;  pDocTemplate = new CSingleDocTemplate(  IDR_MAINFRAME,  RUNTIME_CLASS(CSDICoinDoc),  R

2013-08-14 16:36:27 4732

原创 MFC基础类源码CPP实现文件

WinMain.CPP---->AfxWinMain()  //近似可认为是WinMain()函数的入口VIEWCORE.CPP---->CViewDOCCORE.CPP---->CDocumentWINFRM.CPP---->CFrameWndDOCTEMPL.CPP--->CDocTemplateDOCSINGL.CPP--->CSingleDocTemplateD

2013-08-14 16:34:42 2703 1

转载 Qt vs MFC (Qt和MFC的战争)

Qt vs MFC (Qt和MFC的战争)分类: 其它文章 Qt MFC 2012-01-13 10:54 428人阅读 评论(0) 收藏 举报 在网上看到的,拿来和大家一起讨论下。蓝字均为转载我曾经使用过QT和MFC来开发过软件,我想和大家分享我使用他们时所体会的不同之处。我并非一个职业作家,这篇文章可能看起来不如专业的杂志和网站上的那么条理清晰。但是,我在这里是用我自己的语言来

2013-07-23 10:00:40 1459

转载 MFC是否过时?如何学习MFC?

http://sunxiunan.com/?p=1649MFC是否过时?如何学习MFC?发表于 2010年05月31日 由 admin过时与否?简单回答就是:没有过时。是否需要学习MFC?简单答之:depends on。学习MFC最好的书籍?是这本:http://www.china-pub.com/45715 《VC++技术内幕》,另外深入一点可以看《深入浅出MFC》(

2013-07-23 09:41:03 1143

转载 MFC7对应VC什么版本?

MFC7.0 对应 VC.NET 2002从VC4.2到VC6.0的MFC版本是4.2,后面没有5.0和6.0到后来推出的Visual Studio 2002版本MFC为7.0下面MFC版本同Visual Studio版本关系供你参考7.0 Visual C++ .NET 2002 7.1 Visual C++ .NET 2003 8.0 Visual C++ 2005

2013-07-23 09:30:01 1665

转载 Visual C++ 编程辅助工具

Visual C++ 编程辅助工具(转载)开发辅助工具大收集除了我们日常开发使用的Visual C++、Delphi、JBuilder等等大家伙, 还有很多小巧好用的开发辅助工具,善用它们可以极大的提高我们的效率。日常工作中我主要使用Visual C++开发程序,工作几年,收集了一些小工具, 下面逐个介绍给大家。也希望大家把自己的工具拿出来和大家分享。如果大家需

2013-07-23 09:27:50 1795

转载 fatal error LNK1104: cannot open file "mfc42u.lib"

cannot open file "mfc42u.lib"怎么回事,怎么改动配置选项?   解决方法一:  下 了一个老外的示例代码,放到VC 6.0中编译,竟然得到了一个fatal error LNK1104: cannot open file "mfc42u.lib"错误,让人一筹莫展。在网上Search了下,问题是默认的VC缺少对Unicode的支持,而这个代码恰恰就是按照 Unicod

2013-07-23 09:22:23 6729 4

原创 操作系统核心对象与GDI对象

①核心对象(Kernel object):表现为HANDLE,它由KERNEL32.DLL管理。  .核心对象可以有一个以上的拥有者,甚至可以是跨进程的拥有者。  .每一个核心对象内部都有一个引用记数(refenrence count),当引用记数为0时,操作系统将销毁该核心对象(cleans up操作);CloseHandle()的唯一作用就是将引用记数减1.它只存于下列7种对象

2013-07-20 16:33:27 1150

原创 个人多线程程序设计经验总结

1.各线程的数据要分离开来,避免使用全局变量。2.如果各线程一定要使用全局变量,哪么该全局变量一定要读写保护(临界区,互斥等技术)。3.不要在线程之间共享GDI对象。4.确定你知道你的线程状态,不要径自结束程序而不等待它们的结束;5.让主线程处理用户界面(UI)。6.千万不要在一个临界区中调用Sleep()或Wait..()API函数;不要长时间锁住一份资源。7.线程之间(

2013-07-19 10:13:01 8341 4

转载 线程间如何进行消息传递

线程间如何进行消息传递1) 定义消息ID#define WM_USER_MSG WM_USER+1022) 创建线程m_hThread = CreateThread(NULL, 0, Thread, 0, 0, &m_dwID);3) 线程函数中使用GetMessageDWORD WINAPI Thread(LPVOID lpParameter){while

2013-07-19 10:07:23 2341

BlackJack.zip

BlackJack(21点),Qt5.1源码,可在windows,ubuntu,linux下编译运行

2021-07-17

仿制金山毒霸专杀工具界面实现源码

仿制金山毒霸专杀工具界面实现源码 网上有仿制金山毒霸专杀工具界面的实现方法,详见http://www.vckbase.com/module/articleContent.php?id=306 但却没有完整的实现源码,这次我认真了,花了几天时间把它详细的实现出来。 我把原来的金山毒霸专杀工具exe文件也打包上来了,方便你对照修改程序设计效果。如果你有兴趣也可以从它提取出原始资源文件。

2018-07-29

delphi7 程序以管理员权限运行 uac.RES 经典控件界面

delphi7 程序以管理员权限运行 下载的uac.RES文件在用{$R 'uac.res'}指令编译后,生成的可执行程序都是Win7控件界面,而我们要的结果可能只是需要程序以管理员权限运行,并且Win7控件界面运行的Delphi7程序有一些兼容性问题,要就遇到了,所以,就有了这个奇葩的特制版uac.RES! 记住,这个uac.RES只是使你的Delphi7程序在Win7下用内嵌清单的方式以管理员权限运行,程序界面控件还是经典的windows控件界面。另外,网友的哪个{$R 'uac.res'}后没出现盾牌纯粹是没搞清楚level="requireAdministrator"是干什么的。 需要的就下吧,不要分。

2016-11-08

2014新版个人所得税计算器

2014新版个人所得税计算器。 网上的个税计算器源码大多数都是基于起征点800元或2000元的老程序,很少有基于3500元的,另外新的税法规定了七级累进税率也和原来的不同。它的特点是只有一个对话框,程序短小精悍,计算结果准确快速。 初学VC,为公司的财务做的小程序。

2014-11-11

用MFC向导实现的文本编辑器 类似Windows下的记事本

用MFC向导实现的文本编辑器 类似Windows下的记事本

2013-12-03

文本编辑器

一个用VC6.0编写的经典的文本编辑器,它是用C++的方式手工编写源代码,完全没有借助AppWizard和ClassWizard工具的使用。源码对于初学者理解VC++的核心框架类有很大帮助

2013-10-16

Mastering Delphi 7 英文版

Delphi两大系列之一的MD系列。这是针对Delphi7的英文原版。

2011-11-21

Delphi 5.x 分布式多层应用系统篇

李维的Delphi 5.x 分布式多层应用系统篇

2011-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除