![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
C++
曹经纬
这个作者很懒,什么都没留下…
展开
-
_variant_t与其他数据类型的转换
我们先看看COM所支持的一些类型的基本类:(微软提供,在comdef.h中定义)在COM中使用的标准类Class如下所示:_bstr_t:对BSTR类型进行打包,并提供有用的操作和方法;_com_error:定义抛出的error对象;_com_ptr_t:封装COM接口指针_variant_t:对VARIANT类型进行打包,并提供有用的操作和方法;转载 2014-11-17 19:56:27 · 551 阅读 · 0 评论 -
char* string String^转换
comment: string is C++ type; String^ is CLR/C++ and C# type; const char* ---> string1: const char * cw= "kkkkkkkkkk"; string sw = cw;string ---> const char*1:using nam转载 2014-04-28 12:03:24 · 798 阅读 · 0 评论 -
WTL/MFC多字节和Unicode字符转换
我们在最开始学习MFC的时候,毫无疑问会遇到这样的问题。VC6的设置:多字节。vs的默认设置:Unicode,在属性中可以改成多字节。多字节编码:char,string,CStringA。Unicode编码:wchar_t,wstring,CStringW。注意:如果项目是Unicode,那么CString就被定义为CStringW,否则就是CStringA原创 2014-01-01 15:36:41 · 867 阅读 · 0 评论 -
char*、string、CString、LPTSTR 的相互转化 wsprintf的正确使用
#include #include #include #include #include using namespace std;// CString-> stringstring CString_convert_string(CString cstr){ LPTSTR lpsz = new TCHAR[cstr.GetLength()+1]; _tcscpy(lpsz, c原创 2013-12-12 10:59:02 · 1638 阅读 · 0 评论 -
C++ String 转换为 int、long、float、double类型
1. atoi(): int atoi ( const char * str );2. aotl(): long int atol ( const char * str );3. atof(): double atof ( const char * str );Demo:L110~115#include "stdafx.h"#include "boost/date_原创 2013-11-24 23:09:18 · 1178 阅读 · 0 评论 -
Commonly Used Windows SDK and MFC Data Types
This topic lists the data types most commonly used in the Microsoft Foundation Class Library. Most of the data types are exactly the same as those in the Windows Software Development Kit (SDK), while原创 2013-11-12 12:57:33 · 675 阅读 · 0 评论 -
VS2010中的LPTSTR LPCTSTR LPSTR LPCSTR LPWSTR LPCWSTR
VS2010中的LPTSTR主要是为了不同版本之间的兼容问题而设计的。如果是使用了UniCode编码方式,则#define LPWSTR LPTSTR如果是使用了Ascii的编码方式,则#define LPSTR LPTSTR VS2010默认的是UniCode的编码,1个字符要占用2个字节如下代码#include #include void testString()原创 2013-11-09 18:08:46 · 1092 阅读 · 0 评论 -
string转CString CString转string
//CString->std::string 例子:CString strMfc=“test“;std::string strStl;strStl=strMfc.GetBuffer(0);//std::string->CString 例子:CString strMfc;std::string strStl=“test“;strMfc=strStl.c_str();原创 2013-11-09 17:48:07 · 1047 阅读 · 0 评论 -
Visual Studio 2008编译多平台切换时出现的编译问题解决记录
在工程解决方案中使用多平台时,会有些意想不到的问题发生,今天我就遇到了两个问题,一个是编译时资源重复定义的问题,另一个是预编译头文件的问题。第一 资源重复定义问题我的一个工程需要支持一个新的平台,我直接选择了这个平台,但是,我的一些配置是从另外的之前的平台复制过来的,可能是一些原因,导致一些选项在这两个平台之间有些差异。编译时,出现如下错误提示:1>CVTRES : fatal转载 2016-09-06 16:52:20 · 438 阅读 · 0 评论 -
双缓冲绘图
双缓冲绘图更新日期:2011-8-28测试环境:VS2008+WinXP━━━━━━━━━━━━━━━━━━━━━━━━一:新建一个对话框工程。在OnButton1()里添加以下代码。(WIN32 API版本)━━━━━━━━━━━━━━━━━━━━━━━━/***************************************************转载 2014-12-12 16:06:54 · 715 阅读 · 0 评论 -
Duilib 模态对话框和非模态对话框
[cpp] view plaincopyvoid CMainDlg::DoTask() { CTaskDlg * pDlg = NULL; pDlg = new CTaskDlg(XML_FILE_NAME_TASK_DLG, WND_CLASS_NAME_TASK_DLG); pDlg->Create(thi转载 2014-12-25 14:54:31 · 5897 阅读 · 0 评论 -
duilib底层机制剖析:窗体类与窗体句柄的关联
转载请说明原出处,谢谢~~ 看到群里朋友有人讨论WTL中的thunk技术,让我联想到了duilib的类似技术。这些技术都是为了解决c++封装的窗体类与窗体句柄的关联问题。 这里是三篇关于thunk技术的博客,不懂的朋友可以先看一下:WTL学习之旅(三)WTL中 Thunk技术本质(含代码)深入剖析WTL—WTL框架窗口分析 (5)转载 2014-12-16 14:38:50 · 527 阅读 · 0 评论 -
Windows程序设计 对话框控件访问的七种方法(3)
在对话框控件访问的七种方法(1)、(2)中介绍了对话框空间访问的第一类和第二类方法,下面介绍对话框控件访问的第三类方法:在Windows程序设计中,基于对话框的程序设计,对对话框上控件的访问有多种方法。在这里我总结七种方法,但这七种方法我可以把他们分为三大类。下面通过一个小示例演示对话框控件访问的几种方法: 上图为一个小的对话框应用程序的示例程序,实现的功能是:分别在Numb转载 2013-12-14 15:51:52 · 526 阅读 · 0 评论 -
沙漏光标
沙漏光标为 Windows 操作系统本身默认支持之特性,微软已经把对沙漏光标的支持封装在 MFC 框架当中,开发人员可以不需要为此而在程序中引入 Cursor 资源。在 MFC 程序中,可以使用以下三种方式来操作沙漏光标:(1)CWinApp::DoWaitCursor(); (2)CCmdTarget::BeginWaitCursor(),CCmdTarget::EndWaitC转载 2014-03-17 10:40:16 · 1234 阅读 · 0 评论 -
MFC中如何知道控件属于哪个类
在资源视图中在该控件上右键单击-->添加变量-->变量类型,默认的类型就是该控件所属的类了!原创 2013-12-31 15:49:44 · 1695 阅读 · 0 评论 -
MFC中自由使用自定义消息
消息映射、循环机制是Windows程序运行的基本方式。VC++ MFC 中有许多现成的消息句柄,可当我们需要完成其它的任务,需要自定义消息,就遇到了一些困难。在MFC ClassWizard中不允许添加用户自定义消息,所以我们必须在程序中添加相应代码,以便可以象处理其它消息一样处理自定义消息。通常的做法是采取以下步骤: 第一步:定义消息。 推荐用户自定义消息至少是WM_USER转载 2014-01-24 09:32:45 · 584 阅读 · 0 评论 -
在MFC中打开控制台
::AllocConsole(); // 打开控件台资源freopen("CONOUT$", "w+t", stdout); // 申请写freopen("CONIN$", "r+t", stdin); // 申请读//::FreeConsole();原创 2013-12-21 10:26:33 · 597 阅读 · 0 评论 -
MFC隐藏/显示最大化、最小化按钮
在该MFC项目中Ctrl+F,查找EXSTYLE WS_EX_APPWINDOW,查找结果在 项目名.rc 文件中,如:IDD_TESTMFC_DIALOG DIALOGEX 0, 0, 320, 200STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_THICKFRAME | WS_SYSMENU原创 2014-02-15 16:34:52 · 5018 阅读 · 1 评论 -
Windows程序设计 对话框控件访问的七种方法(2)
在对话框控件访问的七种方法(1)中介绍了对话框空间访问的第一类方法,下面介绍对话框控件访问的第二类方法:在Windows程序设计中,基于对话框的程序设计,对对话框上控件的访问有多种方法。在这里我总结七种方法,但这七种方法我可以把他们分为三大类。下面通过一个小示例演示对话框控件访问的几种方法: 上图为一个小的对话框应用程序的示例程序,实现的功能是:分别在Number1和Numb转载 2013-12-14 15:51:04 · 635 阅读 · 0 评论 -
Windows程序设计 访问对话框控件的七种方法(1)
在Windows程序设计中,基于对话框的程序设计,对对话框上控件的访问有多种方法。在这里我总结七种方法,但这七种方法我可以把他们分为三大类。下面通过一个小示例演示对话框控件访问的几种方法: 上图为一个小的对话框应用程序的示例程序,实现的功能是:分别在Number1和Number2所标示的编辑框中输入数字,当点击Add按钮时,将Number1和Number2所标示的编辑框中的数字进行相转载 2013-12-14 15:49:37 · 690 阅读 · 0 评论 -
VC++热键
1.注册热键// 注册热键RegisterHotKey(m_hWnd, 1, NULL, VK_RIGHT);RegisterHotKey(m_hWnd, 2, NULL, VK_LEFT);RegisterHotKey(m_hWnd, 3, NULL, VK_UP);RegisterHotKey(m_hWnd, 4, NULL, VK_DOWN);原创 2014-08-21 16:30:59 · 934 阅读 · 0 评论 -
mfc,vc 禁止标题栏重绘,改变标题栏,双缓冲标题栏贴图
需要在标题栏上贴图,更换标题栏背景的时候,不想要标题栏显示颜色,尤其拉动改变窗体大小的时候,所以需要禁止标题栏重绘的方法。只需要 处理WM_NCPAINT消息就好了,消息处理函数OnNcPaint中去掉CDialog::OnNcPaint(),从此世界安静了标题栏更换颜色,标题栏贴图,窗体其他位置贴图也可以用这里的贴图函数//************************转载 2014-04-04 11:01:27 · 564 阅读 · 0 评论