摘要: 转自:http://blog.csdn.net/xiaoyun8822/article/details/7939605一般我们使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,无论是多文档还是单文档,都存在指针和句柄获取和操作问题。本文中将针对各类句柄的获得、指针的获得以及MFC中常见应用进行阐述并举例。本文内容索引:=========================================================MFC中获取常见类句柄<视图类,文档类,框架类,应用程序类>MFC中获取窗口句柄及相关函数MFC获取控件句柄MFC各类中 阅读全文
posted @ 2013-01-28 13:52 记忆斑驳的时光 阅读(1492) 评论(0) 推荐(0) 编辑
摘要: 摘要:关于在MFC中将窗口最小化到托盘~~步骤/方法 (一) 原理 1、最小化的原理:首先要将窗口隐藏,然后在右下角绘制图标。 2、恢复的原理:将窗口显示,再将托盘中的图片删除。 (二)程序实现 1、自定义消息WM_SHOWTASK: #define WM_SHOWTASK (WM_USER +1) 2、在MFC的 ::OnSysCommand(UINT nID, LPARAM lParam) 函数体中增加一个命令响应 if(nID==SC_MINIMIZE) ToTray(); //最小化到托盘的函数 3、在消息映射中添加 ON_MESSAGE(WM_SHOWTASK... 阅读全文
posted @ 2013-01-28 09:43 记忆斑驳的时光 阅读(701) 评论(0) 推荐(0) 编辑
摘要: void CbuttonDlg::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CMenu menu;//菜单 CMenu* pPopupMenu;//菜单指针 CBitmap m_bitmap1,m_bitmap2,m_bitmap3;//位图menu.LoadMenu(IDR_MENU1);//加载ID为IDR_MENU1的菜单 m_bitmap1.LoadBitmap(IDB_BITMAP1);//加载ID为IDB_BITMAP1的位图 m_bitmap2.LoadBitmap(IDB_B 阅读全文
posted @ 2013-01-28 08:53 记忆斑驳的时光 阅读(3512) 评论(0) 推荐(0) 编辑
摘要: 目标:窗体的形状要是任意的,取自于位图形状。在任务栏不显示图标,且在托盘处有显示,并能有消息处理,比如右键单击有菜单可以控制。程序退出时,托盘处不能遗留图标。窗体可以控制在最顶层。窗体可任意拖动。。。1.让窗体为图片中形状的窗体图片修改如下:背景色 → (0,0,255) 其他颜色当然可,最好是(255,0,0)(0,255,0)(0,0,255)这三种色。步骤:1.建一个MFC应用程序基于对话框,比如MyPet. (生成三个类CAboutDlg,CMyPetApp,CMyPetDlg)2.为CMyPetDlg添加变量:HBITMAP hBitmap; CBitmap m_bitmap; CS 阅读全文
posted @ 2013-01-27 21:24 记忆斑驳的时光 阅读(900) 评论(0) 推荐(0) 编辑
摘要: 将BMP转换成ICON图标方法一、HICON HICONFromCBitmap( CBitmap& bitmap) { BITMAP bmp; bitmap.GetBitmap(&bmp); HBITMAP hbmMask = ::CreateCompatibleBitmap(::GetDC(NULL), bmp.bmWidth, bmp.bmHeight); ICONINFO ii = {0}; ii.fIcon = TRUE; ii.hbmColor = bitmap; ii.hbmMask = hbmMask; HICON hIcon = ::CreateIcon... 阅读全文
posted @ 2013-01-27 11:13 记忆斑驳的时光 阅读(850) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.163.com/qiubing555@yeah/blog/static/161669431201136560948/1,添加一个资源,选择menu;2,在菜单中写入自己的菜单选项,如关于 版本 等信息添加菜单项:关于 版权 想你了 ID:xiangni 等信息3 将菜单加入对话框,即可显示。方法:打开对话框,右键属性,选择刚才的菜单即可。———————————————分割线,下面就加入单击时的鼠标响应1,将菜单加入类鼠标单击菜单选项,加入要显示的类,这里选择已有的类,选择要添加的对话框的类2比如这里选择要显示的对话框的类:C***App3在对话框初始化函数中添加. 阅读全文
posted @ 2013-01-27 10:35 记忆斑驳的时光 阅读(2658) 评论(0) 推荐(0) 编辑
摘要: 对话框头文件XXXDlg.h:1.添加成员变量NOTIFYICONDATA m_nid;2.添加tray消息响应函数的声明afx_msg LRESULT OnTrayNotify(WPARAM wParam, LPARAM lParam);对话框实现文件XXXDlg.cpp:1.定义tray消息 #define UM_TRAYNOTIFY WM_USER + 112.CXXXDlg的构造函数添加memset(&m_nid, 0, sizeof(m_nid)); // Initialize NOTIFYICONDATA struct m_nid.cbSize = sizeof(m_nid 阅读全文
posted @ 2013-01-25 18:04 记忆斑驳的时光 阅读(2285) 评论(1) 推荐(0) 编辑
摘要: 析构函数(destructor)也是一个特殊的成员函数,它的作用与构造函数相反,它的名字是类名的前面加一个“~”符号。在C++中“~”是位取反运算符,从这点也可以想到:析构函数是与构造函数作用相反的函数。当对象的生命期结束时,会自动执行析构函数。具体地说如果出现以下几种情况,程序就会执行析构函数:①如果在一个函数中定义了一个对象(它是自动局部对象),当这个函数被调用结束时,对象应该释放,在对象释放前自动执行析构函数。②static局部对象在函数调用结束时对象并不释放,因此也不调用析构函数,只在main函数结束或调用exit函数结束程序时,才调用static局部对象的析构函数。#include 阅读全文
posted @ 2013-01-23 17:50 记忆斑驳的时光 阅读(1957) 评论(0) 推荐(0) 编辑
摘要: 在C++中的一种函数申明被称之为:纯虚函数(pure virtual function).它的申明格式如下:class CShape{public: virtual void Show()=0;};类的一个成员定位虚函数的实际意义在于让C++知道该函数并无意义,它的作用只是为了让派生类进行函数重载保留位置。注意红色部分,在普通的虚函数后面加上"=0"这样就声明了一个pure virtual function.废话不说先看例子: 1 #include <iostream> 2 #include <cstdlib> 3 #include <cstd 阅读全文
posted @ 2013-01-23 12:10 记忆斑驳的时光 阅读(4766) 评论(3) 推荐(2) 编辑
摘要: 我们都知道MFC是C++类库,本文详细介绍C++的这个类库,适合初学者阅读,希望对你有帮助,一起来看。MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。Microsoft Visual C++提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资 阅读全文
posted @ 2013-01-22 09:35 记忆斑驳的时光 阅读(1032) 评论(0) 推荐(1) 编辑