C++/MFC
明月清风-精进不止
这个作者很懒,什么都没留下…
展开
-
[转载]关于_beginthreadex和CreateThread的区别
关于_beginthreadex和CreateThread的区别在 Win32 API 中,创建线程的基本函数是 CreateThread,而 _beginthread(ex) 是C++ 运行库的函数。为什么要有两个呢?因为C++ 运行库里面有一些函数使用了全局量,如果使用 CreateThread 的情况下使用这些C++ 运行库的函数,就会出现不安全的问题。而 _beginthreadex 为这些全局变量做了处理,使得每个线程都有一份独立的“全局”量。所以,如果你的编程只调用 Win原创 2021-10-26 08:55:38 · 150 阅读 · 0 评论 -
win32控制台空项目使用MFC多线程
#include <afxwin.h>UINT MyFun(LPVOID){ printf("我的线程ID是:%d\n",AfxGetThread()->m_nThreadID); return 0;}int main(){ for (int i = 0; i < 10; i++) { AfxBeginThread(MyFun, 0); } system("pause"); return 0;}原创 2021-10-26 08:45:26 · 125 阅读 · 0 评论 -
AfxExtractSubString 截断字符串
CString strSource = L"www.baidu.com;xxj;123456"; CString strTmp; AfxExtractSubString(strTmp, strSource, 1,';'); TRACE(strTmp);原创 2021-10-09 15:07:42 · 166 阅读 · 0 评论 -
MFC 对话框置顶操作
1.创建一个基于对话框的项目;2.上面放置一个checkbox,选中的时候将该主对话框置顶,否则取消置顶;void CMFCApplication2Dlg::OnBnClickedCheck1(){ // TODO: 在此添加控件通知处理程序代码 if (m_ckTopmost.GetCheck()) { SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOREDRAW..原创 2021-10-09 12:17:08 · 988 阅读 · 0 评论 -
MFC程序领悟
第一步:第二步:第三步:修改项目属性第四步:新建一个test.cpp文件,内容如下:#include <afxwin.h>class CMyApp :public CWinApp{public: virtual BOOL InitInstance();};class CMainWindow :public CFrameWnd{public: CMainWindow() { Create(NULL, _T("success")); }原创 2021-10-08 13:45:18 · 63 阅读 · 0 评论 -
MFC windows程序区别
windows程序包含头文件 #include <windows.h>MFC程序包含头文件#include <afxwin.h>windows应用程序API是通过C语言实现的。API----Windows操作系统提供给应用程序编程的接口,该接口是通过C语言实现的。#include <afxwin.h> // MFC 核心组件和标准组件#include <afxext.h> // MFC 扩展...原创 2021-10-08 10:48:40 · 236 阅读 · 0 评论 -
MFC窗口输出调试信息--TRACE 测试程序运行时间
TRACE宏仅仅对debug有效,release下忽略,TRACE是MFC下的窗口输出宏; float fTest = 88.8; TRACE("fTest = %f\n ",fTest); //测试程序运行时间方法一: struct timeb timeStart; ftime(&timeStart); TRACE("Start = %lld秒 %d + 毫秒\n ",timeStart.time,timeStart.millitm); struct ti原创 2021-09-29 10:18:34 · 477 阅读 · 0 评论 -
遍历串口以及MFC界面使用
MFC下遍历串口:int GetAllSerials(vector<char*>& vSerials){ vSerials.clear(); HKEY hKey; int nretval; nretval = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("Hardware\\DeviceMap\\SerialComm"), NULL, KEY_READ, &hKey); int i = 0; if (nretval == .原创 2021-09-29 10:01:09 · 238 阅读 · 0 评论 -
函数的默认参数:声明和定义中只能有一个地方有默认参数
如题:函数的默认参数:生明和定义中只有有一个地方有默认参数.以前写带默认参数的函数都是手动写好声明,使用VS助手产生定义,没注意过这个问题,今天看视频说到这个问题,土原创 2021-06-18 13:54:06 · 615 阅读 · 0 评论 -
MFC 基于对话框的项目如何添加子对话框以及相关知识
1.在资源视图中选中Dialog,右键原创 2014-08-22 14:25:40 · 1029 阅读 · 0 评论 -
VS2010/MFC 使用模态对话框和非模态对话框
创建对话框之前需要准备好对话框资源,并为该对话框生成相应的类。比如新建对话框资源IDD_DIALOG1以及对话框类CTips。使用模态对话框:在当前调用该对话框的.cpp中 #include "Tips.h"CTips tipsDlg;INT_PRR nResponse = ipsDlg.Domadal();if(nResponse == IDOK){}else原创 2015-01-27 10:01:13 · 1013 阅读 · 0 评论 -
explicit C++关键字的使用 修饰的构造函数必须被显式调用
explicit 意思是明确的,清楚的。源代码如下:#include using namespace std;class Test1{public:Test1(int n){m_Name = n;}~Test1(){}private:int m_Name;};class Te原创 2015-01-27 18:10:25 · 630 阅读 · 0 评论 -
Win 32 控制台程序中使用CString
Win32控制台程序中,无法直接使用MFC的CString,做要使用需要进行如下步骤:第一步:项目属性--->配置属性--->常规--->MFC的使用 由原来的使用标准Windows库,改为 在静态库中使用MFC 或者在共享DLL中使用MFC都可以;第二步:包含头文件 #include 举例:前提按照第一步更改配置#include class Test1{原创 2015-01-27 18:02:38 · 328 阅读 · 0 评论 -
sizeof,终极无惑(上)[转]
转自http://blog.csdn.net/freefalcon/article/details/54839 谢谢0. 前向声明sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至转载 2015-01-28 09:19:20 · 330 阅读 · 0 评论 -
VS2010/MFC属性页对话框 部分转载
属性页对话框将多个对话框集成于一身,通过标签或按钮来切换页面。它分为两种:切换TAB的对话框和有上一步、下一步按钮的对话框。开发涉及到的类主要有两个:CPropertyPage类和CPropertySheet类。一般属性页对话框,即TAB标签切换属性对话框向导对话框,即包含上一步、下一步属性对话框转载 2015-01-27 17:56:07 · 912 阅读 · 0 评论 -
MFC对话框工程添加变量
创建工程时候选择静态编译MFC,这样可以保证发布以后在各个机器上都能使用。给一个编辑控件关联变量的时候,可以关联一个控件变量,CEDIT类型的,也可以关联一个值类型的,比如double、float、int等。区别是:CEDIT类型的要设置其界面显示只能是字符型。举例:m_edit.SetWindowText(L"DDD");原创 2015-01-26 10:41:34 · 2096 阅读 · 0 评论 -
MFC访问数据库
原创 2014-12-04 07:34:04 · 386 阅读 · 0 评论 -
VS2010/MFC编程入门之十五(对话框:一般属性页对话框的创建及显示)【转】
转自http://www.jizhuomi.com/software/169.html 属性页对话框包括向导对话框和一般属性页对话框两类,上一节鸡啄米讲了如何创建并显示向导对话框,本节将继续介绍一般属性页对话框的创建和显示。 实际上,一般属性页对话框的创建和显示过程和向导对话框是很类似的。鸡啄米将上一节中的向导对话框进行少量修改,使其成为一般属性页对话框。转载 2015-01-28 13:24:41 · 470 阅读 · 0 评论 -
CFontDialog的使用
CFontDialog 对象初始化的时候需要传入一个参数原创 2015-01-28 17:08:59 · 1046 阅读 · 0 评论 -
需要进一步学习的
1.RLC电路2.孙鑫视频3.ADO数据库4.SQL Server原创 2014-12-23 09:35:50 · 365 阅读 · 0 评论 -
win32 控制台程序使用cout 引用头文件
win32控制台程序中使用cou必须要加入如下两句,一定要引用命名空间,否则报错。#includeusing namespace std;原创 2015-01-16 15:55:12 · 1302 阅读 · 0 评论 -
C++之虚函数
虚函数应该是在软件架构时候用的比较多。举例如下:架构的时候需要定义一个类,但是里面的方法可以不实现,留好输入接口和输出接口,需要调用该接口的地方该怎么调用就怎么调用,把该类当成引用传递进去就可以了。举例:下面是一个win32的控制台程序。#include "stdafx.h"#include using namespace std; class CAnim原创 2015-01-16 13:11:30 · 333 阅读 · 0 评论 -
VS2010
solution -- 解决方案,一个solution可以包括N个project.创建project的时候可以选择同时创建一个新的solution,也可以选择加入某个已有的solution.选择加入已有的某个solution的时候,需要先把该solution打开,然后在该solution中点击 new project.重新设置环境: 工具-导入和导出设置-按照需求选择想要的设置即可。原创 2015-01-13 10:31:32 · 366 阅读 · 0 评论 -
VS2010自带工具dumpbin的使用
有时候我们想查看一个exe引用了哪些动态库,或者我们想看某个动态库包含哪些接口函数,这时候我们就可以使用dumpbin.exe工具。1.输入dumpbin - imports *.exe 查看它的输入信息,可以看到它加载了2.输入dumpbin -imports *.dll,列出所有导出函数。启动dumpbin.exe方法如下:开始->所有程序->VS2010->V原创 2015-01-20 17:24:55 · 1639 阅读 · 0 评论 -
Windows静态库和动态库的创建和使用【转】
转自http://blog.csdn.net/wallaceli1981/article/details/5740718偶们在实际的编程开发中,经常会遇到运行时无法找到某个DLL文件或者链接时无法找到某个LIB文件。然后,我们就开始乱GOOGLE一下,然后将VS2005的设置改变一下,或许就Ok了,我们将别人开发的DLL或者LIB导入到我们的编程中,那么这些lib,DLL到底是什么转载 2015-01-20 17:50:33 · 374 阅读 · 0 评论 -
Windows静态库和动态库的创建和使用【转】
偶们在实际的编程开发中,经常会遇到运行时无法找到某个DLL文件或者链接时无法找到某个LIB文件。然后,我们就开始乱GOOGLE一下,然后将VS2005的设置改变一下,或许就Ok了,我们将别人开发的DLL或者LIB导入到我们的编程中,那么这些lib,DLL到底是什么呢?下面,偶就细细道来。 首先,偶们说第一个:静态链接库(Static Libary)偶们用VS2005做一个静态链接库先转载 2015-01-20 16:27:38 · 392 阅读 · 0 评论 -
VC++ 动态链接库之VS2010版本
在网上看到一篇介绍动态链接库的文章,感觉写的很好,不过是针对VC6.0的,看年份是作者2007年写的了,拿到文章个人感觉可能VC6.0中会与VS2010/C++中有不同,所以自己写一份关于VS2010版本的,原版见出处:http://www.cnblogs.com/chio/archive/2007/11/03/948480.html 同时感谢这位朋友的贡献,谢谢。序:动态链接库这个概原创 2015-01-19 09:29:57 · 1737 阅读 · 0 评论 -
动态链接库dll详解【转】
转自http://blog.csdn.net/skilledprogrammer/article/details/7032494一、引言在发行的应用程序中,经常包含动态链接库dll,它包含执行一定功能的函数供其他程序调用。Windows API函数都包含在DLL中,其中有三个最重要的DLL:Kernel32.dll 包含用于管理内存、进程、线程的函数。User32.转载 2015-01-20 17:46:26 · 546 阅读 · 0 评论 -
重载两同三不同
重载两同三不同两同:同一个类 方法名相同三不同:参数个数不同 参数类型不同 参数顺序不同重载和重写没关系重写是涉及继承的时候的概念原创 2015-01-22 16:42:46 · 1120 阅读 · 0 评论 -
VS2010/MFC中的六种文件
解决方案相关文件解决方案相关文件包括解决方案文件夹下面的 .sln文件、.sdf文件、.suo文件和.ipch文件。.sln----solution.sdf---SQL Server Compact Edition Database Files 一般较大,与.ipch一起 与智能提示相关。工程相关文件工程相关文件包括工程文件夹下面的.vcproj等,它包含当前工程的设置和原创 2015-01-22 14:02:58 · 1150 阅读 · 0 评论 -
在共享DLL中使用MFC 和 在静态库中使用MFC 区别
项目配置属性中有一项关于MFC的使用,有三种设置: 1.使用标准Windows库 2.在共享DLL中使用MFC 3.在静态库中使用MFC 第一种:顾名思义。第二种:链接成EXE的时候,没有将MFC的一些DLL包含进来,所以EXE文件较小,但是运行时候要求系统中要有相关的DLL文件。第三种:链接成EXE的时候,将所用到的MFC中的函数相关代码已经包含进EXE文件,文件较大,但原创 2015-01-22 11:55:30 · 839 阅读 · 0 评论 -
#include<iostream>和#include<iostream.h>区别使用
在VC6.0的时候C++中还可以使用#include,当时C++标准还没出来,现在VS2010中创建一个Win32工程想再使用#include就会提示错误:fatal error C1083: 无法打开包括文件:“iostream.h”: No such file or directory#include是C语言中比较通用的#includeusing namespace s原创 2015-01-22 16:31:56 · 578 阅读 · 0 评论 -
多态
多态三个条件:继承、重写、父类引用指向子类对象原创 2015-01-22 16:39:08 · 257 阅读 · 0 评论 -
写类文件时候版本版权信息格式
版权和版本的声明位于头文件和定义文件的开头(参见示例1-1),主要内容有:(1)版权信息。(2)文件名称,标识符,摘要。(3)当前版本号,作者/修改者,完成日期。(4)版本历史信息。/** Copyright (c) 2001,上海贝尔有限公司网络应用事业部* All rights reserved.** 文件名称:filename.h* 文件标识:见配原创 2015-01-22 16:47:26 · 2637 阅读 · 0 评论 -
VC版本号与VS版本号的对应关系
Microsoft Visual Studio 6.0 VC6.0Microsoft Visual Studio .NET 2002: VC7.0 Microsoft Visual Studio .NET 2003: VC7.1 Microsoft Visual Studio 2005: VC8.0 Microsoft原创 2015-02-11 11:16:56 · 875 阅读 · 0 评论 -
Windows消息分类
Windows消息分为系统消息和用户自定义消息。系统消息分为标准Windows消息、命令消息和通知消息。标准Windows消息:除WM_COMMAND之外的以WM_开头的消息都是Windows标准消息;命令消息:消息名是WM_COMMAND,消息中附带了标识符ID,来区分消息是来自哪个菜单、工具栏按钮或加速键的消息。通知消息:消息名是WM_COMMAND,通知消息一般是原创 2015-01-23 15:15:45 · 496 阅读 · 0 评论 -
VS2010/MFC 为对话框增加背景图片
非常简单!让MyDialog继承自CDialogEx而不是CDialog(实际VS2010中已经自动继承自CDialogEx了),然后在OnInitDialog函数中使用SetBackgroundImage(IDB_LOGIN)即可。只用一句话即可搞定!原创 2015-02-10 16:23:09 · 1842 阅读 · 0 评论 -
一般类名都以C打头,比如:CTestDlg
注意,一般类名都以C打头,又比如,CTestDlg。原创 2015-01-26 10:12:53 · 790 阅读 · 0 评论 -
MFC对话框(1)---MFC变量关联原则
控件内容一般是不会变的情况,比如说一般情况下静态文本框的内容是说明后续数据的意义,一般不会变,这时候就不为它们添加变量了;按钮控件是用来操作的,一般也不用给添加变量;而对于内容经常变化的,比如说编辑框的数据可能是经常变化的,就需要为该控件关联一个变量。原创 2015-01-26 10:49:19 · 438 阅读 · 0 评论 -
MFC对话框类基类
在VC++6.0中,对话框类都是继承自CDialog类,而在VS2010/C++中对话框类都是继承自CDialogEx类。大家用过VC++ 6.0的可能记得,我们定义的对话框类都是从CDialog类派生的,但在VS2010中,一般对话框类都是继承自CDialogEx类。引用自http://www.jizhuomi.com/software/153.html原创 2015-01-26 10:09:28 · 2415 阅读 · 0 评论