MFC
kobi
进取。
展开
-
CString string char * char[] 之间的转换
1、string 转 CString CString.format("%s", string.c_str());2、char * 转 CString CString.format("%s", char*);3、char * 转 string string s(char *);4、string 转 char * char *p = st原创 2012-08-11 22:09:38 · 409 阅读 · 0 评论 -
MFC应用程序中处理消息的顺序
MFC应用程序中处理消息的顺序1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用, 然后调用WindowProc()函数3.WindowProc(转载 2013-02-20 11:09:06 · 351 阅读 · 0 评论 -
SetTimer 和 KillTimer 打开一个模态对话框的问题
遇到一个SetTimer 和 KillTimer 的问题 ,情景是 当 SetTimer 的ontimer 里 打开一个模态对话框的时候 ,killTimer 会失效 。原因:是如果模态对话框的没有关闭的情况下,下面的killTimer 方法没有执行到。 解决办法:把 killTimer 方法 放在打开模态对话框的前面 执行原创 2013-02-20 11:55:32 · 622 阅读 · 0 评论 -
installshield 2012 spring 的问题
最近搞这个遇到很多问题,其实我就需要很简单的打包功能 ,就是直接打包安装, 如果有新版本打开让他自己下载然后安装会覆盖或者能删除原来那个。因为功能比较少 我们只是买的功能最少的版本 Express 版 , 这个版本功能会少很多 ,只有最简单的功能 ,但是从需求上也够用 。当时查了些资料 ,大多数都是 msi 工程版本的 ,没有Express 版的 。 就自己查询原因 ,原创 2013-02-21 18:00:13 · 850 阅读 · 0 评论 -
mfc 得到在字符串在屏幕上的长度
CString str = _T("啊");HDC hdc = ::GetDC(NULL);CSize size;size.cx =0; size.cy =0; GetTextExtentPoint32(hdc,str,(int)_tcslen(str),&size);原创 2013-04-09 11:13:26 · 1112 阅读 · 0 评论 -
MFC中的HOOK编程
HOOK,n.钩, 吊钩,通常称钩子。 在计算机中,是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在转载 2013-04-19 10:53:14 · 828 阅读 · 0 评论 -
vc++ Windows Shell 编程
用VC++ 进行Windows Shell 扩展编成 由ccc编译 序言: 看过一些对windows 外壳的扩展程序,在使用上一般都是直接利用windows的外壳API做一些工作,因为外壳操作需要一些比较专业的知识,因此,大部分编程人员特别是使用集成编程环境的程序人员对windows shell的扩展编程不很了解,也缺乏这方面的转载 2013-05-17 16:14:29 · 834 阅读 · 0 评论 -
mfc win7 管理员权限
在开启UAC的时候,在win7中执行程序默认是以一种权限较低的方式执行的,但是在这种方式下,我们有些操作会失败(比如修改注册表,监听端口,往系统目录写入文件等),要实现这些操作,就需要我们以管理员权限执行程序了。当然,只有在程序上右键,选择“以管理员执行”就可以,不过如何让程序自己自动以管理员权限来运行呢,这就需要Manifest了。 两种方法 一 在已经生转载 2013-05-21 13:56:06 · 996 阅读 · 0 评论 -
VC 监视剪贴板的变化和内容监视
剪贴板是Windows中系统级的堆空间,系统中任何一个应用程序对剪贴板都有访问权,可以通过剪贴板消息和使用剪贴板API来读写剪贴板内容。因此使用剪贴板不仅可以在同一个应用程序内交互数据,也可以在不通应用程序之间交互数据。尤其是在不通应用程序之间交互时,应用程序往往需要对剪贴板内容的变化做到实时感知,即应用程序要能监视剪贴板内容的变化。Windows应用是消息驱动的,同理当剪贴板内容发生变化转载 2013-05-21 16:41:49 · 1934 阅读 · 0 评论 -
"manifest authoring error c1010001: Values of attribute 'level' not equal in different manifest snip
vs 2010 里面加入manifest 文件出错了。要更改权限可以 : 项目 -》 属性 -> 链接器- 》 清单文件-》 UAC执行级别来更改程序的权限。原创 2013-08-01 18:55:04 · 4312 阅读 · 0 评论 -
win7 下开机启动
经过测试 :不要设置UAC 是admin 设置就不成功。HKEY_CURRENT_USER 而不是 HKEY_LOCAL_MACHINE,否则写不进去注册表,有权限问题。KEY_QUERY_VALUE|KEY_SET_VALUE 这个没严格测试 ,反正我写这个成功了, KEY_ALL_ACCESS 应该不行, 具体行不,没测试 ,谁有时间可以测试试试。原创 2013-08-02 11:30:12 · 911 阅读 · 0 评论 -
[MFC] Edit控件如何换行
一、通过回车换行:这里要有两个设置.将控件的属性设置为Mutilines->true;.将控件的另一个属性设置为Want return->true.二、通过UpdateData更新控件窗口内容中的换行.将控件的属性设置为Mutilines->true;.输出字符串换行符是 "\r\n" 而不是"\n".转载 2013-09-10 17:30:46 · 1267 阅读 · 0 评论 -
memset
简介需要的头文件在C中 在C++中 2函数原型函数介绍void *memset(void *s, char ch, size_t n);函数解释:将s中前n个字节 (typedef unsigned int size_t)用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操转载 2013-10-07 10:12:28 · 678 阅读 · 0 评论 -
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
在VS2005中生成时出错:error C4430: missing type specifier - int assumed. Note: C++ does not support default-int这是因为在VC6中,如果没有显示的指定返回值类型,编译器将其视为默认整型。但是vs2005不支持默认整型。解决方法如下:打开:项目----项目属性----配置属性----C/转载 2013-10-10 11:48:36 · 716 阅读 · 0 评论 -
Mfc CHtmlView CWebview CWebBrowser 去除边框
问题描述 : CHtmlView 或CWebview 或 CWebBrowser 会有一下 类似与下陷的边框,很难看,怎样去除这个边框 。对于这个问题,查了好久,最后终于发现 这个不是控件的问题 ,是 Html 的问题 。解决办法 :1。去除 xhtml 头 。 如 去除 这个头直接 2. 加入body样式 body{border:none; m原创 2013-02-19 17:24:48 · 1311 阅读 · 0 评论 -
中文 转 unicode 问题
需求:中文汉字 转化成 unicode ,比如 中国 转成 \u4e2d\u56fd找了好久 终于找到个比较靠谱的,我稍微改下 ,发上来。CString ChinaToUnicode(LPCWSTR lpUnicode){ unsigned char *pCh = (unsigned char *) lpUnicode; int nCount原创 2013-01-17 17:53:00 · 421 阅读 · 0 评论 -
const char* std::string CString 之间的转换
我们在写程序时,常常会遇到类型转换的问题。现总结一些常见的类型转换。1,const char*(C风格字符串)与string之间转换: (1) const char*可以直接对string类型赋值,例如: const char* pchar = "qwerasdf";转载 2012-08-17 11:47:26 · 1492 阅读 · 0 评论 -
MFC 下JSONCPP 的使用 C++ JSON解析
JSON是一个轻量级的数据定义格式,比起XML易学易用,而扩展功能不比XML差多少,用之进行数据交换是一个很好的选择JSON的全称为:JavaScript Object Notation ,顾名思义,JSON是用于标记javascript对象的,详情参考http://www.json.org/。本文选择第三方库JsonCpp来解析json,JsonCpp是比较出名的c++解析库,在原创 2012-08-17 15:32:17 · 4130 阅读 · 0 评论 -
C++ 定义一个类会遇到的一些问题
1. warning C4627: '#include "xxx.h"': skipped when looking for precompiled header use Add directive to 'stdafx.h' or rebuild precompiled header原因:cpp 文件没有包含'stdafx.h' 解决方案: 在头文件加入'st原创 2012-08-17 17:38:26 · 3139 阅读 · 0 评论 -
mfc对话框隐藏的几种方法
对话框隐藏的几种方法 作者:A Kun (a_kun@etang.com) 有很多应用程序要求一起动就隐藏起来,这些程序多作为后台程序运行,希望不影响其他窗口, 往往只在托盘区显示一个图标。这些程序通常都是对话框程序,而对话框在初始化的过程上与SDI 、MDI的初始化是不同的,对话框只需要DoModule或者是CreateDialog等等对话框函数调用一次便 可,S转载 2012-08-21 15:46:50 · 1127 阅读 · 0 评论 -
vs 2010 cstring 和 std::string 之间的转化
1. CString 转 std::string char *chr=new char[cstring.GetLength()];WideCharToMultiByte(CP_ACP,0,cstring.GetBuffer(),-1,chr,cstring.GetLength(),NULL,NULL);std::string string= chr;2.std原创 2012-08-20 16:04:28 · 1470 阅读 · 0 评论 -
MFC90条技巧-带目录(转自网上)
1."属性页的添加:2."List Control中标题栏(Column)的添加:3."ToolBar和StatusBar中控件的添加:4."通过Control创建的控件,对其属性的动态控制:5."窗口的分割与停靠:6. ①怎样在程序开始的时候让它最大化?②vc++做出来的exe文件在窗体的右上方是没有最大化和最小化按钮的,怎样实现这一功能?转载 2012-08-29 10:00:41 · 1635 阅读 · 0 评论 -
VC/MFC之ListCtrl控件使用经验总结(转)
VC/MFC之ListCtrl控件使用经验总结(转)以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn----------------------------------------------------转载 2012-09-10 14:39:12 · 790 阅读 · 0 评论 -
C++开源库详细介绍
C++在“商业应用”方面,曾经是天下第一的开发语言,但这一桂冠已经被java抢走多年。因为当今商业应用程序类型,已经从桌面应用迅速转移成Web应 用。当Java横行天下之后,MS又突然发力,搞出C#语言,有大片的曾经的C++程序员,以为C++要就此沉沦,未料,这三年来,C++的生命力突然被 严重地增强了。主力原因就是开源的软件、基础软件(比如并发原生支持,比如Android必定要推出原生的SDK)转载 2012-08-24 17:58:15 · 873 阅读 · 0 评论 -
MFC使用bitmap
CBitmap m_bitmap; //对象 m_bitmap.LoadBitmap(IDB_SPLASH);//加载 void CSplashWnd::OnPaint(){ CPaintDC dc(this); CDC dcImage; if (!dcImage.CreateCompatibleDC(&dc))//创建内存设备环境 re转载 2012-09-11 14:56:02 · 2679 阅读 · 0 评论 -
vs2010 import gif 总是第一帧问题
在使用vs 2010 导入gif 时 , 导入后保存发现总是只能显示第一帧 ,而且资源文件也被改动成只有一帧。解决方法: 把gif备份,导入后,把原来的备份覆盖导入的那个源文件, 会提示你已经更改 ,点击确定即可, 就不会出现只有第一帧的问题了。原创 2012-09-19 11:56:27 · 639 阅读 · 0 评论 -
字符串处理
1.VC++中的char,wchar_t,TCHAR(转载)总体简介:由于字符编码的不同,在C++中有三种对于字符类型:char, wchar_t , TCHAR。其实TCHAR不能算作一种类型,他紧紧是一个宏。我们都知道,宏在预编译的时候会被替换成相应的内容。TCHAR 在使用多字节编码时被定义成char,在Unicode编码时定义成wchar_t。1.VC++中的char,转载 2012-09-24 11:53:26 · 1998 阅读 · 0 评论 -
Mfc系统托盘
以下内容便是看完《系统托盘编程完全指南》后写下来的!这里将比较系统地描述托盘应用的编程。MFC框架没有提供任何现成的类应用于系统托盘UI,那么如何将表示应用程序的图标添加到任务栏中呢?方法很简单,只用到一个API函数,它就是Shell_NotifyIcon。这个函数本身也相当容易理解和使用。看看它的原型就知道了:BOOL Shell_NotifyIcon( DWO转载 2012-12-13 14:53:45 · 583 阅读 · 0 评论 -
WinHand.cpp Line 199 错误 WinHand.cpp Line 218 错误
发生错误的一种可能的原因:程序中申请了DC的指针:CDC* pDC = this->GetDC();在使用完后调用了删除函数:pDC->DeleteDC();问题在这儿,在获取的对象的DC后,不要轻易使用用删除函数,应改成:ReleaseDC(pDC);除非是自己创建的DC,否则不要删除,发生这类错误一般很难定位。解决 pDC->DeleteDC()原创 2012-12-13 13:56:17 · 1500 阅读 · 0 评论 -
解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题
以下代码文件以CStdioFile向无法向文本中写入中文(用notepad.exe查看不到写入的中文)CStdioFile file;file.Open(…);file.WriteString(_T("abc你好"));//只能写入abc解决办法:使用setlocale语句设定区域#include //头文件CStdioFile file;转载 2012-12-18 13:47:43 · 706 阅读 · 0 评论 -
CreateProcess
数原型BOOL CreateProcess(LPCTSTRlpApplicationName,LPTSTRlpCommandLine,LPSECURITY_ATTRIBUTESlpProcessAttributes。LPSECURITY_ATTRIBUTESlpThreadAttributes,BOOLbInheritHandles,转载 2013-10-07 10:34:19 · 963 阅读 · 0 评论