MFC
水桶前辈
爱旅行爱生活喜欢西藏的蓝天白云
展开
-
STL(Standard Template Library)简介
STL就是所谓的标准模板库.它主要提供了六大组件.1.容器(container) 2.算法(algorithm) 3.迭代器(iterator)4.仿函数(functor) 5.适配器(adapter) 6.配置器(allocator) 我们知道信息社会里最重要的东东就是信息,而信息在计算机中就是以数据的形式表示.对用户来说很重要的数据一般放数据库里去保存和处理.那我们写代码中用...原创 2014-06-25 13:41:57 · 597 阅读 · 0 评论 -
[原创]MFC中的多线程处理问题总结
转自:http://www.cnblogs.com/absolute8511/archive/2008/11/19/1649615.htmlMFC的窗口并不支持多线程的控制,因此试图多线程访问同一个窗口或控件是不推荐的。1.我曾经试图在主线程创建一个对话框,然后启动另一个线程,在线程完成后关闭该对话框,结果在某些时候会出现奇怪的错误。因此,不要多个线程对同一个窗口操作。2. 不转载 2014-04-16 10:11:55 · 669 阅读 · 0 评论 -
VC++2005 MFC ListBox
转自:http://blog.csdn.net/flyfish1986/article/details/2997231VC++2005编程VC++2005 MFC ListBox(列表框)的使用作者:邵盛松 2008年9月29日星期一ListBox的操作比较简单1添加数据声明控件变量的类别为Control,变量类型为CListBox,变量名为m_ListBo转载 2014-03-07 14:08:04 · 1331 阅读 · 0 评论 -
vs2010 MFC 工程瘦身
vs2010 MFC 工程瘦身 解决方案详见:红色字体部分用应用程序向导生成框架程序后,我们可以在之前设置的Location下看到以解决方案名命名的文件夹,此文件夹中包含了几个文件和一个以工程名命名的子文件夹,这个子文件夹中又包含了若干个文件和一个res文件夹,创建工程时的选项不同,工程文件夹下的文件可能也会有所不同。 如果已经以Debug方式编译链接过程序,则会在解转载 2014-03-07 17:51:18 · 1261 阅读 · 0 评论 -
CListBox的AddString 排序问题
转载自:http://blog.csdn.net/yuxmdef1/article/details/6699936在用CListBox添加元素时发现显示的顺序与预期的不同原因:CListBox::AddString RemarksCall this member function to add a string to a list box. If the转载 2014-03-07 12:12:29 · 2473 阅读 · 0 评论 -
VC++2005 MFC EditControl
转自:http://blog.csdn.net/flyfish1986/article/details/2995085VC++2005编程VC++2005 MFC EditControl(编辑框)的使用作者:邵盛松 2008年9月29日星期一EditControl是在MFC对话框中最频繁的使用的控件之一VC++2005提供EditControl的属性和控件事转载 2014-03-07 14:12:28 · 586 阅读 · 0 评论 -
利用MFC 生成 CRC32 检验码
// CRC32Dlg.cpp : 实现文件//#include "stdafx.h"#include "CRC32.h"#include "CRC32Dlg.h"#include "afxdialogex.h"#ifdef _DEBUG#define new DEBUG_NEW#endifstatic unsigned short start_addr = 0x0080;原创 2014-03-07 13:20:34 · 4412 阅读 · 3 评论 -
VC6 MFC里怎么使用TTS朗读中文?
转自:http://bbs.csdn.net/topics/3301898901.下载Speech SDK开发包可以去微软的官方网站去下Speech SDK开发包,但该开发包很大,如果只是开发汉语语音合成程序,可以直接安装一个很小的文件,该文件在源程序工程目录下,文件名为“微软语音库文件.msi”。2.创建一个工程建立一个工程,Projects选项卡中选择MFC AppWi转载 2014-03-03 17:51:05 · 2306 阅读 · 0 评论 -
MFC socket 客户端与服务器 集合在一起
搞了2天,终于搞定了!效果图如下// ServerDlg.cpp : 实现文件//robinson_911 作品#include "stdafx.h"#include "Server.h"#include "ServerDlg.h"#include "afxdialogex.h"#include "ServerSocket.h"#ifdef _DEBUG#d原创 2014-03-02 16:53:41 · 3609 阅读 · 5 评论 -
MFC 下使用Listbox Control 的addstring 函数 乱码解决办法
在VS2010 下的工程,将整个工程的编码格式由UNICODE 改为 多字节字符集 就可以了!fuckvoid CServerDlg::ReceiveData(CSocket &socket){ CString str; TCHAR bufferdata[BUFFERSIZE]; int len = socket.Receive(bufferdata,BUFFERSIZE); i原创 2014-03-01 21:11:56 · 3786 阅读 · 0 评论 -
MFC 串口发送文件
//打开文件void CserialDlg::OnBnClickedButton6(){ // TODO: 在此添加控件通知处理程序代码 // TODO: Add your control notification handler code here LPCSTR lpszPath = "c:\\comdata"; SetCurrentDirectory( lpszPath ); s原创 2014-04-08 20:50:20 · 1803 阅读 · 0 评论 -
运用三种方法在MFC的编辑框中输出数据——不覆盖
/* CString file_length;file_length.Format("%d",fplength);::SetDlgItemText (m_hWnd,IDC_receive, "打开的文件大小为:"+ file_length + "个字节");*//* CString str,temp,context="打开的文件大小为:";str.Format("%d"原创 2014-04-10 20:11:46 · 6620 阅读 · 0 评论 -
CSerialPort的WriteToPort 连续发送的问题分析
http://blog.sina.com.cn/s/blog_6b94d56801012stv.htmlCSerialPort的WriteToPort 连续发送的问题分析Gilbert在串口通信中使用CSerialPort时,发现连续发送有问题,比如,连续发了三个数组:m_serial.WriteToPort(chSend1); m_serial.Wri转载 2014-04-10 22:58:38 · 994 阅读 · 0 评论 -
MFC容器类CArray,CList
我们知道有各种各样的数据结构,啥栈,队列,树之类的.不过其实这些用的都非常少,用的最多的是线性表.平常我们用的数组最是典型的线性表.我们可以像int [] arrp这样简单的定义一个数组.不过这是固定大小的.不够灵活.所以出现了所谓的动态数组.STL中的动态数组叫vector,MFC中类似的动态数组是CArray.它跟vector一样也是一个模板类.由于数组嘛插入数据时效率较低,所以又有链表.ST...原创 2014-06-25 13:55:10 · 1373 阅读 · 0 评论 -
利用MFC的ADO连接mysql数据库成功
昨天连接了SQL2000,刚刚连接上了mysql,高兴啊,回顾下mysql连接数据库的步奏: 在这之前安装mysql一直不成功,然后会出现error 0 错误,于是删除和卸载了mysql,同时在注册表(在开始运行中输入rigister,即可以打开注册表)中删除了mysql的所有注册,同时按F3查找mysql,找到后删除就可以了!这里参考了:http://blog.csdn.net/J...原创 2013-10-05 12:23:46 · 2240 阅读 · 0 评论 -
SQL2000个人版成功连接ADO MFC
本来是用mysql的,无奈,搞不定,现在只好换成sql2000了,还好连接都成功了!昨天还把win7系统给换成XP了,否则貌似sql2000安装不好,会出各种问题,也懒的去找win7下的SQl2000的解决方案了。还是XP的各种软件兼容性好啊,做开发还得用XP啊,下次装个双系统的了。 大概的理下思路,以备日后查看。大概参照了这个 http://blog.csdn.net/zyq5945/a...原创 2013-10-05 10:58:50 · 1095 阅读 · 0 评论 -
MFC学习笔记
1.DoDataExchange函数其实是一项数据动态绑定技术,在此处我们定义了 CStaticm_Static,m_Static1; 分别来绑定IDC_STATIC1和IDC_STATIC2,然后来传递参数void CLesson22Dlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);DDX_Control(...原创 2013-09-15 12:28:59 · 688 阅读 · 0 评论 -
MFC 连接mysql 利用ado2 测试通过
一。通过ADO连接MySql数据库,首先得安装MyODBC服务器程序。参考:http://developer.51cto.com/art/201104/257338.htmmysql 配置参考http://www.cnblogs.com/lawdong/archive/2010/07/23/2357906.html不管用哪种方法,首先需要安装Mysql数据库,安装方法请看“mysql安装及一些注意...原创 2013-09-13 13:39:51 · 968 阅读 · 0 评论 -
win7下 使用MFC 连接mysql 引用ado2 的解决方案
win7下 使用MFC 连接mysql 引用ado2 的解决方案把xp系统下的msado15.dll、msjro.dll文件复制到win7下,放到一个文件夹下,如下:D:\Test。然后修改代码中import的引用路径。这样就可以编辑了。#import "D:\Test\msado15.dll" rename("EOF", "EndOfFile")#import "D:\Test\msjro...转载 2013-09-13 12:06:32 · 1184 阅读 · 0 评论 -
CSocket 和CAsyncSocket类介绍
微软的MFC把复杂的WinSock API函数封装到类里,这使得编写网络应用程序更容易。CAsyncSocket类逐个封装了WinSock API,为高级网络程序员提供了更加有力而灵活的方法。这个类基于程序员了解网络通讯的假设,目的是为了在MFC中使用WinSock,程序员有责任处理诸如阻塞、字节顺序和在Unicode与MBCS 间转换字符的任务。为了给程序员提供更方便的接口以自动处理这些原创 2014-07-03 20:43:31 · 1954 阅读 · 0 评论 -
同步与异步Socket
MFC对SOCKET编程的支持其实是很充分的,然而其文档是语焉不详的。以至于大多数用VC编写的功能稍复杂的网络程序,还是使用API的。故CAsyncSocket及CSocket事实上成为疑难,群众多敬而远之。余好事者也,不忍资源浪费,特为之注解。一、CAsyncSocket与CSocket的区别前者是异步通信,后者是同步通信;前者是非阻塞模式,后者是阻塞模式。另外,异步非阻转载 2014-06-30 19:53:00 · 637 阅读 · 0 评论 -
MFC CString 用法
读Visual C++ 开发经验技巧宝典第二章—-数据类型一 Cstring1. 初始化方法:(1) 直接复制,如Cstring=”mingrisoft”;(2) 通过构造函数初始化,如 CString str(‘ ’,100)//与分配100个字节,填充空格原创 2014-06-29 14:28:49 · 872 阅读 · 0 评论 -
MFC socket 学习笔记
套接字程序包含通信程序的两端。这两端可称为服务器端和客户机端,两端各建立一个套接字对象。面向连接的通信方法中,通信前:1.首先由服务器端套接字启动监听(listen)。2.然后由客户机端套接字发出连接请求(Connect)。3.服务器端触发Accept事件,接受连接请求。4.并在服务器端再建立一个客户端套接字对象,用于接受客户机端发送的数据。通过以上几步,两个实体间就可以通原创 2014-03-01 21:38:40 · 847 阅读 · 0 评论 -
Cstring转char、string、int等数据类型的方法
转自“http://blog.csdn.net/jax_lee/article/details/6764331CString 转char * CString cstr; char *p = (LPSTR)(LPCTSTR)cstr; string 转 CString CString.format(”%s”, string.c_str()); char 转 CString转载 2014-01-15 10:21:38 · 714 阅读 · 0 评论 -
MFC 线程学习笔记之定时器
1.首先建立一个vs2010 对话框程序2.然后在类的对话框下添加CTimeDlag 的WM_TIMER()方法,双击此方法,然后编辑响应函数,具体代码如下:void CTimeDlg::OnTimer(UINT_PTR nIDEvent){// TODO: 在此添加消息处理程序代码和/或调用默认值 //添加的响应time1 和 time2函数switc原创 2014-01-13 22:15:58 · 1575 阅读 · 0 评论 -
串口
// serialDlg.cpp : 实现文件//#include "stdafx.h"#include "serial.h"#include "serialDlg.h"#include "afxdialogex.h"#include "io.h"#include "windows.h"#ifdef _DEBUG#define new DEBUG原创 2014-01-08 17:19:02 · 679 阅读 · 0 评论 -
串口学习笔记源码 VS2010
http://wenku.baidu.com/view/b61aafc25fbfc77da269b1ff.html// serialDlg.cpp : 实现文件//#include "stdafx.h"#include "serial.h"#include "serialDlg.h"#include "afxdialogex.h"#include "io.h"#include原创 2014-01-08 14:46:32 · 1464 阅读 · 0 评论 -
分隔符代码修订
#include "stdafx.h"#include "stdio.h"#include "string.h"/*int main(void){ char str[] = "root:x::0:root:/root:/bin/bash:"; char *token; token = strtok(str, ":"); printf("%s\n", token); whil原创 2013-12-12 21:08:38 · 868 阅读 · 0 评论 -
分隔符函数 VS2010下调试通过
http://learn.akae.cn/media/ch25s01.html// strtok.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "stdio.h"#include "string.h"/*int main(void){ char str[] = "root:x::0:root:/roo原创 2013-12-11 14:11:16 · 695 阅读 · 0 评论 -
MFC消息映射详解(整理转载)
转自:http://blog.csdn.net/seawaywjd/article/details/7628675消息:主要指由用户操作而向应用程序发出的信息,也包括操作系统内部产生的消息。例如,单击鼠标左按钮,windows将产WM_LBUTTONDOW消息,而释放鼠标左按钮将产生WM_LBUTTONUP消息,按下键盘上的字母键,将产生WM_CHAR消息。消息处理:在MFC中,每转载 2013-11-27 09:47:51 · 1084 阅读 · 0 评论 -
利用MFC消息映射机制自定义消息
Windows系统中的程序大部分都是通过消息和事件驱动的。在windows下的应用程序主要工作是进行消息的循环处理,通过循环等待消息的到来和事件的发生,然后对不同的消息和事件运行相关的代码,完成相应的操作。Windows提供了大量的消息,主要包括3种类型:标准消息、通知消息和命令消息。当然也可以根据用户的需要自定义一些消息。这些消息在MFC中有统一的处理框架,即消息映射机制。消息映射机制将消息及其转载 2013-11-27 10:08:34 · 657 阅读 · 0 评论 -
VS2010 hello world !
测试 sprintf()函数原型int sprintf( char *buffer, const char *format, [ argument] … );参数列表buffer:char型指针,指向将要写入的字符串的缓冲区。format:格式化字符串。[argument]...:可选参数,可以是任何类型的数据。返回值:字符串长度(st原创 2013-11-18 16:18:37 · 780 阅读 · 0 评论 -
MFC 在VC6.0 下类变空了 ————解决方案
MFC 在VC6.0 下类变空了 ————解决方案删掉工程下面的.clw文件,重新打开工程即可恢复。原创 2013-10-18 19:27:13 · 656 阅读 · 0 评论 -
MFC 文档视图学习笔记----list控件标题乱码解决办法
给类添加的系统函数:右键该类,然后可以看到 Add Virtual Function 或者Add windows message Handle。在这两个函数中添加所需要的MFC的系统类。即可以。1.VC6.0, 初始化后list列表控制字段名中文显示为乱码,英文正常, 哪出问题了, 其它控件中文显示正常, 电脑里其它程序再编译也正常解决方法:我在MFC对原创 2013-10-19 11:37:11 · 2047 阅读 · 0 评论 -
MFC中SendMessage的用法与相应函数的添加;
1. 先来个基本知识介绍SendMessage的基本结构如下:SendMessage( HWND hWnd, //消息传递的目标窗口或线程的句柄。 UINT Msg, //消息类别(这里可以是一些系统消息,也可以是自己定义,下文具体介绍,) WPARAM wParam, //参数1 (WPARAM 其实是与UINT是同种类型的,转载 2014-01-09 18:02:33 · 1165 阅读 · 1 评论 -
MFC WaitForMultipleObjects
WaitForMultipleObjects是Windows中的一个功能非常强大的函数,几乎可以等待Windows中的所有的内核对象(关于该函数的描述和例子见MSDN,)。但同时该函数在用法上却需要一定的技巧。 原型:DWORD WaitForMultipleObjects( DWORD nCount, const HANDLE* lpHandles,转载 2014-01-09 17:25:20 · 1279 阅读 · 0 评论 -
MFC 线程
转载自:http://www.vchome.net/tech/multithread/thread43.htm线程技术使不同的代码可以同时运行。当然,只有在多C P U的计算机上,多个线程才能够真正地同时运行。然而,由于操作系统把C P U的时间分成很短的片段分配给每个线程,这样给人的感觉好像是多个线程真的同时运行。 线程的概念与1 6位环境中的多任务有很大的不同。或许曾听人们转载 2014-01-09 16:15:11 · 706 阅读 · 0 评论 -
VS2010 下 MFC下拉列表框的用法
最近在写一个串口程序,需要将下拉列表框的数据全部显示,怎么设置都不对,最后终于找到了设置方法:二、如何控制Combo Box的下拉长度1,首先要知道两点:一、那就是在设计界面里,点击一下Combo Box的下拉箭头,此时出现的调整框就是Combo Box的下拉调整框。2,二、属性里有个 No integral height 钩选项,表示最大长度为设计长度,如果实际内容比设计长度多,原创 2014-01-21 16:51:26 · 14535 阅读 · 0 评论 -
MFC 线程学习笔记之临界区
//临界区int number=1;CRITICAL_SECTION Critical;//定义临界区句柄unsigned long _stdcall ThreadProc3(void* lpParameter){ long count;while(number<100){ EnterCriticalSection(&Critical); printf("线程3当前计数:%d\原创 2014-01-11 16:26:45 · 715 阅读 · 0 评论 -
MFC学习笔记 线程之信号量
int number=1;HANDLE hDemaphone;unsigned long _stdcall ThreadProc3(void* lpParameter){ long count;while(number<100){ WaitForSingleObject(hDemaphone,INFINITE); printf("线程3当前计数:%d\n",number); nu原创 2014-01-11 16:11:15 · 824 阅读 · 0 评论