01 2013 档案

摘要:1.调用SHELL HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd ); 2.创建一个新的进程。BOOL CreateProcess( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpTh... 阅读全文
posted @ 2013-01-29 19:40 记忆斑驳的时光 阅读(2343) 评论(0) 推荐(0)
摘要:操作系统的实验要用到管道.管道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另一进程就可以从管道的另一端将其读取出来。匿名管道(Anonymous Pipes)是在父进程和子进程间单向传输数据的一种未命名的管道,只能在本地计算机中使用,而不可用于网络间的通信。 匿名管道实施细则 匿名管道由CreatePipe()函数创建,该函数在创建匿名管道的同时返回两个句柄:管道读句柄和管道写句柄。CreatePipe()的函数原型为: BOOL CreatePipe(PHANDLE hReadPipe,... 阅读全文
posted @ 2013-01-29 19:39 记忆斑驳的时光 阅读(1305) 评论(0) 推荐(1)
摘要:一个程序从宏观上来说,不外乎就是输入->处理->输出,输入与输出对一个程序来说至关重要。前段时间给可视化平台换脸的时候,平台的输出不仅包括直观的图像显示,用户还希望直观地得到每帧图像的一些相关的参数信息、统计信息等,这时候我就选择在CListView中滚动地显示相关信息,并将窗口进行切分,将CListView的窗口放在整个主窗口的最底端,在需要的时候显示,不需要的时候隐藏。但是,我对CListView的用法不是很熟悉,在查MSDN和从网上查相关用法的时候,要不就是零星地介绍,要不就是只介绍CListCtrl的用法,这让我走了很多弯路,为此,我将从网上查到的用法,结合我的实际应用,简 阅读全文
posted @ 2013-01-29 11:19 记忆斑驳的时光 阅读(1312) 评论(0) 推荐(0)
摘要:摘自网络:MFC 中 Tooltip 实现的几种方式方法一: 利用CWnd本身自身支持的tooptip来实现,这种方法适用给控件增加tooltip,非常方便和简单方法如下: 1、在窗口中增加消息映射ON_NOTIFY_EX(TTN_NEEDTEXT, 0, SetTipText) SetTipText是个回调函数,名字叫什么无所谓,符合原型就行了,原型下面会说。 2、EnableToolTips(TRUE),使用这个方法调用这个函数是必不可少的.建议在CDialog::OnInitDialog调用。3、在窗口中增加一个函数用于动态提供显示内容,其原型为 BOOL SetTipText(UIN. 阅读全文
posted @ 2013-01-28 13:55 记忆斑驳的时光 阅读(3362) 评论(0) 推荐(0)
摘要:转自: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 记忆斑驳的时光 阅读(1564) 评论(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 记忆斑驳的时光 阅读(714) 评论(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 记忆斑驳的时光 阅读(3704) 评论(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 记忆斑驳的时光 阅读(946) 评论(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 记忆斑驳的时光 阅读(896) 评论(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 记忆斑驳的时光 阅读(2806) 评论(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 记忆斑驳的时光 阅读(2350) 评论(1) 推荐(0)
摘要:析构函数(destructor)也是一个特殊的成员函数,它的作用与构造函数相反,它的名字是类名的前面加一个“~”符号。在C++中“~”是位取反运算符,从这点也可以想到:析构函数是与构造函数作用相反的函数。当对象的生命期结束时,会自动执行析构函数。具体地说如果出现以下几种情况,程序就会执行析构函数:①如果在一个函数中定义了一个对象(它是自动局部对象),当这个函数被调用结束时,对象应该释放,在对象释放前自动执行析构函数。②static局部对象在函数调用结束时对象并不释放,因此也不调用析构函数,只在main函数结束或调用exit函数结束程序时,才调用static局部对象的析构函数。#include 阅读全文
posted @ 2013-01-23 17:50 记忆斑驳的时光 阅读(1999) 评论(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 记忆斑驳的时光 阅读(4913) 评论(3) 推荐(2)
摘要:我们都知道MFC是C++类库,本文详细介绍C++的这个类库,适合初学者阅读,希望对你有帮助,一起来看。MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。Microsoft Visual C++提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资 阅读全文
posted @ 2013-01-22 09:35 记忆斑驳的时光 阅读(1117) 评论(0) 推荐(1)
摘要:〈一〉开门见山我们先通过两个例子对比了解一下reinterpret_cast(32位操作系统为例)1〉#include <iostream>using namespace std;int main(){ int myArray[5]={0,1,2,3,4}; char myChar[5]={'H','a','o','Y','u'}; int *aPoint = myArray; char *bPoint = myChar; for(int i=0;i<5;i++) { cout<<*( 阅读全文
posted @ 2013-01-20 20:31 记忆斑驳的时光 阅读(2489) 评论(2) 推荐(2)
摘要:相同点:都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址; 引用是某块内存的别名。不同点:指针是一个实体,而引用仅仅是个别名; int a=3; int &ra = a; (1)&在此不是求地址运算,而是起标识作用 (2)类型标识符是指目标变量的类型 (3)声明引用时,必须同时对其进行初始化 (4)引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名(int b;int &ra=b 是不可以的) (5)声明一个引用,不是新定义一个变量,它只表示该引用名是目标变量名的一个别名,它本身... 阅读全文
posted @ 2013-01-20 12:00 记忆斑驳的时光 阅读(1517) 评论(0) 推荐(0)