MFC
豆不女
这个作者很懒,什么都没留下…
展开
-
VC6.0连接MySQL(C API)
第一步:安装MySQL数据库时选择完全安装,只有完全安装时,MySQL才会将开发所使用的头文件和库文件安装。第二步:引用头文件:路径:D:\MySQL\MySQL Server 6.0\include引用库文件:路径:D:\MySQL\MySQL Server 6.0\lib\debug (建议使用这个文件夹下的)引用DLL文件:将libmysql.dll文件放转载 2013-08-06 16:02:09 · 551 阅读 · 0 评论 -
MFC实现对话框的伸缩功能
1、分割线,是一个图片控件控件。2、分别保存 伸缩前和后 的图片坐标。3、通过获取按钮文本判断是输出伸缩前或后的矩形区域。4、创建按钮的消息响应命令函数OnFlex2()。void CMy1Dlg::OnFlex2() { // TODO: Add your control notification handler code here CString str; if (G原创 2013-08-09 13:22:56 · 1526 阅读 · 0 评论 -
MFC实现弹出式快捷菜单/右键菜单
方法1:void CMyView::OnRButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CMenu menu; //定义一个菜单对象 menu.LoadMenu(IDR_MENU1); //加载一个菜单项,IDR_MEN原创 2013-08-08 20:51:49 · 1478 阅读 · 0 评论 -
MFC创建模态对话框
1、模态对话框是指,当其显示时,程序会暂停执行,直到关闭这个模态对话框后,才能继续执行程序中的其他任务。方法: a、利用ClassWizard创建一个对话框资源IDM_DIALOG。b、为IDM_DIALOG对话框创建一个新类 MyDialog。c、添加一个菜单响应函数。int ret;MyDialog dlg;void CMyView::OnOpen()原创 2013-08-09 08:46:04 · 639 阅读 · 0 评论 -
MFC创建属性表单
1、插入3个属性页对话框资源。2、分别给3个属性页创建一个新类。3、创建一个属性表单类。4、分别定义3个属性表单对象,把对象添加到属性表单中。5、设置属性表单的 样式,并启用OnSetActive()虚函数 设置属性表单向导6、创建一个按钮命令响应函数,显示属性表单。//////////////////////////////////////////////////原创 2013-08-09 17:49:15 · 1076 阅读 · 0 评论 -
MFC创建自定义工具栏
1、插入一个工具栏资源。2、创建一个工具栏窗口。3、把插入的工具栏资源与创建的工具栏窗口绑定在一起。4、设置工具栏可以停靠的位置。5、设置父窗口可以被工具栏停靠。CToolBar newToolBar;int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){ if (CFrameWnd::OnCreate(原创 2013-08-09 20:31:52 · 3144 阅读 · 0 评论 -
MFC修改窗口的光标、图标和背景
1、修改应用程序窗口的图标,应在框架类中就行,只有框架类才有标题栏。在窗口创建响应函数OnCreat函数中。2、修改程序的 背景 和 光标,应该在视类中。在窗口创建响应函数OnCreat函数中。int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){ if (CFrameWnd::OnCreate(lpCrea原创 2013-08-09 19:41:08 · 1009 阅读 · 0 评论 -
MFC 状态栏添加新窗口
1、在资源列表的 String Table 中插入两个字符串资源。2、在static UINT indicators[] 数组中添加对应的字符串资源ID项。static UINT indicators[] ={ ID_SEPARATOR, // status line indicator IDC_TIMER, //时钟栏 IDC_PROGRESS, //进原创 2013-08-10 08:19:55 · 575 阅读 · 0 评论 -
MFC 创建字体对话框
1、插入VC++自带的字体控件。2、创建一耳光字体控件对象。3、打开字体控件。并获取所选择的字体样式。CFont font; //存储选择获取的字体样式CString strFontName=" "; //存储选择字体的名字void CProgressView::OnFont() { // TODO: Add your command handler code here原创 2013-08-12 09:34:25 · 703 阅读 · 0 评论 -
MFC 调用颜色选择对话框
1、插入VC++自带的颜色对话框控件。2、构造构造一个颜色对话框控件对象。3、显示颜色对话框,并保存选择的颜色色素。COLORREF m_clr; //用于保存所选择的颜色void CProgressView::OnColor() { // TODO: Add your command handler code here CColo原创 2013-08-12 09:34:57 · 1453 阅读 · 0 评论 -
MFC 设置启动画面
原创 2013-08-12 09:35:10 · 525 阅读 · 0 评论 -
MFC 在状态栏显示当前鼠标坐标
1、在视图类,定义一个鼠标移动消息响应函数。2、状态栏属于框架类,通过获取框架类的指针。调用SetMessageText()直接在状态栏上最左边的那个最长的窗格上现实文本。#include "MainFrm.h"void CProgressView::OnMouseMove(UINT nFlags, CPoint point) { // TODO: Add your me原创 2013-08-12 09:35:21 · 3419 阅读 · 2 评论 -
MFC 实现 状态栏动态显示系统时间
1、在资源列表的 String Table 中插入IDC_TIMER字符串资源。2、在static UINT indicators[] 数组中添加IDC_TIMER字符串资源ID项。3、在框架窗口创建完成的OnCreat函数中实现显示。4、调用ON_TIMER消息命令函数,实现动态显示当前时间。int CMainFrame::OnCreate(LPCREATESTRUCT原创 2013-08-12 09:35:58 · 2526 阅读 · 0 评论 -
MFC设置对话框、静态文本框、编辑框的背景及文本
1、对对话框来说,它上面的每一个控件在绘制时都要向它发送WM_CTLCOLOR消息。会为每一个控件准备一个DC,该DC将通过pDC参数传递给OnCtlColor函数。该函数将被多次调用。2、在构造函数中创建一个画刷。3、在OnCtlColor函数通过ID判断是哪一个控件发送WM_CTLCOLOR消息。////在当前函数创建画刷,总是出问题CBrush brush;CFont fo原创 2013-08-12 09:34:12 · 2243 阅读 · 0 评论 -
MFC在状态栏的窗格上显示进度栏
1、进度栏对象: CProgressCtrl 。继承于CWnd窗口类,所以它也是一个窗口。2、在窗口进行重绘的时候,通过每次获取状态栏被停放区域的地址,创建进度条。3、获得在状态栏上显示的区域。4、因窗口的重绘移动进度条。5、设置进度条的步长以及递增。CProgressCtrl progress;void CMainFrame::OnPaint() { CPai原创 2013-08-12 09:35:39 · 848 阅读 · 0 评论 -
MFC实现数据库的基本操作
CDaoDatabase db; //数据库CDaoRecordset Dbset(&db);//记录集,有了它才能进行读写以及删除read(){ CString Filepath = "Data.md"; CFileFind Ffind; BOOL flag = Ffind.FindFile(Filepath); Ffind.Close(); if (!fl原创 2013-08-15 23:39:01 · 1786 阅读 · 0 评论 -
VC++ 实现停靠面板
停靠面板是停靠应用程序的主要构成部件。 它们呈现了可以放置可视化控件的可停靠窗口。 面板可以被停靠到其他面板中,或者浮动。 允许最终用户拖动面板标题,来把某个面板放置到新位置上,这样就执行了停靠操作。 http://www.dxper.net/documents/html/CustomDocument1263.htm转载 2013-09-09 10:24:19 · 845 阅读 · 0 评论 -
MFC菜单命令更新机制
1、MFC当要显示菜单时,操作系统会发出WM_INITMENUPOPUP消息,然后由程序窗口的基类接管。此时会创建一个CCmdUI对象,并与程序的第一个菜单相互关联,调用该对象的一个成员函数DoUpdate().这个函数发出ON_UPDATE_COMMAND_UI消息。这条消息带有一个指向CCmdUI对象的指针。2、这时,系统会判断是否存在一个ON_UPDATE_COMMAND原创 2013-08-08 20:22:49 · 788 阅读 · 0 评论 -
MFC通过获取菜单句柄,实现菜单的基本操作
1、程序的主菜单属于框架类窗口,所以应该在框架类窗口创建完成之后再去访问菜单。2、框架类窗口创建完成的WM_CREAT消息函数OnCreat函数中对菜单进行操作。int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){ if (CFrameWnd::OnCreate(lpCreateStruct) == -1) ret原创 2013-08-08 19:56:24 · 6890 阅读 · 1 评论 -
MFC访问 静态/动态 文本框
1、在对话框资源上 创建一个静态文本控件。2、修改 静态文本框的 ID 为IDC_NUMBER1。3、在Styles选项页,选中Notify选项。确保静态文本控件能够向其父窗口发送Notify消息。3、启用ClassWizard添加 BN_CLICKED消息命令响应函数。方法: 静态文本控件也是窗口,所以第一步必须获得控件对象,再获取控件上的文本内容原创 2013-08-09 09:50:30 · 1149 阅读 · 0 评论 -
VC++ MCI多媒体播放原理
使用MCI播放音频文件,MCI为程序员提供了两种方式访问MCI设备或文件:一种是基于消息的命令接口函数;另一种是使用字符串接口函数。两者的区别在于基本命令结构和发送信息到设备的原理。 ◆、基于消息的MCI 消息命令控制接口使用消息控制MCI设备,将消息和控制信息以数据结构的形式作为函数参数发送,并接收返回的数据,MCI直接把设备消息和控制消息发送到设备。一条基于MCI的命令包含以下转载 2013-08-06 16:22:21 · 1222 阅读 · 0 评论 -
在MFC单文档模式下实现播放MP3音乐文件—源代码
//文件包括以下两个头文件: #include #include void CMP3View::OnRun() { // TODO: Add your command handler code here char buf[128]; MCI_OPEN_PARMS mciOpen; MCIERROR mciError; mciOpen.lpstrDeviceType =原创 2013-08-06 19:47:06 · 1358 阅读 · 0 评论 -
VC++ 单文档模式启用CHtmlView类实现网页浏览
一、创建一个单文档工程1、工程名字为MyWeb,单文档类型2、一次点击NEXT。在第四步选择Internet Explorer ReBars工具栏风格3、第六步选择 CHtmIView 作为视图的基类。到此点击完成,工程创建好。 二、找到void CMyWebView::OnInitialUpdate() 函数,如下图修改最后一行。重写Navigate2函数,当产生对话框的翻译 2013-08-01 17:13:34 · 779 阅读 · 0 评论 -
MFC 消息大全
hwnd:32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。message:用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。wParam:通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。lParam:通常是一个指向内存中数据的指针。由于WPa翻译 2013-08-06 15:59:33 · 561 阅读 · 0 评论 -
MFC 创建一个按钮
//启用CButton类创建并显示一个按钮 static CButton btn; btn.Create("测试按钮", WS_CHILD|BS_AUTO3STATE, CRect(20,20,200,200), this, 1); btn.ShowWindow(SW_SHOW);原创 2013-08-07 20:30:57 · 1533 阅读 · 0 评论 -
MFC构建一个(位图)画刷
CPoint ptOrigin; //定义一个点,用于存储画线的起点void CMapBigView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default ptOrigin = point; //保存 CView::OnLB原创 2013-08-07 21:26:20 · 774 阅读 · 0 评论 -
MFC实现透明画刷
CPoint ptOrigin; //定义一个点,用于存储画线的起点void CMapBigView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default ptOrigin = point; //保存 CView::OnLB原创 2013-08-07 21:45:49 · 2500 阅读 · 0 评论 -
MFC 实现连续画出线
CPoint ptOrigin; //定义一个点,用于存储画线的起点BOOL bDraw = FALSE; //定义鼠标的当前状态void CMapBigView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default ptOr原创 2013-08-07 22:03:28 · 762 阅读 · 0 评论 -
MFC启用WM_PAINT消息实现避免文本信息因窗口重绘而消失
1、MFC在窗口大小发生变化,窗口会发生重绘,此时窗口中的文本信息就会被擦除而消失。2、MFC提供了一个WM_PAINT消息,当窗口发生重绘时,应用程序框架同时会调用此消息的响应函数。3、所以只要我们在这个OnPaint()消息响应函数中就行文本输入,就可以避免这个现象。void CMapBigView::OnPaint() { CPaintDC dc(this); //原创 2013-08-08 08:33:42 · 1545 阅读 · 2 评论 -
MFC设备描述表中路径层原理
1、路径层的创建是通过启用CDC类提供的BeginPath和EndPath这两个函数实现的。2、路径层一般都是配合裁剪区域一起使用的,针对当前裁剪区域就行某种形式的保护。void CMapBigView::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: Add your mess原创 2013-08-08 09:14:23 · 1068 阅读 · 0 评论 -
启用MFC的CClientDC类实现画线功能
//鼠标按下消息响应函数CPoint ptOrigin; //定义一个点,用于存储画线的起点void CMapBigView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default ptOrigin = point; //保存原创 2013-08-07 20:53:50 · 808 阅读 · 0 评论 -
MFC实现文本插入描述符
1、文本插入符的创建应该是窗口创建之后,也就是要在窗口创建完成消息WM_CREAT响应函数OnCreat中窗口创建完成后实现。2、文本插入符是依附于视图类的,所以我们应该在视图类的OnCreat函数中完成。int CMapBigView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreate原创 2013-08-08 08:24:21 · 722 阅读 · 0 评论 -
MFC动态创建按钮及添加消息响应
动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。一、创建动态控件:为了对照,我们先来看一下静态控件的创建。放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示。静态控件不需要调用Cre转载 2013-08-20 21:32:35 · 601 阅读 · 0 评论 -
MFC 多线程及线程同步
http://www.cnblogs.com/zqrferrari/archive/2010/07/07/1773113.html转载 2013-08-19 20:46:50 · 834 阅读 · 0 评论 -
MFC实现文本的基本操作
1、在消息WM_CREAT响应函数OnCreat中窗口创建文本插入符。int CMyView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; CClientDC dc(this); TEXTMETRIC tm; //定义一个文本信息原创 2013-08-08 15:59:01 · 748 阅读 · 0 评论 -
MFC创建一个非模态对话框
1、当非模态对话框显示时,允许转而执行程序中的其他任务,而不用关心这个对话框。方法: a、利用ClassWizard创建一个对话框资源IDM_DIALOG1。b、为IDM_DIALOG1对话框创建一个新类 MyDialog。c、添加一个菜单响应函数。MyDialog dlg;void CMyView::OnClose() //关闭一个模态对话框{原创 2013-08-09 09:05:42 · 607 阅读 · 0 评论 -
VC++6开发Windows服务程序
下面介绍使用VC++开发Windows服务程序。 首先运行VC++6,选择新建工程,在出现的下面窗口中选择”ATL COM AppWizard“,并选择工程放置位置和相应的工程名,然后选择确定按钮。 此时出现如下图窗口界面,在此界面中选择”服务(EXE)“,然后选择完成按钮。 程序的进入点是全局函数_tWinMain, 仔细看一下这个函转载 2014-02-17 14:10:31 · 606 阅读 · 0 评论