摘要: 这篇文章里通过计算器的简单实现,让大家能够了解一般对话框应用程序开发的基本流程要求:编写简单的计算器应用程序,要求利用按钮进行加、减、乘,除操作,在对话框输出计算机结果。下面结合操作步骤,讲解对话框应用程序开发的基本流程:(1)、在对话框资源上添加按钮和编辑框控件,并设置按钮控件和编辑框控件的标题和ID,并且将编辑框设置为只读属性。最终的运行结果如下图。(2)、添加单机数字按钮和加、减、乘、除按钮,及单机“等号”按钮的消息响应函数(3)、添加消息响应函数的函数体。(4)、程序调试无错误后,进行测试,分析测试结果。保证程序的正确性。下面分析本程序的代码:1、新建一个对话框应用程序Test,采用默 阅读全文
posted @ 2013-09-04 11:59 狂师 阅读(1992) 评论(0) 推荐(0)
摘要: 打开注册表,定位到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.dll把除OpenWithProgids外的键全部删除,重启电脑,OK,dll文件又恢复系统默认的 阅读全文
posted @ 2013-09-04 09:33 狂师 阅读(970) 评论(0) 推荐(0)
摘要: 在头文件中,定义三个控件变量,如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()方 阅读全文
posted @ 2013-09-04 00:35 狂师 阅读(1539) 评论(0) 推荐(0)
摘要: 假如添加三行数据,其中当选择前两行时,提示自定义提示框信息,选择第三行时,提示当前字符串的内容,实现如下: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); //显示当前索引行对应的文 阅读全文
posted @ 2013-09-03 23:46 狂师 阅读(654) 评论(0) 推荐(0)
摘要: 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 阅读全文
posted @ 2013-09-03 22:26 狂师 阅读(1773) 评论(0) 推荐(0)
摘要: 方法一: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中路径要用 阅读全文
posted @ 2013-09-03 17:19 狂师 阅读(1528) 评论(0) 推荐(0)
摘要: 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文件里的初始化函数里(其实 阅读全文
posted @ 2013-09-03 14:26 狂师 阅读(2028) 评论(0) 推荐(0)
摘要: 实例一: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," 阅读全文
posted @ 2013-09-01 22:58 狂师 阅读(6396) 评论(0) 推荐(1)
摘要: 编写一个简单的登录对话框大家好,我们利用MFC编写一个简单的登录对话框。主窗体是单文档界面。程序运行的时候,先弹出一个简单的登录对话框,输入用户名和密码后主窗体显示出来。1、开打VC++6.0。点击文件,新建,点击工程中的MFCAppWizard(exe),在右边选择工程保存的位置,并且为工程取好名字。2、点击确定后,选择单个文档,你可以一直点击下一步,直到完成,或者在这里直接点击完成即可,完成后界面如下。3、点击工具栏中的“!”号试着编译运行一次,看是否有问题。如果没有问题,我们继续。点击左边的ResourceView,在Dialog上面鼠标右键单击弹出一弹出框,单击InsertDialog 阅读全文
posted @ 2013-09-01 20:53 狂师 阅读(3389) 评论(0) 推荐(0)
摘要: //CMyAppEApp初始化BOOLCMyAppEApp::InitInstance(){//如果一个运行在WindowsXP上的应用程序清单指定要//使用ComCtl32.dll版本6或更高版本来启用可视化方式,//则需要InitCommonControls()。否则,将无法创建窗口。InitCommonControls();CWinApp::InitInstance();CMyAppEDlgdlg;//修改这里可以改变启动的对话框.m_pMainWnd=&dlg;INT_PTRnResponse=dlg.DoModal();if(nResponse==IDOK){//TODO:在 阅读全文
posted @ 2013-09-01 16:44 狂师 阅读(1538) 评论(0) 推荐(0)
摘要: UpdateData() MFC的窗口函数,下面是MSDN的说明; Call this member function to initialize data in a dialog box, or to retrieve and validate dialog data.BOOL UpdateData(BOOL bSaveAndValidate = TRUE );ParametersbSaveAndValidate Flag that indicates whether dialog box is being initialized (FALSE)or data is being retrie 阅读全文
posted @ 2013-09-01 16:21 狂师 阅读(507) 评论(0) 推荐(0)
摘要: 下面实例是在退出程序点击退出按钮时,在主程序的根目录下生成一个Log记录,用来记录程序的退出时间,具体实现代码与调试代码如下:void CDebugDlg::OnClose(){// TODO: 在此添加消息处理程序代码和/或调用默认值CFile file;CTime time=CTime::GetCurrentTime();CString str1="记录系统退出时间为:";CString str2=time.Format("%y-%m-%d %H:%M:%S");CString str3=" \r\n";unsigned char 阅读全文
posted @ 2013-09-01 15:18 狂师 阅读(562) 评论(0) 推荐(0)
摘要: 1、创建对话框程序,导入8个图标资源。2、在对话框头文件中声明变量,代码如下:CToolBarm_ToolBar;CImageListm_ImageList;CStringm_TipText;3、在对话框中oninitdialg函数中创建工具栏,如下://创建图像列表m_ImageList.Create(32,32,ILC_COLOR24|ILC_MASK,1,1);//向图像列表中添加图标m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2 阅读全文
posted @ 2013-08-31 16:07 狂师 阅读(978) 评论(0) 推荐(0)
摘要: 一、工具栏工具栏控件在控件面板里没有对应的选项(图标),但有一个工具栏控件类CToolBar,所以我们如果要创建一个工具栏控件并显示在窗口里的话,只能用代码来完成,事实上任何一种控件,都可以用代码创建,如CButton按钮类,现举一个用代码创建按钮控件并显示在窗口里的例子。CButton类的Create成员函数可以创建一个按钮控件,这个函数的格式如下:BOOL CButton::Create(LPCTSTR lpszCaption,//按钮显示的文本DWORD dwStyle,//按钮样式const RECT& rect,//按钮控件显示的区域(大小)相对于父窗口CWnd* pPare 阅读全文
posted @ 2013-08-31 15:59 狂师 阅读(1749) 评论(0) 推荐(0)
摘要: MFC中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box)。一、模态对话框(model dialog box) 在程序运行的过程中,若出现了模态对话框,那么主窗口将无法发送消息,直到模态对话框退出才可以发送。 点击模态对话框中的OK按钮,模态对话框会被销毁。创建一个模态对话框的代码:[cpp] view plaincopyprint?//创建一个模态对话框 CTestDialogtd;td.DoModal(); //创建一个模态对话框 CTestDialog td; td.DoModal(); 其中CTest.. 阅读全文
posted @ 2013-08-30 12:35 狂师 阅读(558) 评论(0) 推荐(0)
摘要: VC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好.一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:void CSingleThreadDlg::OnSleepSixSecond(){Sleep(6000); //延时6秒} 编译并运行应用程序,单击“延时6秒”按钮,你就会发现在这6秒期间程序就象“死机”一样,不在响应其它消息。为了更好地处理这种耗时的操作,我们有.. 阅读全文
posted @ 2013-08-29 23:39 狂师 阅读(303) 评论(0) 推荐(0)
摘要: 分享到一键分享QQ空间新浪微博百度云收藏人人网腾讯微博百度相册开心网腾讯朋友百度贴吧豆瓣网搜狐微博百度新首页QQ好友和讯微博更多...百度分享MFC通过ODBC连接Mysql程序安装建立mysql,连接ODBC以及通过MFC拖控件这些过程网上很多,就不写了,说一下我的mysql中有database mytest 内有表格mytable,如下:1、先通过vs2005建立一个MFC工程,vs自动生成文件如图:2、打开stdafx.h头文件,添加如下语句#include #include “afxdb.h”这两个头文件应该是定义了后面用到的数据库操作类CDataBase、CRecodSet .etc 阅读全文
posted @ 2013-08-29 23:35 狂师 阅读(648) 评论(0) 推荐(0)
摘要: MFC下DLL编程(图解)DLL(Dynamic Link Library,动态链接库)是微软公司为Windows和OS/2操作系统设计一种供应用程序在运行时调用的共享函数库。DLL是应用程序的一种扩展,也是软件共享和重用的传统方法。DLL除了可同时被多个应用程序共享外,还可以在不改变调用接口(从而不需修改使用它的应用程序)的情况下,改进和升级里面的库函数。而且DLL与编写它的语言无关,例如,用VC生成的规则DLL,可以被VB、Delphi等生成的应用程序使用。DLL可以用多种语言和工具编写,我们这里只介绍如何使用MFC来编写和使用DLL。相关说明文档位于MSDN帮助的“目录\开发工具和语言\ 阅读全文
posted @ 2013-08-29 23:14 狂师 阅读(904) 评论(0) 推荐(0)
摘要: INI文件的写入与读取[节名] '[]中的节名对应此API的第一参数Name=内容 'Nmae对应此API的第二参数API的第三参数是没有取到匹配内容时返回的字符串;API的第四参数是要返回的字符串;API的第五参数是字符串缓冲的长度,一般255;API的第六参数是INI文件的路径。GetPrivateProfileString("节名","Name","没有获得匹配",s,len(s),你那ini的路径);-------------------------------------------------------- 阅读全文
posted @ 2013-08-28 22:59 狂师 阅读(2067) 评论(0) 推荐(0)
摘要: ShellExecute(NULL,"open","http://www.sina.com.cn",NULL,NULL,SW_SHOWNORMAL);//ShellExecute(NULL,"open","C:\\Documents and Settings\\Administrator\\桌面\\xq1\\TestChess0.exe",NULL,NULL,SW_SHOWNORMAL);还可以使用一个ShellExecuteEx的函数,在那里可以设置工作目录路径工作中曾经有同事使用了 ShellExecute但是 阅读全文
posted @ 2013-08-27 22:23 狂师 阅读(1035) 评论(0) 推荐(0)
摘要: 用CTime类得到当前日期、时间、星期,格式化(详细讲解)2009/05/12 09:48 A.M.① 定义一个CTime类对象 CTime time;② 得到当前时间 time = CTime::GetCurrentTime();③ GetYear( ),GetMonth( ), GetDay( ), GetHour( ), GetMinute( ), GetSecond( ), GetDayOfWeek( ) 返回整型(int)对应项目④ 将当前时间格式化 CString date = time.Format("%Y-%m-%d %H:%M:%S %W-%A");说明: 阅读全文
posted @ 2013-08-27 21:19 狂师 阅读(1196) 评论(0) 推荐(0)
摘要: OutPutDebugString()函数的输出则可以用DebugView捕获(DebugView也可以捕获TRACE宏的输出)eg:OutPutDebugString("输出第一调试信息");备注: 先启动了debugview 然后按F5运行我的代码。在开发环境里调试貌似是不行的。你可以编译了你的程序以后,直接运行你的程序,就好了,不要在开发环境里调试运行。要是想在开发环境里看调试信息,在开发环境底部的 "输出"标签就可以看得到(VC),之所以DebugView看不到消息,应该是被开发环境截取了。 阅读全文
posted @ 2013-08-27 21:10 狂师 阅读(496) 评论(0) 推荐(0)
摘要: 方法一:1、声明成员变量CBrush m_brush;2、在InitDialog中添加代码:?CBitmap bmp;bmp.LoadBitmap(IDB_BITMAP1); //IDB_BITMAP1是图片资源IDm_brush.CreatePatternBrush(&bmp);3、重载对话框的OnCtlColor,改最后的返回值:?1return(HBRUSH)m_brush;方法二:把下面这段代码加进OnPaint()里就行了?CPaintDC dc(this);CBitmap bitmap;bitmap.LoadBitmap(IDB_BITMAP1); //这个IDB_BITM 阅读全文
posted @ 2013-08-26 21:25 狂师 阅读(8014) 评论(0) 推荐(1)
摘要: 如果我们想实现在MFC对话框中添加状态栏显示,如何例如分状态栏为两列,第一列显示鼠标的当前位置,第二列显示当前的时间,(如上图)。1. 首先,打开在资源视图的String Table并添加两个ID:ID_INDICATOR_NISH 和ID_INDICATOR_TIME,如下图2. 在该对话框的头文件中添加一个CStatusBar类对象CStatusBar m_bar;3. 打开该对话框的cpp文件,并在最顶端添加以下代码:static UINT BASED_CODE indicators[]={ ID_INDICATOR_NISH, ID_INDICATOR_TIME};4. 接... 阅读全文
posted @ 2013-08-25 23:30 狂师 阅读(4855) 评论(0) 推荐(1)
摘要: 很多人在做MFC界面的时候想要给对话框加入背景图片,很多人都会想到在OnPaint()里面来加一段代码来实现,其实这样做并不怎么科学,因为它会导致窗口不断重绘,在很多项目中窗口会闪烁(比如带播放视频的一个对话框);下面的方法我感觉更为合理。先载入一张图片,ID为IDB_BITMAP2TestDlg.h中:CBrushm_brBk;//在public中定义TestDlg.cpp中:在初始化函数OnInitDialog()中加入:BOOLCTestDlg::OnInitDialog(){CDialog::OnInitDialog();CBitmapbmp;bmp.LoadBitmap(IDB_BI 阅读全文
posted @ 2013-08-13 21:48 狂师 阅读(1296) 评论(0) 推荐(0)
摘要: 将一个bmp图片添加到资源中在资源视图中更改位图资源的ID为IDB_BITMAP_BACKGROUND。第一种方法:在Dialog中添加一个Picture Control控件,将Picture Control控件的Type属性更改为Bitmap。设置Image属性为IDB_BITMAP_BACKGROUND。这样图片自动加载到窗口中。第二种方法:添加消息函数OnEraseBkgnd在BOOL 类名::OnEraseBkgnd(CDC* pDC)函数中添加如下代码BOOL 类名::OnEraseBkgnd(CDC* pDC){ // TODO: 在此添加消息处理程序代码和/或调用默认值 CRec 阅读全文
posted @ 2013-08-13 18:14 狂师 阅读(788) 评论(0) 推荐(0)
摘要: 导读: 我们学习Java大概有3个方向,第一,桌面系统,包括C/S结构;第二,J2ME,面向无限领域,很有潜力的家伙,看看中国的手机用户就知道了。第三,面向企业应用、计算的平台,J2EE. 初次涉及Java领域,感觉到Java入门是好像没有C,C++入门快,工具也没有什么Turbo C,Visual C++好用(自己的破机器实在陪不起JBuilder,贪婪的家伙,以后一定要收拾她)。什么JAVA_HOME,CLASSPATH,虚拟机等概念都是初次基础,旁边的人都很少用Java的。感觉Java就是做Applet的。慢慢的知道了http://java.sun.com ,开始知道Java博大精深.. 阅读全文
posted @ 2013-08-09 23:53 狂师 阅读(329) 评论(0) 推荐(0)
摘要: 这个要看码流设置到多大 一眼都是2M左右 也就是2048 的码流 算法就是 码流2048 X 一小时3600秒 =7372800 个字节 除以8(一KB等于8个字节) 等于921600KB 转换成M 就是除以1024 等于 900M 压缩和传输途中有一些损失是在所难免 所以一小时也就800多M130W的分辨率理论上应该是1280X960,但是市场上很多厂家把720P说成是130W的,其实只有1280X720。130W的在码流2M的情况下,每路每小时大概在1G左右。模拟摄像机的话,如果是CIF(352×288)格式的话,建议用码流512K... 阅读全文
posted @ 2013-08-08 15:48 狂师 阅读(730) 评论(0) 推荐(0)
摘要: 修改桌面的快捷键为选中就行了:Flags: checkablealone;在[Tasks]下面修改代码如下:Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealone;我的就是后面多了一个:WindowS版本的字段:OnlyBelowVersion: 0,6.1删除后就可以了,eg :[Tasks];Name: "desktopicon&q 阅读全文
posted @ 2013-08-08 14:09 狂师 阅读(1182) 评论(0) 推荐(0)
摘要: SetWindowPos(NULL,0,0,200,300,SWP_NOMOVE); 表示不考虑(0,0),仅仅将大小改为200x300,位置不变 SetWindowPos(NULL,0,0,200,300,SWP_NOMOVE); 表示不考虑200X300,只是把位置挪到(0,0).大小不变 如果想同时改变,最后可用SWP_NOZORDER等 参数中还有SWP_SHOWWINDOW 显示窗口 对应的SWP_HIDEWINDOW 阅读全文
posted @ 2013-08-08 11:53 狂师 阅读(1149) 评论(0) 推荐(0)