摘要: MFC的socket类,部分封装了这些以WSA开头的socket函数,使用更加简单方便,只适合小型的网络通信编程的开发 1.CAsyncSocket类 -部分封装了WSA开头的socket函数,提供了socket通信更加简单的操作,是一个异步socket类 2.CSocket类 -继承自CAsync 阅读全文
posted @ 2017-05-29 23:13 Autumn_n 阅读(631) 评论(0) 推荐(0)
摘要: Windows Sockets为了支持Windows消息驱动机制,使应用程序开发者能够方便地处理网络通信,对网络事件采用了基于消息的异步存取策略; 1、WSAAsyncSelect 该函数为指定的套接字(socket)请求基于Windows消息的网络事件通知,并自动将该套接字设置为非阻塞模式; in 阅读全文
posted @ 2017-05-29 23:12 Autumn_n 阅读(576) 评论(0) 推荐(0)
摘要: 1.socket库的2.2版本的文件: dll文件:ws2_32.dll lib文件:ws2_32.lib 头文件:<WINSOCK2.H> 2.socket库的初始化和卸载 2.1-初始化socket库 int WSAStartup ( WORD wVersionRequested, //请求使用 阅读全文
posted @ 2017-05-29 23:04 Autumn_n 阅读(336) 评论(0) 推荐(1)
摘要: 一、VC访问数据库的技术 1、ODBC --Open Database Connectivity微软开放式数据互联,一组用于访问和操作数据库的API,可以访问不同的数据库产品,但只能访问关系型数据库。MFC将这组API函数封装成ODBC类,使用前需要将不同的数据库设置为ODBC数据源。 2、DAO 阅读全文
posted @ 2017-05-29 22:48 Autumn_n 阅读(340) 评论(0) 推荐(0)
摘要: 一、ActiveX控件(COM组件的应用) 1、什么是Active控件? 基于COM组件技术的,使用与一般控件一样方便。与一般控件的区别:它可以被任何支持COM标准的计算机程序使用 2、什么是COM组件? 组件实现了某种功能的一些小的二进制文件,通过接口对外提供服务。 一个项目有一个或多个exe文件 阅读全文
posted @ 2017-05-29 22:35 Autumn_n 阅读(466) 评论(0) 推荐(0)
摘要: 1、分类 工作者线程 -主要用于后台的耗时的操作,通常没有用户界面 用户界面线程 -拥有独立的用户界面 2、使用 2.1工作者线程的使用 1--首先实现线程的回调函数,函数原型:UINT MyControlingFunction(LPVOID pParam); 2--创建和启动工作者线程 AfxBe 阅读全文
posted @ 2017-05-29 22:20 Autumn_n 阅读(172) 评论(0) 推荐(0)
摘要: 1、线程的创建 须包含头文件:#include <windows.h> HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAd 阅读全文
posted @ 2017-05-29 22:19 Autumn_n 阅读(512) 评论(0) 推荐(0)
摘要: 1、对应的MFC类为:CIPAddressCtrl 2、该类有一个成员函数GetAddress,可获得IP地址控件中的非空白字段数值; int GetAddress( DWORD& dwAddress ); dwAddress:一个DWORD引用类型的参数 例: DWORD dwIP; ((CIPA 阅读全文
posted @ 2017-05-29 22:01 Autumn_n 阅读(184) 评论(0) 推荐(0)
摘要: 1、在对话框的资源视图中插入加速键资源,将要实现的对应功能的控件ID和相关加速键绑定 2、在类视图的对话框类中添加加速键的句柄 HACCEL m_hAccel; 3、在OnInitDialog()中加载加速键资源 m_hAccel=LoadAccelerators(AfxGetInstanceHan 阅读全文
posted @ 2017-05-29 22:00 Autumn_n 阅读(305) 评论(0) 推荐(0)
摘要: 1、分类 标签式和向导式 2、相关类 CPropertyPage -属性页,其实就是一个对话框页面,父类是CDialog类 CPropertySheet -属性表单,父类是CWnd类 一个完整的属性页对话框由一个属性表单+多个属性页组成 属性页资源与普通对话框资源的区别: 属性页: 对话框: 3、标 阅读全文
posted @ 2017-05-29 21:59 Autumn_n 阅读(2720) 评论(1) 推荐(0)
摘要: 1、插入Tab控件的数据项标签 CTabCtrl::InsertItem 2、以Tab控件为父窗口创建对话框 3、调整对话框大小 4、在Tab控件的SELCHANGE消息处理函数中,根据当前选项的索引设置对话框的显示状态。 阅读全文
posted @ 2017-05-29 21:59 Autumn_n 阅读(128) 评论(0) 推荐(0)
摘要: 1、相关类 CTreeCtrl -树控件,父类是CWnd,是一个控件,通常在对话框中使用。 CTreeView -树视图,父类是CCtrlView,是一个视图,通常在文档视图应用程序中使用。 通过调用CTreeView::GetTreeCtrl,获取控件 2、CTreeCtrl的使用 2.1设置树控 阅读全文
posted @ 2017-05-29 20:18 Autumn_n 阅读(130) 评论(0) 推荐(0)
摘要: 1、相关类 CListCtrl类 -列表控件,父类是CWnd类,控件类,常用在对话框程序中 CListView类 -列表视图,父类是CCtrlView类,视图类,常用在文档视图应用中。 可以通过调用CListView::GetListCtrl()函数,返回相关的列表控件 2、CListCtrl类的使 阅读全文
posted @ 2017-05-29 20:16 Autumn_n 阅读(246) 评论(0) 推荐(0)
摘要: 1、旋转按钮 -对应控件类是CSpinButtonCtrl 2、进度条 -对应控件类是CProgressCtrl 3、滑块 -对应控件类是CSliderCtrl 控件的使用步骤: 1--设置控件表示的数值范围 SetRange/GetRange 2--设置控件的增量/步长 CSpinButtonCt 阅读全文
posted @ 2017-05-29 20:13 Autumn_n 阅读(629) 评论(0) 推荐(0)
摘要: 对应的控件类CAnimateCtrl,播放简单的帧动画。 1--打开指定的文件 CAnimateCtrl::Open 2--播放 CAnimateCtrl::Play 3--停止 CAnimateCtrl::Stop 注:只能播放后缀为.avi的部分文件 播放简单动画的例子: 1、CFileDial 阅读全文
posted @ 2017-05-29 20:11 Autumn_n 阅读(180) 评论(0) 推荐(0)
摘要: 对应的控件类是CComboBox,可以接收用户的输入,可以在多个选项中选择一项,可以通过属性页的方式添加控件的数据项。 CComboBox类的常用函数: 1--获取数据项的数量 CComboBox::GetCount 2--获取/设置当前选项的索引 CComboBox::GetCurSel CCom 阅读全文
posted @ 2017-05-29 20:07 Autumn_n 阅读(345) 评论(0) 推荐(0)
摘要: 1、相关类:CFileDialog类 CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_O 阅读全文
posted @ 2017-05-29 19:50 Autumn_n 阅读(287) 评论(0) 推荐(0)
摘要: WM_CTLCOLOR,响应函数:CWnd::OnCtlColor afx_msg HBRUSH OnCtlColor( CDC* pDC, //当前要绘制的控件的设备上下文的指针 CWnd* pWnd, //当前要绘制的控件的指针 UINT nCtlColor //要绘制的控件的类型 ); 1、改 阅读全文
posted @ 2017-05-29 19:47 Autumn_n 阅读(629) 评论(0) 推荐(0)
摘要: 在对话框程序中,我们经常利用对话框上的子控件进行命令响应来处理一些事件,如果我们想要让对话框类本身(子控件的父窗口)来响应我们的按键消息,须利用ProcessMessageFilter虚函数来捕获对话框的WM_KEYDOWN消息; virtual BOOL ProcessMessageFilter( 阅读全文
posted @ 2017-05-29 19:36 Autumn_n 阅读(664) 评论(0) 推荐(0)
摘要: 在弹出的对话框上显示逃跑按钮,当鼠标移动到该按钮上时,该按钮隐藏,而在别的位置上显示一个一模一样的按钮,鼠标再次置于新按钮上时,该按钮再次隐藏而在另一位置显示,用户感觉按钮好像在自动逃跑移动; 1、新建一个基于对话框的MFC工程,将其资源窗口的对话框中的自带控件删除,在不同位置添加两个一模一样的按钮 阅读全文
posted @ 2017-05-29 19:31 Autumn_n 阅读(1279) 评论(0) 推荐(0)
摘要: 注意: 当一个对话框中没有按钮控件(也就没有缺省按钮)时,在对话框弹出后首次按下回车键即默认执行“OnOK”,会使对话框默认关闭,这时需要先注释掉调用基类的OnOK函数的响应执行,再利用GetNextDlgTabItem函数将回车后的焦点传递到当前对话框中的别的控件上,使对话框不被关闭! 当对话框弹 阅读全文
posted @ 2017-05-29 19:25 Autumn_n 阅读(788) 评论(0) 推荐(0)
摘要: 当用户单击“收缩<<”按钮后,将对话框的下半部分切除,并将按钮的文本改为“扩展>>”;当用户再次单击该“扩展>>”按钮后,还原为完整的对话框; 1、先给这个按钮添加命令响应函数,首先实现单击按钮后按钮文本改变的功能 2、在资源窗口中利用图像控件为对话框添加一条分割线,将其ID改为IDC_SEPARA 阅读全文
posted @ 2017-05-29 19:21 Autumn_n 阅读(271) 评论(0) 推荐(0)
摘要: 一、对话框资源 1、相关类 CDialog类 -父类是CWnd,本质上也是一个窗口。是对话框类的顶层父类。 CCommonDialog类 -父类是CDialog类。称为通用对话框。MFC提供了6个通用对话框,都是CCommonDialog类的子类,包括:文件对话框、颜色对话框、字体对话框、查找替换对 阅读全文
posted @ 2017-05-29 19:17 Autumn_n 阅读(513) 评论(0) 推荐(0)
摘要: 1、概念 序列化对象 -将对象的类的信息以及对象的成员变量以二进制流的方式依次写入到文件的过程。 反序列化对象 -从文件中读取类的信息创建对象,然后读取成员变量赋值给新建的对象的过程。 2、定义支持序列化的类 2.1派生自CObject类 2.2在类内添加序列化的声明宏 DECLARE_SERIAL 阅读全文
posted @ 2017-05-29 19:01 Autumn_n 阅读(124) 评论(0) 推荐(0)
摘要: 1、概念-将数据以二进制流的方式依次写入到文件或者从文件中读取的过程 2、相关类 CArchive类 -完成具体的数据读写(可代替CFile类的Read/Write函数) CArchive( CFile* pFile, UINT nMode, int nBufSize = 4096, void* l 阅读全文
posted @ 2017-05-29 18:58 Autumn_n 阅读(322) 评论(0) 推荐(0)
摘要: 1、相关类 CFile类 -封装了文件句柄以及操作文件的API函数 CFileFind类 -封装了文件搜索功能 2、CFile类的使用 2.1文件读写 1)创建或者打开文件 CFile::Open virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpen 阅读全文
posted @ 2017-05-29 18:51 Autumn_n 阅读(7372) 评论(0) 推荐(0)
摘要: 1、文件的创建和打开 HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreati 阅读全文
posted @ 2017-05-29 18:44 Autumn_n 阅读(3331) 评论(0) 推荐(0)
摘要: 1、文件写入 ofstream类: ofstream( const char* szName, int nMode = ios::out, int nProt = filebuf::openprot ); szName:指定将要打开的文件名; nMode:指定文件打开的模式,包括: ios::app 阅读全文
posted @ 2017-05-29 18:38 Autumn_n 阅读(495) 评论(0) 推荐(0)
摘要: 1、相关问题 可以同时管理多个文档(可以同时有多个文档类对象) 2、相关类 CWinApp / CMDIFrameWnd / CMDIChildWnd / CView / CDocument CDocManager CMultiDocTemplate -多文档模版类 3、关系图 theApp | > 阅读全文
posted @ 2017-05-29 18:30 Autumn_n 阅读(255) 评论(0) 推荐(0)
摘要: 1、相关问题 只能管理文档(只能有一个文档对象) 2、相关类 CDocument / CView / CFrameWnd / CWinApp CDocManager -文档管理类 CSingleDocTemplate -单文档模版类 3、关系图 theApp | >m_pDocManager //文 阅读全文
posted @ 2017-05-29 18:28 Autumn_n 阅读(207) 评论(0) 推荐(0)
摘要: 相关类: CSplitterWnd -父类CFrameWnd 1、窗口切分的分类 动态切分 -在程序运行过程中根据用户的需要实时完成切分,最多切出2*2个视图窗口,每个视图窗口显示内容相同 静态切分 -在窗口创建时就已经完成切分,每个切分出的视图窗口可显示不同内容。 2、静态切分 2.1定义CSpl 阅读全文
posted @ 2017-05-29 18:24 Autumn_n 阅读(178) 评论(0) 推荐(0)
摘要: 1、动态创建机制的作用 在不知道类名的情况下,将类的对象创建出来。 2、动态创建机制的使用 2.1类必须从CObject派生 2.2类内必须添加声明宏 DECLARE_DYNCREATE 2.3类外必须添加实现宏 IMPLEMENT_DYNCREATE CRuntimeClass::CreateOb 阅读全文
posted @ 2017-05-29 18:21 Autumn_n 阅读(398) 评论(0) 推荐(0)
摘要: 1、运行时类信息机制的作用 程序运行过程中,可以获知对象的相关类的信息 2、运行时类信息机制的使用 2.1类必须派生自CObject类 2.2类内必须添加声明宏 DECLARE_DYNAMIC 2.3类外必须添加实现宏 IMPLEMENT_DYNAMIC CObject::IsKindOf(...) 阅读全文
posted @ 2017-05-29 18:20 Autumn_n 阅读(288) 评论(0) 推荐(0)
摘要: 1、相关类 CStatusBar -父类CControlBar,封装了关于状态栏的操作,也包括状态栏的创建 2、状态栏的使用 2.1创建状态栏 CStatusBar::CreateEx / CStatusBar::Create BOOL CreateEx( CWnd* pParentWnd, //指 阅读全文
posted @ 2017-05-29 18:16 Autumn_n 阅读(1751) 评论(0) 推荐(0)
摘要: 1、相关类 CToolBarCtrl - 父类CWnd,封装了关于工具栏控件的操作。 CToolBar - 父类CControlBar,封装了关于工具栏和框架窗口之间的关系,也包括工具栏的创建 2、工具栏的使用 2.1添加工具栏资源 在程序的资源视图中的Toolbar下的IDR_MAINFRAME中 阅读全文
posted @ 2017-05-29 17:37 Autumn_n 阅读(716) 评论(0) 推荐(0)
摘要: 1、菜单相关问题 Win32--HMENU MFC--CMenu类对象 2、相关类 CMenu - 封装了关于菜单的各种操作,还封装了一个非常重要的成员 m_hMenu(菜单句柄) 3、菜单项被点击的处理 WM_COMMAND 消息 ON_COMMAND 4、程序的类对菜单命令的响应顺序 顺序依次是 阅读全文
posted @ 2017-05-29 17:19 Autumn_n 阅读(640) 评论(0) 推荐(0)
摘要: VC菜单栏的【工程】->增加到工程->Components and controls... 单击“Insert”后会显示确认对话框,点击“确认”后,会显示插入信息: Class Name:插入的启动画面窗口类的名称 Bitmap resource ID:使用的位图资源ID 单击【OK】按钮后返回Co 阅读全文
posted @ 2017-05-29 16:53 Autumn_n 阅读(231) 评论(0) 推荐(0)
摘要: 一、在字符串中取字符 CString str="12 34 56 78"; str.Left(1); //"1" str.Left(2); //"12" str.Right(1); //"8" str.Righr(3); //" 78" str.Mid(4,2); //"4 " 二、在字符串中查找、 阅读全文
posted @ 2017-05-29 16:44 Autumn_n 阅读(393) 评论(0) 推荐(0)
摘要: CString类 成员函数: Find:在字符串中查找一个字符或字符串,返回第一次匹配结果在该字符串中的位置索引(索引从0开始) Left:指定只显示原字符串中从左向右的字符个数 GetLength:获得指定字符串中的字符个数 CStringArray集合类 功能类似于数组,可以方便地动态增加和删除 阅读全文
posted @ 2017-05-29 16:36 Autumn_n 阅读(128) 评论(0) 推荐(0)
TOP