
MFC
tanyufeng_521
心态决定成败,梦想决定未来
展开
-
CFile OpenFlags的应用
CFile:: modeCreate 创建一个新的文件,如果文件存在将文件截取成长度为0。CFile::modeNoTruncate 此标志总是与modeCreate 配合使用,如果文件存在,不将文件截取成长度为0;如果文件不存在即创建新文件。这个功能往往很好用,比如说,当你需要打开一个设置文件,但是你并不清楚这个文件是否已经存在。CFile::modeRead 只读方式打转载 2014-12-30 09:27:56 · 1680 阅读 · 0 评论 -
在MFC中动态按钮的创建与响应函数的生成
态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。一、创建动态控件:为了对照,我们先来看一下静态控件的创建。放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示。静态控件不需要调用Crea原创 2013-08-21 09:30:36 · 1818 阅读 · 1 评论 -
自绘制按钮(通过重载DrawItem函数实现)
实现方法:先建一个自定义类继承CButtoon类,重载一些消息和函数。1. 设置数据成员:private: BOOL m_bMouseMove;//鼠标是否在按钮上public: int m_nStyle;//有外部设置按钮为几态 Gdiplus::Image* m_pImage;//按钮图片 2. 设置成转载 2013-08-20 15:16:47 · 1495 阅读 · 0 评论 -
使用BitBlt复制位图,出现显示黑色块的问题
我遇到这个问题两三次了,前面都是放着或者一不小心就好了。今天我又遇到了,这此让我找到了问题的原因,主要还是创建DC对应的CBitmap是出了一个很小的问题。 CDC bkDC; bkDC.CreateCompatibleDC (NULL); CDC picDC; picDC.CreateCompatibleDC(NULL); CBitmap keyBmp; bkDC.SelectO原创 2013-10-24 15:58:02 · 3257 阅读 · 3 评论 -
Windows窗口风格详细解释
窗口风格是各种窗口开发的重要基础之一。它可以分为普通风格(WS_系列)和扩展风格(WS_EX_系列)。从其特点上,主要分成两大类:1.一类表明窗口和其它窗口的关系,包括:WS_CHILD、WS_POPUP、WS_OVERLAPPED、WS_CLIPCHILDREN、WS_CLIPSIBLINGS、WS_GROUP、WS_EX_TOPMOST、WS_EX_MDICHILD等。(这里的关系并不原创 2013-11-04 11:42:29 · 1601 阅读 · 0 评论 -
VC 工程下所有文件的作用
.dsp 工程文件,文本格式,不可丢失或损坏.dsw 工作区文件,丢失或损坏时,可点击.dsp文件打开工程,.dsw文件自动重建.clw ClassWizard信息文件,ini格式,ClassWizard出问题时可删除它再重建.map 映像信息文件,编制DLL写.def文件时,若不知道函数导出顺序,可在 Prject \ Settings \ Link 页中选中“G原创 2013-11-22 11:59:06 · 949 阅读 · 0 评论 -
Excel编程之六大类介绍
操作Excel对我们来说是常有的事,有时经常需要从Excel中导入数据,或者把报表保存到Excel中去;但是对于Excel编程来说肯定少不了要遇到六个最基本的类(CApplication、CWorkBook、CWorkBooks、CWorkSheet、CWorkSheets、CRange),下面我们来一一介绍一下这五个类,相信你掌握了这五个类后你对于Excel编程也会熟练很多。话不多说,我们一一来原创 2015-02-04 16:26:30 · 1958 阅读 · 0 评论 -
Excel编程基础操作汇总
一、变量定义与初始化 LPDISPATCH lpDisp; CRange m_myRange; CWorkbook m_myBook; CWorkbooks m_myBooks; CWorksheet m_mySheet; CWorksheets m_mySheets; CApplication m_myApp; if(!m_myApp.CreateDispat原创 2015-02-04 20:19:14 · 676 阅读 · 0 评论 -
如何得到相对路径(MFC)
设计思想是先得到当前程序的完全路径,再去掉本程序的名称就得到了当前的相对路径!!希望有更多想法的大家一起分享,一起学习wchar_t* allPathName = new wchar_t[200]; //声明程序的完整路径名 GetModuleFileName(NULL,allPathName,200); //得到程序原创 2013-03-30 23:00:42 · 1864 阅读 · 0 评论 -
常见VC小应用
(1) 如何通过代码获得应用程序主窗口的 指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED)//使程序最大化.(2) 确定应用程序的路径Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。原创 2013-10-24 15:44:16 · 930 阅读 · 0 评论 -
Excel编程环境搭建
在MFC中如果需要操作Excel,那么必须得导入Excel库,以及做一些相应的准备工作。下面我就把这些准备工作写下来,希望能帮到大家,也为自己以后的使用更方便。大概需要做的准备有:1、导入Excel库中的类;2、对于导入的类做一些调整;3、初始化COM库一、导入Excel库中的类我们在Excel编程时最基本的需要导入6个类,分别为CApplication、CWorkBooks、CWor原创 2015-02-04 16:54:05 · 1037 阅读 · 0 评论 -
在VC6.0中添加WM_MOUSELEAVE消息以及消息响应
在VC6.0中默认是没有WM_MOUSELEAVE消息的,当然在高版本里面是有。在网上找了实现的方法,下面将VC6.0里面实现WM_MOUSELEAVE消息的方法共享下,如果有好的方法或者有不对的地方也可以共享下,供大家相互学习:一、在头文件中添加消息响应函数afx_msg void OnMouseLeave(); 二、在CPP文件的消息映射中添加消息BEGIN_MESSAGE_M原创 2013-09-07 10:50:29 · 1535 阅读 · 0 评论 -
CListCtrl 列表项拖放的实现
最近在做一个好友列表,通过查找资料自己现在了CListCtrl的(内部)拖放,这里写下来和大家分享分享,同时也寻求更好更多的实现方法,如果大家有好的方法,或者其他的方法也可以分享出来; 拖放的实现总的来说可以分为三步:第一步、开始拖放,做拖放数据的初始化和记录;第二步、实现拖放的移动;第三步、删除原有数据,插入现有数据; 准备:实现(CListCtrl内部)拖放需要一个原创 2013-10-18 16:25:45 · 1891 阅读 · 0 评论 -
CListCtrl 修改行高
最近自己在做一个小项目,需要重绘CListCtrl;这里和大家分享修改行高的方法。总的来说修改行高有两种方法(目前我知道的),一是利用响应ON_WM_MEASUREITEM_REFLECT消息来修改行高,一是利用item内的内容来撑大行高; 一、利用ON_WM_MEASUREITEM_REFLECT来修改行高 1、首先我们对ON_WM_MEASUREITEM_R原创 2013-10-16 11:34:08 · 4690 阅读 · 0 评论 -
VC中最小化到托盘的实现
一、托盘简介 所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分。在程序最小化或挂起时,但有不希望占据任务栏的时候,就可以把程序放到托盘区。其实,托盘区的编程很简单,下面简要阐述一下子喽^_^二、托盘编程相关函数 其实呢,把程序放到托盘上的本质就是先在托盘区绘制一个图标,然后把程序隐藏不见,再对托盘的图标进行消息处理,原创 2013-10-25 10:19:18 · 699 阅读 · 0 评论 -
将子窗口最小化后在任务栏显示
我们再创建子对话框的时候有时候需要将子对话框最小化,但最小化后一般是缩小到了桌面的左下角,而且如果你没有设置TitleBar的话就回事一块黑色的区域;在网上找了找,看到有两种方法可以将子对话框缩小后在任务栏显示。方法一、更改子窗口的风格,添加WS_EX_APPWINDOW风格,在OnInitDialog设置代码如下:ModifyStyleEx(0, WS_EX_APPWINDOW, 0);原创 2013-11-04 11:11:55 · 2028 阅读 · 0 评论 -
位图BITMAPINFOHEADER 与BITMAPFILEHEADER:
位图BITMAPINFOHEADER 与BITMAPFILEHEADER:先来看BITMAPINFOHEADER,只写几个主要的 biSize包含的是这个结构体的大小(包括颜色表) biWidth和biHeight分别是图片的长宽 biPlanes是目标绘图设备包含的层数,必须设置为1 biBitCount是图像的位数,例如24位,8位等转载 2012-12-04 21:49:03 · 780 阅读 · 0 评论