- 博客(36)
- 资源 (25)
- 问答 (1)
- 收藏
- 关注
原创 CWnd与HWND的区别与转换
一、区别HWND是句柄,CWnd是MFC窗体类,CWnd中包含HWND句柄成员对象是m_hWnd.HWND是Windows系统中对所有窗口的一种标识,即窗口句柄。这是一个SDK概念。 CWnd是MFC类库中所有窗口类的基类。微软在MFC中将所有窗口的通用操作都封装到了这个类中,如:ShowWindow等等,同时它也封装了窗口句柄即m_hWnd成员。二、如何得到窗口对象指针CWn
2013-12-31 17:21:12 1101
原创 make_pair()解析
Utilities 由短小精干的类和函数构成,执行最一般性的工作。 这些工具包括: general types 一些重要的C函数 numeric limitsPairsC++标准程序库中凡是“必须返回两个值”的函数, 也都会利用pair对象 classpair可以将两个值视为一个单元。容器类别map和multimap就是使用pairs来管理其健值/实值(
2013-12-30 11:38:03 1510
原创 关于跨线程传递MFC对象指针的探究
参考1、《MFC多线程编程可能》http://jingyan.baidu.com/article/fea4511aa1180bf7bb912512.html 参考2、
2013-12-27 13:21:18 1842
原创 MFC中的模态对话框和非模态对话框
MFC中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box)。 一、模态对话框(model dialog box) 就是同步对话框 在程序运行的过程中,若出现了模态对话框,那么主窗口将无法发送消息,直到模态对话框退出才可以发送。 点击模态对话框中的OK按钮,模态对
2013-12-27 13:20:25 1093
原创 error LNK2001: 无法解析的外部符号
error LNK2001: 无法解析的外部符号 "public: void __thiscall XXXt::OnMouseMove(unsigned int,class CPoint)OnMouseMove@XXX@@QAEXIVCPoint@@@Z)..\bin\Plugins\Online/ XXX.dll : fatal error LNK1120: 1 个无法解析的外部命令这样
2013-12-27 10:12:51 1949 3
原创 strcpy,strncpy和strncpy_s的区别
首先说下strcpystrcpy()是依据源串的\0作为结束判断的,不检查copy先的Buffer的Size,如果目标空间不够,就有BufferOverflow问题。strncpy的原型为:char * strncpy(char *dest, char *src, size_t n);其将字符串src中最多n个字符复制到字符数组dest中(它并不像strcpy一样遇到N
2013-12-27 09:43:59 1376
原创 MFC控件随窗体大小变化的实现
VC++之根据对话框大小仅调整控件位置 1、在对话框类中加入成员变量CRect m_rect;用于保存对话框大小变化前的大小; 2、在对话框的OnInitDialog()函数中获取对话框创建时的大小: GetClientRect(&m_rect); 3、在WM_SIZE的响应函数OnSize()中加入以下代码: CWnd *pWnd;
2013-12-26 16:30:30 1367
原创 关于本博客的说明...
关于本博客的说明,简简单单三点: 首先关于博客内容来源,博主无才,本博客内容,绝大部分全部来自网上搜索,在此真诚感谢。 其次关于博主写博客的目的,为了把自己遇到的问题或者好的资料,整理成可实现的,有效的解决方案,供朋友们参考。(所谓有效的解决方案是指网上的很多鱼龙混杂的答案方法都不可行,这样的答案不利于高效率解决问题) 最后关
2013-12-26 15:41:15 1413
原创 MFC中通过Tooltip类来实现悬浮鼠标显示提示信息
方法一:利用CWnd本身自身支持的tooptip来实现,这种方法适用给控件增加tooltip,非常方便和简单方法如下:1、在窗口中增加消息映射ON_NOTIFY_EX(TTN_NEEDTEXT, 0, SetTipText)SetTipText是个回调函数,名字叫什么无所谓,符合原型就行了,原型下面会说。 2、EnableToolTips(TRUE),使用这个方法调用这个
2013-12-26 15:04:35 7492
原创 励志篇之哈佛大学
以此文来警醒懒惰的自己.............哈佛大学凌晨4点半的景象 哈佛图书馆的二十条训言:This moment will nap, you will have a dream; But this moment study, you will interpret dream.此刻打盹,你将做梦;而此刻学习,你将圆梦。
2013-12-26 09:01:35 2431
原创 U盘做PE装系统详细
刻录光驱挂掉以后,还有一个普通dvd光驱,装系统变得不那么容易了,暂时也不想买刻录光驱,研究了一下用winpe倒是一个方法,下了一个winPE制作向导,一步到位直接将u盘变成了启动盘(这其中唯一要注意的就是将u盘格式化成hdd),接着进入pe后,安装ghost的方法是很简单的,同window下一样,但是唯独安装原版系统却始终没有成功,原来原因在于--安装原版系统时,没有把u盘拔掉,结果系统安装时把
2013-12-25 17:20:46 2353
原创 构建自己的插件开发框架(c++)
博客《C/C++:构建你自己的插件框架 》,原文的链接:http://blog.chinaunix.net/u/12783/showart_662937.html 。看了一下里面讲的方法,自己倒是可以实现。所以有了构建自己的c/c++插件开发框架的想法。今天先写一下初步的设想。 C/C++插件开发框架的要素 BlueDavy有一篇介绍服务框架要素的文章(链接:http://www.bl
2013-12-25 14:31:50 3032
原创 调试技巧MFC中TRACE宏的使用
个人总结:最近看网络编程是碰到了TRACE语句,不知道在哪里输出,查了一晚上资料也没找出来,今天终于在CSDN上找到了,真是个高地方啊,方法如下:1.在MFC中加入TRACE语句2.在TOOLS->MFC TRACER中选择 “ENABLE TRACING”点击OK3.进行调试运行,GO(F5)(特别注意:不是执行‘!’以前之所以不能看到TRACE内容,是因为不是调试执行,而是‘!’了
2013-12-25 10:50:46 14423 3
原创 Prof-UIS(专业图形化界面)学习资料
学习了MFC之后变了几个小程序,但是总是觉得自己的程序界面不够漂亮,看到很多应用程序的界面都做的很漂亮,不免会有些羡慕。于是到网上去找了一些界面库,但是大多都是收费的。最近发现了一个免费的界面库Prof-UIS,而且它给的实例程序界面也十分专业十分漂亮,就下载来使用,但用起来有些复杂,于是我将学习的心得体会写下来,一是怕自己忘记,以便以后使用的时候查阅,二是和大家一起分享。由于水平有限所以写的肯定
2013-12-25 10:20:57 3236 3
原创 函数GetModuleFileName()
获取当前进程已加载模块的文件的完整路径,该模块必须由当前进程加载。如果想要获取另一个已加载模块的文件路径,可以使用GetModuleFileNameEx函数。
2013-12-24 11:39:53 1225
原创 函数TrackPopupMenu()
函数功能:该函数在指定位置显示快捷菜单,并跟踪菜单项的选择。快捷菜单可出现在屏幕上的任何位置。函数原型:BOOL TrackPopupMenu(HMENU hMenu, UINT uFlags, int x, int y, int nReserved, HWND hWnd, CONST RECT* prcRect);
2013-12-24 11:05:34 1411
原创 LONGLONG类型
Int64是有符号 64 位整数数据类型,相当于C++中的long long、 C# 中的 long 和 SQL Server 中的 bigint,表示值介于 -2^63 ( -9,223,372,036,854,775,808) 到2^63-1(+9,223,372,036,854,775,807 )之间的整数。存储空间占 8 字节。用于整数值可能超过 int 数据类型支持范围的情况。
2013-12-24 10:56:53 5564
原创 MFC中的菜单操作
1. CreateMenu()和CreatePopupMenu(),这两个函数用来创建一个菜单实例,CreateMenu()创建的是普通的菜单实例,如果想创建弹出式菜单,就要用CreatePopupMenu()函数。2. AppendMenu()向菜单中添加一个子项,这个函数有两个主要的参数。第一个UINT nFlags,这个参数表明了该子项的属性特征,可以这样说,这个参数规定了菜单的样式和功
2013-12-24 10:38:44 1897
原创 MFC 的程序中GetAt()的理解
BYTE 是 1字节长度 的 整型, int 是 4 字节长度 的 整型。 CString::GetAt(0); 就是把 一个 CString 对象里 的字符串 中的第一个字符,把它的ASCII 值 送返回来。例如:BYTE temp;CString m_str( "abcdef" ); // CString 对象里 的字符串 是 "abcdef"temp = m_s
2013-12-23 09:54:55 19366 1
原创 CTreeCtrl的用法
CTreeCtrl的用法树控制(CTreeCtrl)主要用来显示具有一定层次结构的数据项,如资源管理器中的磁盘目录等,以供用户在其中进行各种选择。树控制中的每个数据项包括数据项名称的文本字符串和用于表示该数据项的图像,每个数据项下面均可包含各种子项,整个结构就象目录树一样。对于包含各种子项的数据项,可通过鼠标双击来展开或合拢,这可以通过控制树的不同风格来实现树控制的不同显示形态。建立控
2013-12-23 09:31:29 3608
原创 DoDataExchange函数详解
MSDN是这样描述的:Called by the framework to exchange and validate dialog data.大意是框架调用此函数来改写与确认对话框数据。到是看了下DoDataExchange函数里的DDX型函数,似乎明白了DoDataExchange函数的作用。最近看书的效果很明显哇。按我的理解,DoDataExchange函数其实是一项数据动态绑定技术
2013-12-23 09:01:34 16091
原创 运行目录和工作目录
运行目录就是你执行文件所在目录 是固定不变的, 工作目录是一个环境变量 可在程序运行后随时进行设置更改 工作目录主要影响程序中使用到的相对路径 . 比如说 file.open(../a.txt); 这个a.txt文件的具体位置是根据工作目录来判断的.
2013-12-18 18:05:01 6676
原创 Sprintf()的思考和引出的相关问题
Sprintf()为什么不安全?功能把格式化的数据写入某个字符串缓冲区。头文件stdio.h原型int sprintf( char *buffer, const char *format, [ argument] … );参数列表buffer:char型指针,指向将要写入的字符串的缓冲区。format:格式化字符串。[argument]...:可选参数,可以
2013-12-17 11:32:14 1132
原创 Prof UIS相关
Prof UIS 一款国外的VC++仿XP系统风格的免费界面库控件,含有近20个应用实例,每一个都可以顺利编译,用它生成的菜单类似OFFICE菜单一样,比起传统的窗体视觉舒服多了,VC编程的朋友对照文档好好研究一番,学会用了会让你的程序增色不少。可扩展且面向对象的MFC界面开发工具,支持大多数Microsoft Office主题
2013-12-17 09:43:10 1262
原创 宏CONTAINING_RECORD
宏CONTAINING_RECORD的用处其实还是相当大的, 而且很是方便, 它的主要作用是: 根据结构体中的某成员的指针来推算出该结构体的指针! 下面从一个简单的例子开始说起: 我们定义一个结构体, 同时类型化:typedef struct{ int a; int b; int c;}ss; 这是一个很简单的结构体, 没什么特殊的
2013-12-16 13:56:14 894
原创 CString的Trim()方法和TrimStrat()和TrimEnd()方法
这三个方法用于删除字符串头尾出现的某些字符。Trim()删除字符串头部及尾部出现的空格,删除的过程为从外到内,直到碰到一个非空格的字符为止,所以不管前后有多少个连续的空格都会被删除掉。TrimStart()只删除字符串的头部的空格。TrimEnd()只删除字符串尾部的空格。如果这三个函数带上字符型数组的参数,则是删除字符型数组中出现的任意字符。如Trim("abcd".ToCharArra
2013-12-16 10:39:17 19664 1
原创 Trace调试宏的用法
个人总结:最近看网络编程是碰到了TRACE语句,不知道在哪里输出,查了一晚上资料也没找出来,今天终于在CSDN上找到了,真是个高地方啊,方法如下:1.在MFC中加入TRACE语句2.在TOOLS->MFC TRACER中选择 “ENABLE TRACING”点击OK3.进行调试运行,GO(F5)(特别注意:不是执行‘!’以前之所以不能看到TRACE内容,是因为不是调试执行,而是‘!’了
2013-12-16 09:29:32 2748
原创 MFC框架分析
每个MFC程序都有一个the全局对象,此对象代表了这个应用程序,程序从这里诞生。 1、因theApp是全局对象,所以比winmain更早初始化。 2、theApp的初始化,先引发了其构造函数。因theApp派生于CWinApp,则也引发了CWinApp的构造函数 3、CWinApp中的几条重要的初始化代码:AFX_MODULE_STATE* pModuleState =
2013-12-13 17:17:18 1135
原创 vc中ASSERT()和VERIFY()区别
1 ASSERT与VERIFY宏在Debug模式下作用基本一致,二者都对表达式的值进行计算,如果值为非0,则什么事也不做;如果值为0,则输出诊断信息。 2 ASSERT与VERIFY宏在Release模式下效果完全不一样。ASSERT不计算表达式的值,也不会输出诊断信息;VERIFY计算表达式的值,但不管值为0还是非0都不会输出诊断信息。 断言(assertion)用带断言信
2013-12-13 17:13:29 5704
原创 界面库Prof-UIS初探学习
近试试Prof-UIS界面库(www.prof-uis.com)的用法,其帮助感觉不是很好。结合其Samples,把一些学习笔记记录如下。先说一下Prof-UIS。在运行其Samples或者将这个界面库用到其它Project中之前,需要编译ProfUISDLL(对于静态库ProfUISLIB),但是运行某些Samples,比如Skinable,提示说需要用到ProfSkinDll,于是先编译它
2013-12-13 16:58:56 1674
原创 __declspec(dllimport)的作用究竟是什么?
是时候总结一下__declspec(dllimport)的作用了。可能有人会问:__declspec(dllimport)和__declspec(dllexport)是一对的,在动态链接库中__declspec(dllexport)管导出,__declspec(dllimport)管导出,就像一个国家一样,有出口也有进口,有什么难理解的呢?这是一种很自然的思路,开始我也是这样理解。但是
2013-12-13 15:52:52 1346
原创 MFC对话框Style说明
Popup:弹出窗口Overlapped:重叠窗口Child:子窗口在它们之间并没有太多内在的差异,但是使用不同的窗口风格,它们的外观是不同的。重叠窗口通常用于建立应用程序主窗口。事实上,有时也叫做“主”窗口或者“框架”窗口。弹出窗口通常以对话框和消息框的形式与用户对话。子窗口通常用在视图(View)中,如在文本编辑器中的文本显示,也用在控件中,如在对话框中的O
2013-12-13 10:04:36 6562
原创 extern "C" _declspec(dllexport)浅析
extern "C" extern "C"使得在C++中使用C编译方式成为可能。在“C++”下定义“C”函数,需要加extern “C”关键词。用extern "C"来指明该函数使用C编译方式。输出的“C”函数可以从“C”代码里调用使用微软专用的_declspec (dllexport) cpp文件在编译为OBJ文件时要对函数进行重新命名,C语言会把函数name重
2013-12-13 09:34:07 28618
原创 vs2003断点无效解决办法
网上查了那么多,各种说的解决办法都有,也不知道,估计是每个具体的问题解决的办法都不一样。在这里,只是说说我是怎么解决的。重启编译器,,,至于为什么,还不知道
2013-12-10 17:00:07 2468
原创 CreateThread和BeginThread的区别
具体说来,CreateThread这个 函数是windows提供给用户的 API函数,是SDK的标准形式,在使用的过程中要考虑到进程的同步与互斥的关系,进程间的同步互斥等一系列会导致操作系统死锁的因素,用起来比较繁琐一些,初学的人在用到的时候可能会产生不可预料的错误,建议多使用AfxBeginThread,是编译器对原来的CreateThread函数的封装,用与MFC编程(当然,只要修改了项目属性
2013-12-09 13:42:40 1167
原创 右键没有记事本
复制下面的命令到开始运行里执行reg add "HKEY_CLASSES_ROOT\.txt" /ve /d "txtfile" /freg add "HKEY_CLASSES_ROOT\.txt\ShellNew" /v "NullFile" /f
2013-12-09 13:02:51 1041
CString::Format函数详细介绍
2015-07-07
使用cmarkup来解析xml文件的时候,需要使用的两个文件代码
2012-08-06
change the infomation of the file
2012-08-06
guess random number
2012-08-06
电脑模拟收银系统.doc
2011-06-10
软件工程 作业后勤管理子系统设计
2011-05-06
后台线程怎么访问界面线程?c++谢谢
2015-07-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人