- 博客(40)
- 资源 (17)
- 收藏
- 关注
转载 图解VC添加自定义消息
为满足特定应用程序的需要,有时需要添加自己的消息和消息处理函数,我们已单文档MFC为例演示一下如何添加MFC自定义消息首先是添加消息的种类。我们知道windows下面有各种消息,比如WM_LBUTTONDBLCLK 表示鼠标左键单击消息,WM_KEYDOWN 表示键盘某键按下的消息,我们自定义一个消息,当然也要添加我们自己的消息咯。在需要添加消息映射的CPP中添加如下的消息定义#def
2013-02-28 13:54:49 916
转载 MFC激活自定义消息
上一片博文中讲到如何添加自定义消息,那么这一篇中来讲如何激活自定义消息。自定义的消息激活的方式多种多样,可以自行确定。我这里已用Timer来激活为例概括:我有一个定时器消息处理函数,每一秒触发一次,我想在每隔5秒的时候触发一次自定义函数。那么我们先创建Timer和添加Timer消息处理函数在主框架的OnCreate事件中添加如下语句this->SetTimer(1,1000,N
2013-02-28 13:52:49 987
转载 MFC 如何添加自定义消息
如果用户自定义的类要求响应普通的Windows消息(也就是以WM_开头,除了WM_COMMAND以外的消息,这类消息在WM_USER以下的是系统消息,WM_USER以上的可以由用户自己定义),那就要求自定义的类必须从CWnd中派生。这是由于此类消息的处理机制决定的,这类消息没有命令消息那条繁琐的流动路径,而是消息发出者直接发给对应CWnd的窗体句柄,由CWnd负责消息的响应。所以这类消息必
2013-02-28 13:51:34 773
转载 VC++的文件操作
文件打开:char* pszFileName = "c:\\test\\myfile.dat";CFile myFile;CFileException fileException;if ( !myFile.Open( pszFileName, CFile::modeCreate | CFile::modeReadWrite, &fileException ) ){ T
2013-02-26 11:05:00 947
转载 如何查看MFC源码
在vc6开发界面中,打开文件,然后选择C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC\MFC.bsc(具体目录还要根据自己VC的安装路径)。打开文件以后,选择TOOLS ->Source Browser 然后在identifier中输入你想要查看的类,变量,宏或函数名,然后在select query 中选择你要查询的相关内容即可。
2013-02-25 16:42:53 953
转载 GDI+: Why is FillRectangle transparent on glass, while FillEllipse is opaque?
i'm drawing a rectangle, and an ellipse, on glass.brush = new SolidBrush(0xFF000000); //solid (i.e. non-opaque) blackgraphics.FillRectangle(brush, x, y, 30, 30);graphics.FillEllipse(brush,
2013-02-22 09:51:09 1687
转载 关于CSocket类的Receive超时的问题
问题:当CSocket的Receive阻塞时,如何进行超时处理。由于程序是在多线程中使用Socket通信,开始时是在主线程中用定时监测Receive函数,当超时后,结束通信。但问题是CSocket对象无法释放。因此从网上搜索解决办法,直接在线程中对Receive进行超时处理。不错,搜到以下内容,很多网站转载。为CSocket配置Time-Out功能 C
2013-02-21 11:03:34 1118
转载 内存申请与一级二级指针
1.如果是函数内进行内存申请,很简单,标准用法就可以了:test(){ int *array; array=(int *)malloc(sizeof(int)*10);//申请10*4 bytes,即10个单位的int内存单元}注意,malloc使用简单,但是注意参数和返回值,参数是申请内存的字节数,多字节的类型如int,short,float等需要乘上类型字节数,返
2013-02-21 09:44:53 1081
转载 VC++获取网卡MAC、硬盘序列号、CPU ID、BIOS编号
以下代码可以取得系统特征码(网卡MAC、硬盘序列号、CPU ID、BIOS编号) BYTE szSystemInfo[4096]; // 在程序执行完毕后,此处存储取得的系统特征码 UINT uSystemInfoLen = 0; // 在程序执行完毕后,此处存储取得的系统特征码的长度 // 网卡 MAC 地址,注意: MAC 地址是可以在注册表中修改的 {
2013-02-21 09:25:30 2962
转载 左右两边的青蛙位置互换--面试编程题
把左右两边的青蛙位置互换。青蛙只能向前,不能退后,用鼠标点青蛙,青蛙就会向前跳,它只会向前跳一步或隔着一只青蛙向前跳一步原游戏在这里点击打开链接面试过程中的一个上机题:废话少说,上代码[java] view plaincopyimport java.util.ListIterator; import ja
2013-02-20 13:58:23 2911
转载 中兴面试题之求所有组合使之和为m
编程求解: 输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数, 使其和等于 m ,要求将其中所有的可能组合列出来. 排列组合的题我一般想到的就是递归求解,或者说是深搜吧。 定义一个函数func(int pos,int k,int del);pos表示需要填充的数是第几个,k表示从k开始,del表示剩下数的和是多少是符合要求的。初始化自然是func(1
2013-02-20 13:56:32 1005
转载 大杀四方的面试编程题
传闻这道简单猥琐的面试编程题令无数求职应试者饮恨而归,不信你可以试一试,知道秘密的同学不急着点破,答案过会儿揭晓。。 请用C语言编写完成以下函数,该函数实现了如下功能:调用者调用此函数,此函数提示由三条边e1, e2, e3是否构成三角形或者构成等腰三角形或者构成等边三角形。 void checkTriangle(double e1, double e2, double e3){}
2013-02-20 13:54:48 1136
转载 MFC Grid control 2.27
By Chris Maunder, 6 May 2010 4.97 (980 votes) Download demo project (v2.27) - 296 KbDownload source (v2.27) - 101 Kb D
2013-02-20 10:51:50 2984
转载 将MFC Grid control封装为DLL的做法及其在DLL中的使用方法
MFC Grid control是一款非常优秀的网格控件,支持非常丰富的界面元素,如下图: 因而在数据库程序及报表程序应用较为广泛,其源码可以在下面下载到:MFC Grid control 2.27源码下载 MFC Grid control的作者并没有将其封装为DLL,因为在程序的多个模块复用这个控件比较麻烦(需要在多个工程中加入其源码)
2013-02-20 10:45:15 1444
转载 在VC中使用CImage转换图片格式以及显示
最近在做远程桌面,需要在服务端和客户端之间传输图片。由于直接截图的是bmp格式的,图片很大,于是需要把它压缩转成jpg格式的传输。在网上找了很久才发现了一个调用外部库(JpgDll.dll)的方法。但是使用的时候常会出错。后来经人提醒,才知道有CImage这个类!MSDN2005中CImage类的实例:ms-help://MS.VSCC.v80/MS.MSDN.v80/MS
2013-02-19 10:40:13 5163
转载 VS2005中const char *转换为LPCWSTR的方法Unicode
VS2005默认是Unicode的,在VC 6.0中编译成功的项目在VS2005中常会出现类型错误。 经常出现的错误是:不能从const char *转换为LPCWSTR如使用CreateDC("DISPLAY",NULL,NULL,NULL)就会报错,如果使用强制转换(LPCWSTR)"DISPLAY",虽然能够通过,但是编码会出错。 可行的办法
2013-02-19 10:36:56 824
转载 C++超级简明的文件传输代码:接受端或客户端
#include #include #pragma comment(lib, "ws2_32.lib")void main() { // 初始化 Winsock. WSADATA wsaData; int iResult = WSAStartup( MAKEWORD(2,2), &wsaData ); if ( iResult != NO_E
2013-02-19 10:30:47 1010
转载 C++ 超级简明的文件传输代码:发送端或服务端
#include #include #pragma comment(lib, "ws2_32.lib")void main() {// 初始化 WSADATA wsaData; int iResult = WSAStartup( MAKEWORD(2,2), &wsaData ); if ( iResult != NO_ERROR )
2013-02-19 10:29:24 968
转载 STL中用ERASE()方法遍历删除元素
STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。 在使用 list、set 或 map遍历删除某些元素时可以这样使用:正确使用方法1 std::list List; std:
2013-02-18 16:07:01 799
转载 Intel收购风河的战略意义
——发展嵌入式与多核 Intel在美国时间6月4日宣布,以8.84亿美元总价收购设备软件优化(DSO)方案供应商风河(Wind River Systems)公司。风河将纳入Intel软件与解决方案事业部(Software and Services Group)(图1)。 图1 英特尔组织结构看似虚幻的真实 这段姻缘倒像一个真实的谎言。过去IBM拟收购风河的绯闻,在业界曾沸沸
2013-02-18 13:43:36 1798
转载 c++11 线程:让你的多线程任务更轻松
英文原文:C++ 11 Threading: Make your (multitasking) life easier介绍本文旨在帮助有经验的Win32程序员来了解c++ 11线程库及同步对象 和 Win32线程及同步对象之间的区别和相似之处。在Win32中,所有的同步对象句柄(HANDLE)是全局句柄.它们可以被共享,甚至可以在进程间复制。
2013-02-17 19:10:58 1393
转载 SkinControls 1.1 - A journey in automating the skinning of Windows controls
SkinControls 1.1 - A journey in automating the skinning of Windows controlsBy .dan.g., 12 Oct 2003 4.96 (74 votes) Dow
2013-02-14 13:39:05 1763
转载 Win32 SDK C Tab Control Made Easy
Win32 SDK C Tab Control Made EasyBy David MacDermot, 18 Jun 2009 4.57 (24 votes) Download demo project - 114.79 KBDo
2013-02-14 13:37:53 2778
转载 MultiPaneCtrl
MultiPaneCtrlBy Borodenko Oleg, 12 Jul 2010 4.97 (116 votes) Prize winner in Competition "Best C++/MFC article of July 2010"
2013-02-14 13:36:28 1322
转载 CMDITabs
CMDITabsBy Christian Rodemeyer, 19 Oct 2001 4.88 (61 votes) Download demo - 12 KbDownload demo project - 32 KbDown
2013-02-14 13:34:20 1004
转载 TabCtrl
TabCtrlBy Borodenko Oleg, 12 Jul 2010 4.96 (104 votes) Prize winner in Competition "Best C++/MFC article of May 2010"
2013-02-14 13:31:51 940
转载 对C++ TR1 regular expressions的简单使用
[1] regex_search[2] regex_match[3] Retrieve a Match tr1::cmatch [4] regex_replace[5] Case-insensitive std::tr1::regex_constants::icase#include #include #include #includ
2013-02-06 10:46:48 1102
转载 解决Visual C++ 2008 Feature Pack Release安装失败的方法 —— 在VS2008简体中文版上安装TR1
在VS2008中使用#include ,会得到以下错误提示:fatal error C1083: Cannot open include file: 'regex': No such file or directory 然后google关键字:“Cannot open include file: 'regex': No such file or directory”,可以找到下面这个l
2013-02-06 10:42:10 2329 1
转载 VS Feature Pack学习之使用CMFCMenuBar自定义菜单栏
现在很多应用程序的界面基本是用配置文件来规划界面的,在这个时候就得学会自定义菜单栏和工具栏之类的。 VS Feature Pack是为微软新推出的界面库(听说是买BCG的授权,然后对之进行改造的),其中的主要的界面类可以和BCG的界面类可以对应起来,类的使用和BCG的也大同小异。但是有些做法还是很不一样,比如这次我要提到的自定义菜单栏。这里的自定义菜单栏是指去除系统默认的菜单
2013-02-06 10:29:15 898
转载 Cool Owner Drawn Menus with Bitmaps - Version 3.03
Cool Owner Drawn Menus with Bitmaps - Version 3.03By Brent Corkum, 28 Apr 2002 4.92 (178 votes) Download MFC MDI Examp
2013-02-06 10:07:07 1352
转载 关于 MFC 中 CString 内存泄露的问题
在VC++6中,CString 的拷贝构造函数没有使用内存分配,而是使用的引用,它内部保存了一个引用的计数器(这是错误的根源,MFC还有很多BUG那,以后有时间给大家介绍)。比如:CString str1="aaa";CString str2=str1; //注意,这时候str2并没有调用 new ,而是使用str1的引用同时,str1中保存的引用记数++str2="abcd1
2013-02-05 16:23:55 2028
转载 揭示C++中全局类变量的构造与析构顺序
在完成《专业嵌入式软件开发 — 全面走向高质高效编程》一书后,我将下一本书的创作集点放在了基于C++的面象对象设计与开发上。从现在开始我将陆续推出关于C++和面高对象设计的博文。下面我们切入主题。 我们可以通过图 1所示的示例程序观察到C++中一个关于全局类变量初始化顺序的有趣的现象。 class1.cpp
2013-02-04 17:16:41 978
转载 C++完美实现Singleton模式
Singleton模式是常用的设计模式之一,但是要实现一个真正实用的设计模式却也不是件容易的事情。1. 标准的实现class Singleton{public: static Singleton * Instance() { if( 0== _instance) {
2013-02-04 16:52:51 697
转载 C++中实现Singleton的正确方法
如果某个类管理了系统中唯一的某种资源,那么我们只能创建该类的一个实例,此时用到singleton设计模式(后面为了简化将省略“设计模式”四个字)就比较合适了。然而,如果不注意实现方法,就很有可能会让我们碰到一些莫名其妙的错误。图1是经过简化所得到的一个实现错误的例子。main.c 00001: #include 00002: 00003: using namespace std; 00004
2013-02-04 16:46:10 822
转载 带有指针参数的函数内给指针参数赋值时注意事项
在career cup上看到这样一题http://www.careercup.com/questionthread?id=43963#include "stdafx.h"#include using namespace std;void newBuffer(char* outBuffer, size_t sz){ outBuffer = new char[
2013-02-04 15:46:16 1596
转载 VS2008中添加注释的宏
一、功能介绍环境:VC 9(Visual Studio 2008),其他.net版本没有测试功能:在VC 9编辑器中为代码添加符合Doxygen标准的注释,其中包括:1. 模块注释2. 分组注释3. 新头文件注释4. 文件头注释5. 简要注释6. 详细注释7.
2013-02-04 13:34:34 1233
转载 关于OnOK()、OnCancel()、OnClose()、OnDestroy() 模式对话框
第一,OnOK()和OnCancel()是CDialog基类的成员函数,而OnClose()和OnDestroy()是CWnd基类的成员函数,即WM消息响应函数。从应用程序结构的角度,拿对话框来说,红色的X对应的是CWnd,而处于对话框中的“确定”、“取消”按钮则对应了CDialog。第二,OnClose()和OnDestroy()在单视图程序中,根据深入浅出MFC>>所讲,程序退出时
2013-02-03 00:35:53 1449
转载 STL历史
STL即标准模版库,是C++标准库的一个重要组成部分,它由Stepanov and Lee等人最先开发,它是与C++几乎同时开始开发的;一开始STL选择了Ada作为实现语言,但Ada有点不争气,最后他们选择了C++,C++中已经有了模板。STL又被添加进了C++库。STL又有六大组件:容器、算法、迭代器、仿函数、适配器、空间分配器。容器-----用于装各种数据结构,数组、链表、树还
2013-02-02 16:21:43 827
转载 c/c++开发工具
“工欲善其事,必先利其器。”——《论语 卫灵公》 在软件开发过程中,好的工具可以提高开发效率,提高代码质量、缩短开发周期。下面就C/C++开发相关工具做一个罗列。开发编译环境:Microsoft Visual C++/Microsoft Visul Studio/Tornado/Eclipse开发或代码走读工具:Source InsightMicrosoft
2013-02-02 16:01:16 878
转载 C++中P.J. Plauger STL和SGI STL中map的区别
P.J. Plauger STL和SGI STL中map的erase方法实现是有区别的,其中Windows下常用的是P.J. Plauger STLP,Linux下是SGI STL,SGI STL实现了标准的STL规范。.J. Plauger STL:[cpp] view plaincopyfor(ITER iter = mapTest.be
2013-02-02 16:00:13 1108
程序设计C、C++、Java、OpenGL、MFC、Windows、SDK驱动开发
2009-04-14
解决 Can not find the main class. Program will exit. 难题
2008-09-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人