随笔分类 - MFC
摘要:何谓消息、消息处理函数、消息映射?消息简单的说就是指通过输入设备向程序发出指令要执行某个操作。具体的某个操作是你的一系列代码。称为消息处理函数。在SDK中消息其实非常容易理解,当窗口建立后便会有一个函数(窗口处理函数)开始执行一个消息循环,我们还可以清楚的看到消息处理的脉络。一个switch cas...
阅读全文
摘要:chr(9) tab空格 chr(10) 换行 chr(13) 回车 Chr(13)&chr(10) 回车换行 chr(32) 空格符 chr(34) 双引号 chr(39) 单引号chr(33) ! chr(34) " chr(35) # chr(36) $ chr(37) % chr(38) &...
阅读全文
摘要:ShellExecute ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。 有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。 ShellExecute函数原型及参数含义如下: ShellExecute( HWND hwnd, //父窗口句柄 (如:NULL,Handle等) LPCSTR lpOperation, //操作类型 (如:"open")*要加英文双引号 LPCSTR lpFile, //要进行操作的文件或路
阅读全文
摘要:先为对话框加上2个radio button,分别是Radio1和Radio2。问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了?关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上,第一种:((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(FALSE);//不选上((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck();返回1表示选上
阅读全文
摘要:1、新建一快捷键资源,ACCELERATOR,关联相应的ID号,下图所示中,其中,第一个ID为自定义快捷键ID,按CTRL+R,此时响应该ID以应的消息响应函数,第二个ID为菜单ID,此时按CTRL+V,调出ID_NETWORK_PING菜单对应的响应函数。2、声明一个全局变量HACCEL hAccTable;3、在OnInitDialog()函数中,添加如下代码:hAccTable=LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));4、添加PreTranslateMessage重载函数,在函数
阅读全文
摘要:前段时间,将近花了一周至两周上班和上班后的闲余时间,做了一个用于调试和测试工作项目的应用软件,下面将实现软件的重要步骤及主要功能讲解一遍,方便日后查阅。程序开始后,提示登录框,输入用户名,密码后,登录进去主窗体,效果图如下:下面将主要实现的功能函数要点进行描述,具体实现如下:一、设置主窗体大小1、进入工程窗体初始化函数,OnInitDialog()中,在CDialog::OnInitDialog() 下面添加函数语句如下:SetWindowPos(NULL,0,0,600,400,SWP_NOMOVE); ////设置主窗体大小,长为600,高为400二、为主窗体添加背景图片:1、首先,在工程
阅读全文
posted @ 2013-09-17 23:36
狂师
摘要:具体实现代码如下:添加一个计时器:SetTimer(1,1000,NULL);下面仅列举核心代码,详细步聚不作说明,效果如下所示:void CShowTimer::OnTimer(UINT_PTR nIDEvent){if (nIDEvent==1){UpdateData(true);CString hour;CString minute;CString second;CString get_time_Hour;CString get_time_Minute;CString get_time_Second;hour = m_time_edit2.Format("%H");m
阅读全文
摘要:MessageBeep(0x00000000L); //用来播放系统默认音频文件,如0x00000000L为系统提示音,具体音频对应规则,请参照MSDN。sndPlaySound函数用来播放指定音频WAV文件,分为两种:同步模式:音乐播放过程中函数不返回,播放完成才返回异步播放在做游戏等需要播放时间较长的音乐时使用,因为程序不会在音乐播放过程中有假死的情况。有没有同学注意到第二个对话框如果快速关闭的话音乐会中途停止?这是因为程序退出音乐就中断播放了。用户关了游戏,音乐也不能继续播放,应该停止,所以很合理eg : sndPlaySound("D:\\Kugou\\1.wav"
阅读全文
摘要:1.使用CTime类 CString str; //获取系统时间 CTime tm; tm=CTime::GetCurrentTime(); str=tm.Format("现在时间是%Y年%m月%d日 %X"); MessageBox(str,NULL,MB_OK);2: 得到系统时间日期(使用GetLocalTime) SYSTEMTIME st; CString strDate,strTime; GetLocalTime(&st); strDate.Format("%4d-%2d-%2d",st.wYear,st.wMonth,st.wDay
阅读全文
摘要:void CDlg_login::OnButton1() {CString c_user,c_password;m_user1.GetWindowText(c_user);m_password1.GetWindowText(c_password);if (c_user.IsEmpty()||c_user.IsEmpty()){MessageBox("用户名密码不能为空!","提示",64);}m_pConnection.CreateInstance(__uuidof(Connection));m_pRecordset.CreateInstance(__u
阅读全文
摘要:在对话框头文件中声明如下变量:CEdit m_ret;CString num1; //数值计算符号前面的数值CString num2; //数值计算后面的数值BOOL isresult; //是否按下加、减、乘、除符号int witch; //是加、减、乘、除哪种计算在对话框初始化代码中定义变量初始值,如下:BOOL CTest1::OnInitDialog(){CDialog::OnInitDialog();num1=""; //第一个数据 num2=""; //第二个数据isresult=FALSE; //保存是否点击了运算按钮witch=0; //
阅读全文
摘要:一、其它数据类型转换为字符串短整型(int)itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制itoa(i,temp,2);///按二进制方式转换长整型(long)ltoa(l,temp,10);三、字符串转换为其它数据类型strcpy(temp,"123");短整型(int)i=atoi(temp);长整型(long)l=atol(temp);浮点(double)d=atof(temp);四、其它数据类型转换到CString使用CString的成员函数Format来转换,例如:整数(int)str.Format("%d",i);浮点数(float)s
阅读全文
摘要:在头文件中,定义三个控件变量,如m_data1,m_data2,m_sum;void Cuse_demo_dllDlg::OnBnClickedButton1(){CString data1;CString data2;CString sum;UpdateData(true);GetDlgItemText(IDC_EDIT_DATA1,data1); //通过GetDlgItemText()方法获取编辑框中的文本内容GetDlgItemText(IDC_EDIT_DATA2,data2);// m_data1.GetWindowText(data1); //通过GetWindowText()方
阅读全文
摘要:假如添加三行数据,其中当选择前两行时,提示自定义提示框信息,选择第三行时,提示当前字符串的内容,实现如下:void Cuse_demo_dllDlg::OnCbnSelchangeCombo1(){int pos=m_combo.GetCurSel();CString str;m_combo.GetLBText(pos,str);if (pos==0){MessageBox("索引为第一列数据");}if (pos==1){MessageBox("索引为第二列数据");}if (pos==2){MessageBox(str); //显示当前索引行对应的文
阅读全文
摘要:1、第一步创建一“MFC AppWizard (dll)”工程,接下来选择“Regular Dll using shared MFC DLL”,点击“Finish”。2、添加一对话框资源到工程中,从菜单中选择Insert->Resource,添加一“Dialog”选择“New”,至此对话框已添加到DLL工程中。3、为对话框添加一新类,如:CTest,基类为CDialog。4、在MFCDLL.cpp中(因创建的工程为MFCDLL)添加接口函数:extern "C" __declspec(dllexport) void Show() 2.{ 3.AFX_MANAGE_ST
阅读全文
摘要:方法一:1.首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dll的附属资源中,只需要直接用 #import引用它既可。可以直接在Stdafx.h文件中加入下面语句来实现:#import "c:/program files/common files/system/ado/msado15.dll" no_namespace rename("EOF", "adoEOF") 【注意,在MFC中路径要用
阅读全文
摘要:Dialog1的类名是CDialog1, 头文件是dialog1.h。里有成员变量CString str1, str2;Dialog2的类名是CDialog2, 头文件是dialog2.h。里有成员变量CString str11, str22;要想将Dialog1里的变量传递给Dialog2里的变量,可以用这种方法:在类 CDialog1 的头文件里,引入Dialog2的头文件: #include "dialog2.h"在类 CDialog1 的定义里声明Dialog2的对象: CDialog2 m_Dialog2;在类 CDialog1 的cpp文件里的初始化函数里(其实
阅读全文
摘要:实例一:1、创建一个动态链接库工程,如login_dll。2、在原工程头文件或者新建头文件如showdlg.h定义动态链接库的导出函数,代码如下:#include "stdafx.h"#define EXPORT __declspec(dllexport)extern "C" EXPORT void __stdcall Showdialg(char* pText);3、在动态链接库源文件中定义showdialog函数,代码如下:void _stdcall Showdialg(char* pText){MessageBox(NULL,pText,"
阅读全文
摘要:编写一个简单的登录对话框大家好,我们利用MFC编写一个简单的登录对话框。主窗体是单文档界面。程序运行的时候,先弹出一个简单的登录对话框,输入用户名和密码后主窗体显示出来。1、开打VC++6.0。点击文件,新建,点击工程中的MFCAppWizard(exe),在右边选择工程保存的位置,并且为工程取好名字。2、点击确定后,选择单个文档,你可以一直点击下一步,直到完成,或者在这里直接点击完成即可,完成后界面如下。3、点击工具栏中的“!”号试着编译运行一次,看是否有问题。如果没有问题,我们继续。点击左边的ResourceView,在Dialog上面鼠标右键单击弹出一弹出框,单击InsertDialog
阅读全文
摘要://CMyAppEApp初始化BOOLCMyAppEApp::InitInstance(){//如果一个运行在WindowsXP上的应用程序清单指定要//使用ComCtl32.dll版本6或更高版本来启用可视化方式,//则需要InitCommonControls()。否则,将无法创建窗口。InitCommonControls();CWinApp::InitInstance();CMyAppEDlgdlg;//修改这里可以改变启动的对话框.m_pMainWnd=&dlg;INT_PTRnResponse=dlg.DoModal();if(nResponse==IDOK){//TODO:在
阅读全文