2011年4月6日
摘要:
1、OnOK()或OnCancel()//只对窗口程序有用2、PostQuitMessage(0);//最常用3、ExitProcess(0);4、发送WM_CLOSE消息,如: SendMessage(WM_CLOSE, 0, 0); 5、TerminateProcess6、CDialog.Destroy() 7、exit(0);8、void CMainFrame::OnClose(){// TODO: Add your message handler code here and/or call defaultif (MessageBox("确定要退出吗?","
阅读全文
posted @ 2011-04-06 13:36
carekee
阅读(8852)
推荐(2)
2011年3月24日
摘要:
1.定义NOTIFY消息#define NM_MOUSEUP (NM_FIRST-25)2.定义结构(任意结构)typedef struct tagNMLVSELFDEFINEDATA{NMHDR hdr;int iStatus;PVOIDmyData;} NMLVSELFDEFINEDATA, *LPNMLVSELFDEFINEDATA;3.发送NOTIFY消息NMLVSELFDEFINEDATA dispinfo = {0};dispinfo.hdr.code = NM_MOUSEUP;dispinfo.hdr.hwndFrom = m_hWnd;dispinfo.hdr.idFrom =
阅读全文
posted @ 2011-03-24 15:59
carekee
阅读(6351)
推荐(0)
摘要:
ON_COMMAND是菜单和工具栏项处理消息的宏 ON_MESSAGE是处理自定义消息的宏ON_NOTIFY 是控件向其父窗口发送消息处理的宏对这几个消息的理解要先了解一下Window消息的背景。在Windows3.1里,控件会将mouse, keybord等等的消息通知它的父窗口, 使用的消息就只有WM_COMMAND, 事件种类和控件ID被包含在wParam中, 控件的句柄包含在lParam中。由于wParam和 lParam已经满了,当控件要向父窗口发送其它特殊消息同时附带很多信息的时候就没有地方可以存放它们了。所以Windows3.1中定义了许多其它的 消息种类,比如WM_VSCROL
阅读全文
posted @ 2011-03-24 15:52
carekee
阅读(1096)
推荐(0)
摘要:
此技术文档提供了WM_NOTIFY消息的背景信息,并描述了在MFC程序中处理WM_NOTIFY的推荐(并且是最普通)方法。Windows 3.x的提醒消息在Windows 3.x,控件通过发送消息来通知父窗口事件的发生,例如鼠标点击,内容或选择的改变,控件背景绘制等。简单的提醒通过WM_COMMAND消息发送,消息的参数有提醒标志(如BN_CLICKED),控件ID(作为wParam)及控件句柄(lParam)。注意,由于wParam和lParam已被占用,因此没有办法传递更多的参数,这也是为什么只能通过这种方式发送简单提醒。例如在BN_CLICKED中,没有办法传递按键被点击时的鼠标位置。当
阅读全文
posted @ 2011-03-24 15:51
carekee
阅读(1197)
推荐(0)
摘要:
CStringArray m_arrayFolderList;//CStringArray列表//功能:CStringArray列表排序//输入:无//输出:无void TF_PhotoGroupDlg::TF_SortFileNames(){int FileCount=m_arrayFolderList.GetSize();CString TmpStr;int iPos;if (FileCount>0){for(int i=0;i<FileCount-1;i++){TmpStr=m_arrayFolderList.GetAt(i);iPos = i;for (int j=i+1;
阅读全文
posted @ 2011-03-24 10:55
carekee
阅读(1069)
推荐(0)
摘要:
//功能:删除非空目录文件夹//输入:DirName文件夹名//输出:删除是否成功//功能:迭代文件夹内文件,一个一个删除BOOL DeleteDirectory(char *DirName){CFileFind tempFind;char tempFileFind[200];sprintf(tempFileFind,"%s\\*.*",DirName);BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);while(IsFinded){IsFinded=(BOOL)tempFind.FindNextFile();if(!
阅读全文
posted @ 2011-03-24 10:53
carekee
阅读(5004)
推荐(0)
2011年2月18日
摘要:
关于BROWSEINFO结构MFC程序 2009-01-11 15:47 BROWSEINFO的结构如下:typedefstruct_browseinfo{HWND hwndOwner; //父窗口句柄LPCITEMIDLIST pidlRoot; //要显示的文件夾的根(Root)LPTSTR pszDisplayName; //保存被选取的文件夾路径的缓冲区LPCTSTR lpszTitle; //显示位于对话框左上部的标题UINT ulFlags; //指定对话框的外观和功能的標志BFFCALLBACK lpfn; //处理事件的回调函数LPARAM lParam; //应用程序传
阅读全文
posted @ 2011-02-18 10:15
carekee
阅读(2675)
推荐(0)
摘要:
view plaincopy to clipboardprint?01.BROWSEINFO bBinfo; 02.memset(&bBinfo, 0, sizeof(BROWSEINFO)); 03.bBinfo.hwndOwner = m_hWnd; 04.bBinfo.lpszTitle = _T("请选择路径: "); 05.bBinfo.ulFlags = BIF_RETURNONLYFSDIRS; 06.char strTmp[255]; 07.sprintf(strTmp,""); 08.LPITEMIDLIST lpDlist; 09.lpDlist = SHBrows
阅读全文
posted @ 2011-02-18 10:09
carekee
阅读(3859)
推荐(0)
2011年1月31日
摘要:
不知道从什么时候开始,switch-case语句成了代码坏味道的代名词,写代码的时候小心翼翼地避开它,看到别人代码中的switch-case就皱眉头,想想其实大可不必这样,switch-case语句并不是代码坏味道的根源,坏味道来自糟糕的代码(结构)设计,比如过多的switch-case分支,或者多重switch-case嵌套等等,这些都将导致代码可读性下降,如果再加上代码风格较差,代码不对齐,那么坏味道就相当地大了。 简短的switch-case还是继续用吧,但是对于分支太多的长switch-case最好能想办法化解开,那么什么算长什么算短呢?我也不知道,就以在最低分辨率的显示器上能够在一个
阅读全文
posted @ 2011-01-31 15:55
carekee
阅读(1082)
推荐(0)
摘要:
用C++ TR1 生成随机数原作 :[英文原文]翻译 :Orbit(阿猫阿狗)介绍本文将介绍如何使用C++ TR1(C++ 标准委员会 Technical Report 1) 提供的随机数生成功能 除了介绍基本的一致随机数生成之外,还会介绍随机样本的可能分布,包括:柏努利分布,二项分布,指数分布,伽马分布,几何分布,正态分布和泊松分布。我会指出一些针对特定分布需要注意的地方,比如参数约定,最后还会给出一些提示,比如如何使用TR1不直接支持的分布产生随机数,比如柯西分布,chi-squared分布和Student t。Visual Studio 2008 现在通过 feature pack支持T
阅读全文
posted @ 2011-01-31 15:52
carekee
阅读(2192)
推荐(0)
摘要:
1-1、基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号()之後,并按入Enter键即可。例如: (5*2+1.3-0.8)*10/25 ans =4.2000 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。 小提示: ""是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。 我们也可将上述运算式的结果设定给另一个变数x: x = (5*2+1.3-0.8)*10^2/25 x = 42 此时
阅读全文
posted @ 2011-01-31 15:47
carekee
阅读(1243)
推荐(0)
摘要:
2.1微分 diff函数用以演算一函数的微分项,相关的函数语法有下列4个: diff(f) 传回f对预设独立变数的一次微分值 diff(f,'t') 传回f对独立变数t的一次微分值 diff(f,n) 传回f对预设独立变数的n次微分值 diff(f,'t',n) 传回f对独立变数t的n次微分值 数值微分函数也是用diff,因此这个函数是靠输入的引数决定是以数值或是符号微分,如果引数为向量则执行数值微分,如果引数为符号表示式则执行符号微分。 先定义下列三个方程式,接著再演算其微分项: S1 = '6*x^3-4*x^2+b*x-5'; S2 = 'sin(a)'; S3 = '(1
阅读全文
posted @ 2011-01-31 15:47
carekee
阅读(397)
推荐(0)
摘要:
1. 消隐处理 例.比较网图消隐前后的图形 z=peaks(50); subplot(2,1,1); mesh(z); title('消隐前的网图') hidden off subplot(2,1,2) mesh(z); title('消隐后的网图') hidden on colormap([0 0 1]) 2. 裁剪处理 利用不定数NaN的特点,可以对网图进行裁剪处理 例.图形裁剪处理 P=peaks(30); subplot(2,1,1); mesh(P); title('裁剪前的网图') subplot(2,1,2); P(20:23,9:15)=NaN*ones(4,7); %剪孔
阅读全文
posted @ 2011-01-31 15:46
carekee
阅读(691)
推荐(0)
摘要:
MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization)。 本节将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制、列印及存档。 plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x 及y座标。 下例可画出一条正弦曲线: close all; x=linspace(0, 2*pi, 100); % 100个点的x座标 y=sin(x); % 对应的y座标 plot(x,y); 小整理:MATLAB基本绘图函数 plot: x轴和y轴均为线性刻度(Linear sc
阅读全文
posted @ 2011-01-31 15:46
carekee
阅读(1183)
推荐(0)
摘要:
histeq是用来增强对比度的,只能用在黑白图像上,也就是二维数组,你读取进来的图像肯定不是黑白的,彩色图像是三维的,例如读取一个256x256的彩色图像,生成的数组的大小事256x256x3,是三维的,而如果是黑白图像,就是256x256,是二维的。你可以用rgb2gray这个函数将彩色图像转换成黑白图像,代码可以这么写:i1=imread('lena.bmp');[m,n,p] = size(...
阅读全文
posted @ 2011-01-31 15:45
carekee
阅读(7860)
推荐(2)
摘要:
This example finds a zero of the system of two equations and two unknowns: You want to solve the following system for x starting at x0 = [-5 -5]. First, write an M-file that computes F, the values of the equations at x. function F = myfun(x)F = [2*x(1) - x(2) - exp(-x(1)); -x(1) + 2*x(2) - exp(-x(2)
阅读全文
posted @ 2011-01-31 15:45
carekee
阅读(570)
推荐(0)