摘要:MFC中有两种类型的对话框:模态对话框和非模态对话框。 模态对话框是指当其显示时,程序会暂停执行,直到关闭这个模态对话框后,才能继续执行程序中其他任务。非模态对话框是指当其显示时,允许转而执行程序中其他任务,而不用关闭这个对话框。 模态对话框的创建:创建模态对话框需要调用CDialog类的成员函数:DoModal,该函数的功能是创建并显示一个模态对话框,其返回值将作为CDialog类的...
阅读全文
摘要:主窗体 void CMoshiwindowDlg::OnButton1() { // TODO: Add your control notification handler code here CDialogproty dlg; dlg.DoModal(); m_text.SetWindowText(dlg.text); } 子窗体: 1.头文件声明变量 2....
阅读全文
摘要:简言之:AfxBeginThread是MFC的全局函数,是对CreateThread的封装。 CreateThread是Win32 API函数,前者最终要调到后者。具体说来,CreateThread这个 函数是windows提供给用户的 API函数,是SDK的标准形式,在使用的过程中要考虑到进程的同步与互斥的关系,进程间的同步互斥等一系列会导致操作系统死锁的因素,用起来比较繁琐一些,初学的人...
阅读全文
摘要:在send(),recv()过程中有时由于网络状况等原因,收发不能预期进行,而设置收发超时控制: 以下是来自于网上一篇文章中的摘录,它是这样写的: int nNetTimeout=1000;//1秒, //设置发送超时 setsockopt(socket,SOL_SOCKET,SO_SNDTIMEO,(char *)&nNetTimeout,sizeof(int)); //设置接收超时 setso...
阅读全文
摘要:步骤: 1, 在框架类CMainFrame头文件里,增加图像变量和工具条变量。 CMFCToolBarImages m_UserImages; CMFCToolBar m_wndToolBar; 2,在OnCreate函数里动态创建和加载工具条 // 创建工具条 if (!m_wndToolBar .CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISI...
阅读全文
摘要:本文将给大家介绍Visual Studio 2010中CMFCToolBar的用法,CMFCToolBar可以让用户自定义工具栏图标,使用静态成员函数SetUserImages()将一个CMFCToolBarImages对象设置进去,由所有CMFCToolBar对象共享。AD: 自从VS2008中增...
阅读全文
摘要:ON_COMMAND_RANGE(ID_SORTING_GROUPBYTYPE, ID_SORTING_SORTBYACCESS, OnSort) ON_UPDATE_COMMAND_UI_RANGE(ID_SORTING_GROUPBYTYPE, ID_SORTING_SORTBYACCESS, OnUpdateSort) 在上面的代码中,其中第一个 ON_COMMAND_RANGE 的作用,是...
阅读全文
摘要:很简单:在你的CAddDlg类的OnInitDialog函数中加上你上面的代码GetDlgItem(IDC_EDIT1)->SetFocus();最后记得return FALSE;其实,不知道返回FALSE是啥意思!查了说明:ReturnValue Specifieswhethertheapplic...
阅读全文
摘要:相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给...
阅读全文
摘要://-----------------------------------------------------------------------------------------------------------------------------------------------将 我的网...
阅读全文
摘要:最近做中国象棋,绘制界面时遇到些问题,绘图过程中屏幕闪烁,估计都会想到利用双缓冲来解决问题,但查了下网上双缓冲的资料,发现基本是MFC的,转化为VC++后,大概代码如下:void DrawBmp(HDC hDC, HBITMAP hBitmap){ HDC hdcMEM; //用于缓冲作图的...
阅读全文
摘要:几天前,我终于克服了C++窗体重绘时的闪烁问题,用到的技巧就是双缓冲。但是怎样保持住已经绘制的图形呢?也就是仿照Windows自带的画图程序一般,动态的做出一条直线。最容易想到的方法是在MouseMove过程中,不断擦除上次所画的线,然后再画出新的直线,只须增件变量保存开始的点和上次的点即可。这样做...
阅读全文
摘要:[转]VC++中操作XML(MFC、SDK) XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini。VC++里操作XML有两个库可以用:MSXML和XmlLite。MSXML又细分了两种接口:DOM和SAX2。XP没自带有XmlLite,只自带有2.x、3.x版的MSXML,不支持SAX2(需要MSXML ...
阅读全文
摘要:一、创建新工程 二、编辑菜单资源 1、添加菜单 按“Ctrl+R”,双击“Menu”图标 2、于菜单编辑器内编辑菜单 四、添加代码(红色部分) void CCMenuView::OnUpdateShow(CCmdUI* pCmdUI) { // TODO: Add your command update UI handler code here MessageBox(...
阅读全文
摘要:Button StylesBS_3STATE与复选框一样本样式按钮可被单击变暗。变暗状态通常用于指示本样式的按键正处于禁用状态。BS_AUTO3STATE 与三状态的复选框一样当用户选中它本按钮样式状态外观会改变。BS_AUTOCHECKBOX 与复选框一样,除了在用户点控件后会出现一个选中标志,当...
阅读全文
摘要:一、MFC允许对象在程序运行的整个过程中持久化的串行化机制(1)串行化是指向持久化存储媒介(如一个磁盘文件)读或写对象的过程。(2)串行化用于在程序运行过程时或之后修复结构化数据(如C++类或结构)的状态。(3)MFC支持CObject类中的串行化,所以,所有继承于CObject的类可以利用CObject的串行化协议。(4)串行化的基本思想: a、对象必须能将其当前状态写入到持久...
阅读全文
摘要:1.使用CTime类(获取系统当前时间,精确到秒) CString str; //获取系统时间 CTime tm; tm=CTime::GetCurrentTime();//获取系统日期 str=tm.Format("现在时间是%Y年%m月%d日 %X"); MessageBox(str,NULL,MB_OK);a,从CTimet中提取年月日时分秒 CTime t = CTime::GetCu...
阅读全文
摘要:启动线程: CWinThread* AfxBeginThread( 线程函数,this ); 线程的退出: 在刚刚使用的时候,退出线程的方法有问题,导致退出的时候异常。 下面说线程退出的方法: 1. 线程函数返回 线程都在死循环中,当满足一定条件时,return,也会将线程结束。 2. AfxEndThread 这个函数只能用在线程函数中,当满足一定条件是,调用。 举一个例子: 可以创建一个信号量...
阅读全文
摘要:hdc = GetDC (hwnd) ;GetDc函数:用于获得hWnd参数所指定窗口的客户区域的一个设备环境。 所获得的设备环境可以是通用、类或者私有类型,具体由指定窗口的类风格决定。对于通用设备环境,GetDc函数每次获取一个设备环境时都会用默认属性对它进行初始化。该函数获得的类和私有设备环境...
阅读全文
摘要:背景: 有两个图片,一个是目标背景图片, 一个是带有自身背景色彩的彩色图片 先将这彩色图片绘制到目标背景图片中, 这一步通过BITBLT就可实现。 但实现后的效果是: 目标图片上,绘制上去的彩色图片带有其本身的背景。 问题就来了, 我们想将彩色图片本身的背景去掉,应该如何解决?解决方法: 使用API...
阅读全文