
MFC
liangjisheng
https://github.com/liangjisheng
展开
-
Http服务器实现文件的上传与下载
http://www.cnblogs.com/liferecord/p/4842153.html转载 2017-09-27 09:22:39 · 5877 阅读 · 0 评论 -
VC6.0文件
.aps文件,资源辅助文件,该文件用于存放二进制的资源文件,VC++把当前资源文件转换成二进制文件,并存放在aps文件中 以加快资源转换速度。 .bsc文件,浏览信息文件 .clw文件,Class Wizard生成的用来存放类信息的文件 .cur文件,光标资源文件 .dsp文件,工程文件 .opt文件,用于存放工作区窗口中的各种选项文件 .rc文件,资源文件 .reg文件,注册表信息原创 2017-07-11 20:16:45 · 403 阅读 · 0 评论 -
CStdioFile
// 0610-5.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "0610-5.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// 唯一的应用程序对象CWinApp theApp;using namespace std;int main(){ int nRetCode = 0; H原创 2017-06-10 15:45:19 · 1694 阅读 · 0 评论 -
mfc程序运行过程
调用CWinApp的构造函数,初始化全局对象 AfxWinMain()调用Win32入口程序函数WinMain() AfxWinMain调用函数CwinApp的成员函数InitInstance AfxWinMain调用函数CwinApp的成员函数Run; AfxWinMain函数返回到WinMain,WimMain结束,程序结束。原创 2017-07-10 19:11:50 · 339 阅读 · 0 评论 -
MFC 规则dll 共享(动态链接)MFCDLL,资源模块的切换
方法1:// 调用dll的时候应用程序默认使用exe的资源,必须进行资源模块句柄的切换// AFX_MODULE_STATE* AFXAPI AfxGetStaticModuleState();// 该函数的功能是在栈上(这意味着其作用于是局部的)创建一个AFX_MODULE_STATE类// (模块全局数据也就是模块状态)的实例,对其进行设置,并将指针pModuleState返回 //原创 2017-06-09 08:46:50 · 1109 阅读 · 0 评论 -
位图文件
BMP文件组成 BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。文件头主要包含文件的大小、文 件类型、图像数据偏离文件头的长度等信息;位图信息头包含图象的尺寸信息、图像用几个比特数值来表 示一个像素、图像是否压缩、图像所用的颜色数等信息。颜色信息包含图像所用到的颜色表,显示图像时 需用到这个颜色表来生成调色板,但如果图像为真彩色,既图像的每个像素用24个比特来表示,文件中原创 2017-06-06 09:08:36 · 547 阅读 · 0 评论 -
GetBuffer()
LPTSTR GetBuffer( int nMinBufLength );返回值:一个指向对象的(以空字符结尾的)字符缓冲区的LPTSTR 指针。nMinBufLength:字符缓冲区的以字符数表示的最小容量。这个值不包括一个结尾的空字符的空间说明此成员函数返回一个指向CString 对象的内部字符缓冲区的指针。返回的LPTSTR 不是const,因此可以允许直接修改CString 的内原创 2017-05-21 15:13:34 · 2141 阅读 · 0 评论 -
CString
CString str1(_T("asdf")); CString str2(str1); cout << (LPCTSTR)str1 << endl; // 输出地址 wcout << (LPCTSTR)str1 << endl; // 输出内容 cou原创 2017-05-21 14:55:05 · 703 阅读 · 0 评论 -
MFC进度条编程
1. 进度条的主要功能 进度条控制(Progress Control)主要用来进行数据读写、文件拷贝和磁盘格式等操作时的工作进度提示情况,如安装程序等,伴随工作进度的进展,进度条的矩形区域从左到右利用当前活动窗口标题条的颜色来不断填充。 进度条控制在MFC类库中的封装类为CProgressCtrl,通常仅作为输出类控制,所以其操作主要是设置进度条的范围和当前位置,并不断地更新当前位置。进度条的范转载 2017-05-20 18:10:51 · 10035 阅读 · 0 评论 -
OnSize
void CtestOnSizeDlg::OnSize(UINT nType, int cx, int cy){ CDialogEx::OnSize(nType, cx, cy); // m_OldRect在构造函数里初始化为0,所以当第一个调OnSize()的 // 时候,缩放比例为1.0 int nWidth = m_OldRect.right - m_OldRe原创 2017-05-31 21:38:23 · 1137 阅读 · 0 评论 -
动态创建按钮
// 对于所有动态创建的5个按钮(ID号在IDC_D_BTN ~ IDC_D_BTN+5-1之间)// 定义其消息映射函数为OnButtonClick函数,根据其输入ID分辨具体响应那个按钮// 若是单个按钮,则消息映射为ON_BN_CLICKED(IDC_BUTTON_ID, OnButtonFunc)ON_COMMAND_RANGE(IDC_D_BTN, IDC_D_BTN + 5 - 1原创 2017-05-31 21:36:36 · 316 阅读 · 0 评论 -
file and directory
VC目录、文件相关操作1.遍历文件目录即把一个目录里的文件以及子目录里的文件名都取出来。本文是CFileFind类的使用例的笔记。下面的程序是从一个目录出发,把这个目录里的所有成员按着层次TRACE到DEBUG输出画面。void TravelFolder(CString strDir, int nDepth){ CFileFind filefind;原创 2017-06-11 08:45:43 · 400 阅读 · 0 评论 -
鼠标移动
void CMy07113View::OnLButtonDown(UINT nFlags, CPoint point){ GetClipCursor(&m_rcOldClip); // 获取原鼠标活动的有效区域 m_startPoint = point; SetCapture();原创 2017-07-11 21:23:50 · 271 阅读 · 0 评论 -
CFile_Read_Write
void CMy07124Dlg::OnBnClickedButtonRead(){ CFile file; CString strFileName = _T("data.txt"); char buf[1024] = {0}; try { if(!file.Open(strFileName, CFile::modeRead))转载 2017-07-12 21:01:49 · 400 阅读 · 0 评论 -
VC++制作安装包
http://blog.youkuaiyun.com/rainkop/article/details/8053212转载 2017-09-27 08:48:17 · 1786 阅读 · 0 评论 -
WIN DLL
由于在Win32环境下,所有进程的空间都是相互独立的,这减少了应用程序间的相互影响,但大大增加了编程的难度。 当进程在动态加载DLL时,系统自动把DLL地址映射到该进程的私有空间,而且也复制该DLL的全局数据的一份拷贝到该 进程空间,每个进程所拥有的相同的DLL的全局数据其值却并不一定是相同的。当DLL内存被映射到进程空间中,每个进 程都有自己的全局内存拷贝,加载DLL的每一个新的进程都重新初转载 2017-09-26 19:10:19 · 1002 阅读 · 0 评论 -
Unicode and ANSI
在电脑上新建一个文本文件,他默认是以ANSI格式编码的,所以在读取文件的时候,只能以多字节的方式来读取, 不能用宽字符来读取。但可以在另存为的时候,选择存储文件的编码格式,使用Unicode或者UTF-8的格式, 如果选用Unicode,那么就可以使用宽字符来读取文件,而不会出现乱码的情况。 下面是详细的代码:/*****************************************原创 2017-07-27 19:16:36 · 242 阅读 · 0 评论 -
多语言用户界面
https://msdn.microsoft.com/zh-cn/goglobal/bb688160 http://blog.youkuaiyun.com/akof1314/article/details/6321628转载 2017-08-11 19:36:30 · 566 阅读 · 0 评论 -
GetCurrentTime()
mfc中有两种获取当前时间的,一个是调用winapi的::GetCurrentTime(),这里面就是调用了::GetTickCount(),即返回系统从启动 到现在经过的毫秒数 另外一个是CTime的静态成员函数GetCurrentTime(),获取系统当前时间// CTime类中的静态成员函数CTime t = CTime::GetCurrentTime();int d = t.GetD原创 2017-07-19 19:57:32 · 4949 阅读 · 0 评论 -
failure during conversion to COFF: file invalid or corrupt
开始以为自己的项目文件有问题,可以通过编译选项回避,后来新建一个新的空C/C++项目,发现也是相同的问题,知道是VS环境出问题了。 继续调查发现原来是VS用来进行COFF格式转换的工具cvtres.exe被破坏了。 在命令行下直接执行cvtres.exe,就弹出窗口说进程启动失败。而cvtres.exe被破坏的原因是因为我刚装了.Net Framework 4.5,.Net Framework转载 2017-07-23 13:18:27 · 463 阅读 · 0 评论 -
文章标题
不允许多个源文件 Command line error D8036: ‘/Fo.\obj\ms100_r’ not allowed with multiple source fileshad the same problem and realized i had removed the slash at the end of: 需要修改属性: configuration properties-原创 2017-07-18 11:16:58 · 290 阅读 · 0 评论 -
双缓冲绘图
CRect rc; // 定义一个矩形区域变量GetClientRect(rc); int nWidth = rc.Width(); int nHeight = rc.Height(); CDC *pDC = GetDC(); // 定义设备上下文CDC MemDC; // 定义一个内存显示设备对象 CBitmap MemBitmap; /原创 2017-07-13 21:34:41 · 300 阅读 · 0 评论 -
OnMouseMove
/************************************************************************//*当鼠标停留在某个菜单或者按钮上时,会弹出关于这个控件的一些提示信息,可以利用MFC中的CToolTipCtrl类来实现,如何判断鼠标停留在摸个按钮上,可以在对话框中响应这个函数,在这个函数里面判断发生事件的窗口句柄是不是该控件句柄,但要判断光原创 2017-07-13 20:23:30 · 715 阅读 · 0 评论 -
判断文件或者文件夹是否存在
// C++判断一个文件是否存在#include <iostream>#include <fstream>using namespace std;#define FILENAME "stat.dat"int main(){ fstream _file; _file.open(FILENAME, ios::in); if(!_file) cout <<原创 2017-07-12 21:37:11 · 443 阅读 · 0 评论 -
窗口自动关闭
在一个对话框上单击按钮,然后弹出一个对话框,在这个对话框上做一些工作,完成之后弹出来的对话框自动关毕。原创 2017-05-20 08:27:02 · 617 阅读 · 0 评论 -
命令消息的路由
// Windows消息的分类,分为以下三类// 标准消息:除WM_COMMAND之外,所有以WM_开头的消息都是标准消息,// 从CWnd派生的类,都可以接受到这类消息// 命令消息:来自菜单、快捷键或工具栏按钮的消息。这类消息都以WM_COMMAND// 形式呈现,在MFC中通过菜单项的标识(ID)来区分不同的命令消息;在SDK中,// 通过消息的wParam参数识别。从CCmdTar原创 2017-06-05 12:22:34 · 489 阅读 · 0 评论 -
绘图小例子
void CMy05301View::OnDraw(CDC* pDC){ CMy05301Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; pDC->SetMapMode(MM_ANISOTROPIC); pDC->SetWindowExt(300, 300);原创 2017-05-30 17:40:51 · 368 阅读 · 0 评论 -
MessageBox
// 图标类型MB_ICONHAND, MB_ICONSTOP,MB_ICONERRORMB_ICONQUESTIONMB_ICONEXCLAMATION,MB_ICONWARNINGMB_ICONASTERISK,MB_ICONINFORMATION// 按钮类型MB_OKMB_OKCANCELMB_YESNOMB_RETRYCANCELMB_YESNOCANCELMB_ABO原创 2017-05-24 21:28:19 · 334 阅读 · 0 评论 -
RadioButton
对于多个单选按钮的选中状态的设置或获取,需要使用CWnd类的成员函数CheckRadioButton和GetCheckedRadioButtonvoid CheckRadioButton(int nIDFirstButton, int nIDLastButton, int nIDCheckButton);int GetCheckedRadioButton(int nIDFirstButton,原创 2017-05-24 21:23:55 · 678 阅读 · 0 评论 -
MFC Dialog
模态对话框由系统自动分配内存空间,而无模态对话框需要用户来指定内存。模态对话框通过调用CDialog::EndDialog来终止;而无模态对话框则是调用CDialog::DestroyWindow来终止。// .hCDlgModel m_dlgModel;CDlgNoModel *m_pDlgNoModel;// .cpp// 模态对话框的创建m_dlgModel.DoModel()//原创 2017-05-24 21:13:07 · 319 阅读 · 0 评论 -
CNoTrackObject* CThreadLocalObject::GetData( CNoTrackObject* (AFXAPI* pfnCreateObject)())
CNoTrackObject* CThreadLocalObject::GetData( CNoTrackObject* (AFXAPI* pfnCreateObject)()){ ENSURE(pfnCreateObject); if (m_nSlot == 0) { if (_afxThreadData == NULL) {原创 2017-05-24 14:14:38 · 1147 阅读 · 1 评论 -
thread
// 自己简单封装的thread类// thread.h#ifndef _THREAD_SPECIFICAL_H_#define _THREAD_SPECIFICAL_H_#include <Windows.h>static UINT WINAPI threadFunc(LPVOID pParam);class Thread{ friend UINT WINAPI threadFu原创 2017-05-23 20:02:32 · 271 阅读 · 0 评论 -
CStringA
#include <atlconv.h> CString cstring; CStringA cstringA; CStringW cstringW; string stdString; wstring stdWString; //注意!CA2T与CT2A是与编码方式有关的宏定义 cstring=CA2T(s原创 2017-03-30 08:27:38 · 806 阅读 · 0 评论 -
CString to string
// 默认是Unicode环境,vs系列CString C_str=_T("test");string str((LPCSTR)CStringA(C_str));或string str = CStringA(C_str);或通过char*中转CString m_str(_T("test"));char *chr=new char[m_str.GetLength()+1]; WideCha原创 2017-03-28 21:08:58 · 244 阅读 · 0 评论 -
MultiByteToWideChar
//string转换为wstring:string str=_T("test");int size=MultiByteToWideChar(CP_ACP,0,str.c_str(),-1,NULL,0);wchar_t *ch=new wchar_t[size+1];if(!MultiByteToWideChar(CP_ACP,0,str.c_str(),-1,ch,size)){原创 2017-03-28 20:57:42 · 1158 阅读 · 0 评论 -
CString格式化
CString hex = _T("FAB");CString decimal = _T("4011");unsigned long ul1 = _tcstoul(hex,0,16);cout int Int1 = _ttoi(decimal);cout << Int1 << endl;原创 2017-03-21 22:25:45 · 751 阅读 · 0 评论 -
CString
http://blog.youkuaiyun.com/flycam/article/details/567275转载 2017-03-21 20:49:57 · 340 阅读 · 0 评论 -
ActiveX工程中使用CComPtr
#include <atlbase.h>包含了这个头文件后CComPtr还是显示的未定义,总是编译不通过,提示CComPtr是未声明的标识符。但我在MFC,控制台工程里面,都是可以用的,难道ActiveX工程这样用还有特殊要求?using namespace ATL;,我加上这句话后就可以使用了。MFC 添加了一个宏,好像叫 _ATL_NO_AUTOMATIC_NAMESPACE 。这样,原创 2017-05-16 08:53:48 · 931 阅读 · 0 评论 -
WM_CLOSE
下面是系统菜单命令值/* * System Menu Command Values */#define SC_SIZE 0xF000#define SC_MOVE 0xF010#define SC_MINIMIZE 0xF020#define SC_MAXIMIZE 0xF030#define SC_NEXTWINDOW 0xF04原创 2017-05-16 11:36:40 · 736 阅读 · 0 评论 -
自定义消息
http://blog.youkuaiyun.com/qihailong123456/article/details/6777112转载 2017-05-16 18:29:15 · 234 阅读 · 0 评论