- 博客(31)
- 资源 (4)
- 收藏
- 关注
原创 InvalidateRect
//画线CPen penBlack;penBlack.CreatePen(PS_SOLID, 10, RGB(255, 0, 0));CPen* pOldPen = pDC->SelectObject(&penBlack);static int a, b;srand((unsigned)time(NULL));a = rand() % 200;b = rand() % 200;
2015-01-29 13:05:28 2799
原创 MFC函数之BitBlt
// Cgame123View 绘制void Cgame123View::OnDraw(CDC* pDC){ Cgame123Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 在此处为本机数据添加绘制代码 CRect Rect; GetClientRect(&Rect);
2015-01-24 17:00:17 18849 1
原创 自定义异常
//throw yichang();//此时必须得加上括号//作用:(均在catch{}里体现) // 1.报告错误 // 2.修正错误#include #include using namespace std;class yichang { string s;public: yichang(string str="自定义异常\n"):s(str){} void wha
2015-01-23 20:34:10 788
转载 20HOOK钩子和ADO
转自 http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html第20课 钩子与数据库编程1.Hook简介:作用是拦截某些消息,关键函数是SetWindowsHookEX()2.示例程序: 1.新建一基于对话框工程,InnerHook,此过程的钩子是只拦截本进程的。 2.在OnInitDialog()中添加代码: g_
2015-01-21 12:15:35 768
转载 19动态链接库
转自 http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html第19课 DLL编程1.DLL简介,动态库,静态库。动态库节约磁盘空间,静态库体积大。可以用多种语言编写DLL文件。动态库有两种加载方式:隐式调用和动态加裁!2. 新建一个DLL1的dll工程,加入一源文件名为dll1.cpp,加入add和subtract两个函数,注意
2015-01-21 11:35:21 611
转载 18ActiveX控件
转自 http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html第18课 ActiveX编程(下面X均为ActiveX简称)1.在VB中调用X控件,添加方法 project->Add components。另外可以用Object Browser来查看控件2.在VC中创建X控件 1.新建一个X工程名为Clock
2015-01-20 18:17:27 567
转载 17进程间的通信
转自 http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html第17课 进程间通信有四种方法1.剪贴板 a.创建个ClipBoard的对话框应用程序,加两EditBox和两个Button发送接收。 b.具体代码: 发送端代码:if(OpenClipboard()){ CString s
2015-01-18 20:30:56 572
转载 16线程同步和异步套接字
http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html第16课1.事件对象:来实现线程的同步。与互斥对象一样均属于内核对象。 当人工重置有信号时,所有线程均得到信号,所以不能设为人工重置。代码就不贴了。 通过创建匿名的事件对象,也可以让一个程序只能运行一个实例。 2.关键代码段实现线
2015-01-16 19:06:44 936
转载 15多线程编程
转自 http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html程序、进城和线程——程序和进程程序是计算机指令的集合,它以文件的形式存储在磁盘上。进程:通常被定义为一个正在运行的程序的实例,是一个程序在其自身的地址空间中的一次执行活动。进程是资源申请、调度和独立运行的单位,因此,它使用系统中的运行资源;而程序不能申请系统资源,不能被系
2015-01-15 20:10:06 531
转载 14网络编程
转自 http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html第14课 网络编程1.TCP流式套接字的编程步骤在使用之前须链接库函数:工程->设置->Link->输入ws2_32.lib,OK!服务器端程序:1、加载套接字库2、创建套接字(socket)。3、将套接字绑定到一个本地地址和端口上(bind)。4、将套接字设为监听
2015-01-15 14:34:20 632
转载 13串行化
第13课 文档与串行化1.CArchive在菜单打开保存时的代码CFile file("1.txt",CFile::modeCreate | CFile::modeWrite);CArchive ar(&file,CArchive::store);int i=4;char ch='a';float f=1.3f;CString str("http://www.sunxi
2015-01-14 14:12:46 610
转载 12文件读写
转自http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html1.常量指针与指针常量的区分 char ch[5]="lisi"; const char *pStr=ch;//const在*之前,表明指针指向的内容为常量,即为常量指针 char * const pStr=ch;//const在*之后,表明指针的地址不能改变
2015-01-13 19:46:21 469
转载 11集合类CPtrArray和DC
转自 http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html1.创建4个菜单,为其添加消息响应,用成员变量保存绘画类型。添加LButtonDown和Up消息。2.当窗口重绘时,如果想再显示原先画的数据,则需要保存数据。为此创建一个新类来记录绘画类型和两个点。class CGraph {public:CPoint m
2015-01-13 12:20:22 2335
转载 10图形的绘制和常用对话框操作
转自 http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html1.画图: a.创建四个菜单,为其添加消息响应; b.在View中添加m_DrawType,保存绘画类型; c.增加成员变量,m_PtOrigin,当按下鼠标左键时,保存此点; d.在OnLButtonUp中画点,线,矩形,椭圆,别忘记设置成
2015-01-12 17:12:35 723
转载 9修改框架外观工具栏状态栏
转自 http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html1.修改外观和图标可以在MainFrm中进行,而修改背景和光标只能在View中进行。为什么?因为view的显示挡在了MainFrame的前面。 a.在MainFrame中 PreCreateWindow()中,在窗口创建之前,用重新注册
2015-01-12 10:54:30 1340
转载 8属性表对话框
转自 http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html1.如何改变按纽的字体?在对话框的属性中改变字体的属性即可2.逃跑按纽的实现 1.从CButton派生一个类,CWeixinBtn 2.将IDC_EDIT1关联成员变量m_btn1,类型为CWeixinBtn,注意要包含头文件。 3.在CWeixinBt
2015-01-11 21:19:48 594
转载 7对话框及其控件操作
转自 http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html1.如果在SDI中要调用对话框 a.先插入一个对话框资源; b.然后在ClassWizards中为其创建一个类。其目的是比较方便为添加按纽和消息响应函数。 c.然后实例化它。在实例化时,必须将其头文件包含进去。2.创建非模态对话框,注意它不能是局部变量。
2015-01-11 19:14:47 774
转载 6菜单
http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html1.当对某菜单添加消息响应函数时,4个类的消息响应优先次序分别是:1.View;2.CDOC;3.CMainFrame.4.CWinAPP.为什么?请参阅《深入浅出》2.消息分类:a;标准消息(以WM_开头的消息,但不包括ON_COMMAND);b;命令消息 ON_COMMAN
2015-01-10 18:25:28 799
转载 5CDC的文字处理
http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html1.CWnd::CreateSolidCaret创建插入符,ShowCaret()显示插入符。GetTextMetrics(),获得当前字体的一些信息。CWnd::CreateCaret()创建图象插入符bitmap.LoadBitmap(IDB_BITMAP1);
2015-01-10 18:24:53 1191
转载 4MFC消息映射机制和CDC
http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html1.在单文档中view挡在MainFrame的前面。此时如果编写针对MainFrame的mouseClick事件,将不会有反应。2.消息响应会在3处修改代码,1处是在头文件中,//{{AFX_MSG(CDrawView)afx_msg void OnLButto
2015-01-10 18:24:41 684
转载 3MFC程序框架的剖析
http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html1.在main或WinMain之前,全局变量已经被分配内存并初始化了。2.在MFC中在WinMain之前 有个theApp全局变量先被构造并被初始化,而由于子类构造函数执行前,其父类的构造函数先被执行,所以CTestApp的父类CWinAPP的构造函 数先执行。产生了t
2015-01-10 18:23:46 601
转载 2C++经典语法
http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html1.定义结构体和类时别忘记在最后加入";"号!例如Class Point{int x;int y;};3.类的定义中,如果未指明成员类型,则缺省为private.而结构体中则缺省为public.4.引用:引用经常用在函数的传参上。另外数值交换函数也经常用引用。例
2015-01-10 18:23:31 674
转载 1Windows程序运行原理及程序编写流程
http://blog.sina.com.cn/s/articlelist_1815328704_0_1.html第一课11.MFC生成的C++源文件中都有StdAfx.h,此文件包含了常用的AFX函数的声明,其中有afxwin.h,此文件包含了CRECT,CPoint,CWnd等许多类及其方法的声明。2.Project->Setting->Debug可以加入命令行参数。3
2015-01-10 18:22:56 656
原创 vc++绘图函数
windows的绘图工具:画笔CPen 画刷CBrush 调色板CPalette画笔通常具有宽度 样式和颜色3中属性构造函数1.CPen( );2.CPen( int nPenStyle, int nWidth, COLORREF crColor );3.CPen( int nPenStyle, int nWidth, const LOGBRUSH* pLogBrush, int nS
2015-01-10 18:20:29 15181
原创 mfc属性页
属性页MSDN中的例子:属性页是放入属性表中的。(都是对话框类)CPropertySheet dlg;//一般是继承CPropertySheet属性表CPropertyPage page1, page2;//一般是继承 CPropertyPage属性页dlg.AddPage(&page1);//转送的地址dlg.AddPage(&page2);dlg.SetWizardMode(
2015-01-09 13:46:29 694
原创 常用对话框
添加对话框对消息WM_CTLCOLOR的处理函数,来改变对话框的颜色。HBRUSH dia1::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何特性 if (nCtlColor
2015-01-09 12:16:54 796 1
转载 DDX and DDV
void mydia::DoDataExchange(CDataExchange* pDX){ CDialogEx::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, value); DDV_MinMaxInt(pDX, value, 0, 100);}DDX:Dialog Data Exchange
2015-01-08 19:09:09 644
转载 MFC模态对话框和非模态对话框
转自http://blog.csdn.net/candyliuxj/article/details/6736032 MFC中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box)。 一、模态对话框(model dialog box) 在程序运行的过程中,若出现了模态对话框,那么主窗口将无法发送消
2015-01-08 18:45:01 662
原创 MFC快捷键
我们在MFC中使用菜单时,都想使菜单项有快捷键,比如Ctrl+B等,在VC++2008或者VC++2010上面,我们会在子菜单项的Caption里输入菜单名以及额外输入(&I)\tCtrl+I,就能够显示如 发送(I) Ctrl+I 这样子菜单项(只是用于显示)然后在Accelerator里面绑定一下快捷键及菜单ID就可以了。(这里才是真正work的) 但是vs2013上面没有
2015-01-08 18:26:01 1027
原创 常用的windows句柄数据类型
Windows常用的句柄类型 句柄类型 说明 HBITMP:标示位图句柄 HBRUSH:标示画刷句柄 HCOURSOR:标示鼠标光标句柄 HDC:标示设备环境句柄 HFONT:标示字体句柄 HICON:标示图标句柄 HINSTANCE:标示当前实例句柄
2015-01-08 16:51:54 4495
转载 MFC中用CArchive类写入和读取文件
转自:http://blog.csdn.net/chaoyuan899/article/details/8780525MFC中用Archive类写入和读取文件:写入数据://注:Graphic是工程的名字void CGraphicView::OnFileWrite() {// TODO: Add your comman
2015-01-07 20:36:16 10713 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人