MFC
小小玮
以梦为马
展开
-
MFC学习建议
我也只是刚刚开始学习mfc,mfc是微软提供给程序的一个基本类库,以类的方式出现,所以如果我们没有足够的自信对c++类的掌握,还是建议大家先去学习微软的win32 sdk,我自己也是经过了这个跨度的,因为当我开始接触MFC时,才大一,对c++一无所知,当时学习MFC很吃力,有关win32 SDK的内容可以参考我的win32 sdk文章,不过windows MSDN 里面包含了所有的学习资料,最好直原创 2013-05-23 15:21:19 · 779 阅读 · 0 评论 -
MFC 绘图板
源码下载: http://download.csdn.net/detail/dai_jing/6041993原创 2013-08-31 08:32:55 · 1294 阅读 · 0 评论 -
CDateTimeCtrl
日期控件(CDateTimeCtrl) 实现:MFC向导创建对话框应用程序,在对话框模板上拖放CDateTimeCtrl所指定的控件,为控件添加变量:(CDateTimeCtrl 控件类型)m_dateTimeCtrl 在InitDialog消息里处理如下:m_dateTimeCtrl.SetMonthCalColor(MCSC_TEXT,RGB(0,0,2原创 2013-08-30 16:49:19 · 5348 阅读 · 0 评论 -
动画启动程序
下面实现的功能属于窗口特效,不知道你有没有发现,像金山卫士等软件,都有一个比较花哨的启动画面,下面我们利用MFC内置的函数实现这一功能,请相信,这真的很简单。 先来看看MSDN里的介绍:AnimateWindowThe AnimateWindow function enables you to produce special effects when showing or hidi原创 2013-08-31 08:59:19 · 874 阅读 · 0 评论 -
仿迅雷工具栏
就如上图所示,这是迅雷的窗口浮动工具栏,不管迅雷窗口是否关闭,总是显示在窗口最上方,下面就要实现这一简单工具,原理很简单,就是创建一个窗口,让它总是在Z轴最上方显示,我想非模态对话框时最好的选择: 新建一个类:CMyDlg,派生自CDialog在主框架类添加成员:CMyDlg * m_pDlg; 在OnCreate消息里响应: m_pDlg=newCMyDlg();原创 2013-08-31 09:09:30 · 917 阅读 · 0 评论 -
CMFCButton
CMFCButton 实现:拖放该控件至对话框模板 在OnInitialUpdate里添加: ((CMFCButton*)GetDlgItem(IDC_MFCBUTTON1))->SetImage(IDB_BITMAP2,IDB_BITMAP3,IDB_BITMAP1);//在这之前要载入三幅位图:IDB_BITMAP1,IDB_BITMAP2,IDB_BITMAP3原创 2013-08-30 16:47:11 · 2035 阅读 · 0 评论 -
CProgressCtrl
进度条:CProgressCtrl 下面我们来创建两个进度条,一个横向的(水平),一个竖向的(垂直)1. 在view类添加变量:CProgressCtrl m_ProgressCtrl; CProgressCtrl m_ProgressCtrl1;1. 在OnCreate消息里如下处理:m_ProgressCtrl.Create(WS_CHIL原创 2013-08-30 16:50:07 · 1576 阅读 · 0 评论 -
cslider
滑动条:CSliderCtrl在view类添加变量:CSliderCtrl m_SliderCtrl;1. 在view类的OnCreate消息里:m_SliderCtrl.Create(WS_BORDER|WS_CHILD|WS_VISIBLE,CRect(750,220,900,250),this,10); m_SliderCtrl.SetRange(0,100,TR原创 2013-08-30 16:50:46 · 1659 阅读 · 0 评论 -
cstatic
CStatic 静态文本框静态文本框,用来显示文本提示信息下面利用MSDN里介绍的CStatic实现一个位图文本框1.在view类中添加变量:CStatic m_static;2.在OnCreate消息里如下处理:m_static.Create("tiance",WS_BORDER|WS_CHILD|WS_VISIBLE|SS_BITMAP|SS_CENTERIMAGE,C原创 2013-08-30 16:52:38 · 668 阅读 · 0 评论 -
cstatus bar
CStatusBar(状态栏) 下面我们来创建一个状态栏,然后在状态栏里添加几个分栏,分别放置一个本地时间,一个进度条和一view窗口的当前鼠标位置信息。现在我们来实现它: 添加变量,当然在主框架类里:CStatusBar m_MyStatusBar;在OnCreate消息里处理创建:if (!m_MyStatusBar.Create(t原创 2013-08-30 16:53:46 · 941 阅读 · 0 评论 -
CTreeCtrl
CTreeCtrl(树形控件) 如上图所示,我们下面要来实现它,同时要增加以下操作: 好了,现在要准备10张ico图标载入到工程的资源视图中以备使用 1. 在view类添加成员变量: private: CTreeCtrl m_TreeCtrl; CImageList原创 2013-08-30 16:56:12 · 3755 阅读 · 0 评论 -
CCombbox
CComboBox:组合框 先来看看MSDN:The CComboBox class provides the functionality of a Windows combo box.A combo box consists of a list box combined with either a static control or edit control. The lis原创 2013-08-30 16:40:34 · 896 阅读 · 0 评论 -
自绘非客户区
下面是网上收集来的代码,实现炫彩自绘窗口非客户区,贴出来大家参考共享...效果如下图所示: 关键代码如下:在框架类中添加:public: afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point); afx_msg void OnNcMouseMove(UINT nHitTest, CPoint point);原创 2013-09-04 21:42:13 · 2672 阅读 · 0 评论 -
ctool bar
CToolBar(工具栏)关于工具栏,真没有什么可讲的,因为它足够简单,因为当我们用MFC向导生成一个单文档的程序时,它本身就拥有一个工具栏,这个工具栏的实现代码就在Fram类的.cpp文件中,我们只要将那段代码复制,然后改动一下,就会实现我们自己的工具栏,难道不是这样吗? 好了不多说了,言归正传,我们现在就去搞定它。 1. 在主框架类里添加变量:CTool原创 2013-08-30 16:55:24 · 777 阅读 · 0 评论 -
MFC SOCKET CHATROOM
源码下载:服务端 http://download.csdn.net/detail/dai_jing/6041975客户端 http://download.csdn.net/detail/dai_jing/6041979原创 2013-08-31 08:10:10 · 1139 阅读 · 0 评论 -
CAniate
CAnimateCtrl:Mfc中的动画控件和WIN32中的是一样的(本来就是封装win32嘛),它只支持avi格式的动画,据我所知。 下面我们来实现动画控件创建和简单操作:(open.close.seek…) 1. 创建动画控件:在view类中添加变量:CAnimateCtrl m_AnimateCtrl;在view类的OnCreate消息里处理创建:原创 2013-08-30 16:38:55 · 670 阅读 · 0 评论 -
CButton
CButton:MFC 中的CButton类继承与CWnd类,利用CButton类可以非常简单的实现按钮的创建和事件响应。初识CButton:CButton 类封装了win32中button类的所有类型的按钮实现方法,例如:PushButton,CheckBox,RadioButton,GroupBox,3StateButton…MSDN 里有这样一段话:You can c原创 2013-08-30 16:39:53 · 5892 阅读 · 0 评论 -
CGroupBox
CButton 类拥有很多样式,其中有一种样式可以实现组框 添加变量:CButton m_BtnGroupBox;在OnCreate消息里处理创建: m_BtnGroupBox.Create("group box",WS_CHILD|WS_VISIBLE|BS_GROUPBOX,CRect(600,200,700,300),this,5); 搞定了,你可以原创 2013-08-30 16:43:08 · 1856 阅读 · 0 评论 -
CListbox
CListBox:当我第一次看MSDN里关于CListBox的介绍时,我想MFC真的很强大,因为封装了很多的方法实现CListBox的操作,操作起来如此简单,所以很有必要看看CListBox。初识CListbox:先来看看MSDN:The CListBox class provides the functionality of a Windows list box. A list原创 2013-08-30 16:43:47 · 3565 阅读 · 1 评论 -
CMFCFontComboBox
CMFCFontComboBox 实现:拖放该控件至对话框模板 初始化字体:在OnInitialUpdate里添加:((CMFCFontComboBox*)GetDlgItem(IDC_MFCFONTCOMBO1))->SelectFont(_T("新宋体")); 处理单击事件:添加消息原型:afx_msg void OnCbnSelchangeMf原创 2013-08-30 16:48:27 · 3131 阅读 · 0 评论 -
CMFCColorButton
CMFCColorButton 实现:在对话框程序的对话框模板上拖放该控件或者自己创建在视类(如果是视类结构的框架程序)的OnInitialUpdate或者对话框的InitDialog里添加:((CMFCColorButton*)GetDlgItem(IDC_MFCCOLORBUTTON1))->SetColor(RGB(0,255,0)); 为该控件添原创 2013-08-30 16:47:57 · 2070 阅读 · 0 评论 -
ctabctrl
CTabCtrl 如上图所示,下面我们来逐步实现: 首先我们要准备三张图标,载入工程:IDI_ICON1,IDI_ICON2,IDI_ICO3 在view类增加变量:CTabCtrl m_TabCtrl;CImageList m_ImageList; 在OnInitialUpdate(或者OnC原创 2013-08-30 16:54:33 · 1645 阅读 · 0 评论 -
CListCtrl
CListCtrl(列表视图控件) 其实这一切都很容易实现,不仅如此,我还要给它添加多个消息:1. 鼠标左右键点击消息(左键双击,右键单击)2. 动态改变文字颜色3. 动态改变文字背景颜色4. 动态改变控件的背景图片5. 动态增加子项6. 动态删除子项7.原创 2013-08-30 16:45:45 · 1015 阅读 · 0 评论 -
修改窗口的图标 修改视窗光标
下面实现修改程序的图标:在主框架类的OnCreate消息里添加: HICONhicon=::LoadIconA(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1));SetClassLong(m_hWnd,GCL_HICON,(LONG)hicon); 修改视窗光标: 在视窗类(view)添加消息:WM_SETCURSOR原创 2013-08-31 08:58:21 · 632 阅读 · 0 评论 -
托盘图标
下面利用MFC制作托盘图标: 全局宏:#define IDI_NOTIFYICON100 //托盘图标标识#define WM_ADDTRAYICONWM_USER+101//自定义消息 在主框架类的OnCreate消息里添加: NOTIFYICONDATA notifyicondata;// notifyicondata.cbSize=siz原创 2013-08-31 09:10:56 · 755 阅读 · 0 评论 -
CEdit
编辑框控件CEdit关于编辑框的功用我就不用多说了,因为它无处不在。好了,和上面一样,先来看看MSDN:The CEdit class provides the functionality of a Windows edit control. An edit control is a rectangular child window in which the user can ente原创 2013-08-30 16:41:20 · 4596 阅读 · 0 评论 -
CMenu
CMenu(菜单):下面我们来实现几种样式的菜单:样式1:在菜单栏上添加菜单(普通菜单),并添加消息响应样式2:check菜单(对号)样式3:位图菜单(替代文字)样式4:位图标记的check菜单样式5:右键菜单样式6:动态添加菜单 别看有那么多,其实很简单,下面我们分别来实现:样式1菜单:在资源视图的MENU资源上打开资源,在后面添加一个菜单项即可,你懂原创 2013-08-30 16:46:39 · 2570 阅读 · 0 评论 -
CSpinButtonCtrl
CSpinButtonCtrl(暂且称为旋转按钮吧):这种控件我想你应该看过,不解释。 当你看到上面图示的控件时,有没有想到,其实应该是这样的: 真的是这样的,不骗你,所以下面创建该控件时要分两步走:第一步:创建编辑框:添加变量:CEdit m_edit;处理创建:m_edit.Create(WS_BORDER|WS_CHILD|WS_VISI原创 2013-08-30 16:51:19 · 1433 阅读 · 0 评论 -
界面库分享
在网上收集了一份免费的界面库,测试效果如下库中文件包括:.LIB文件.DLL文件.h文件使用方法:1.利用MFC向导创建一个对话框窗口(或视图窗口等)2.在stdafx.h中添加#include "../skinH/SkinH.h"#pragma comment(lib, "../skinLib/SkinH.lib原创 2013-09-23 20:44:44 · 1127 阅读 · 0 评论