MFC& 界面
文章平均质量分 91
五香花生米
这个作者很懒,什么都没留下…
展开
-
异步串口模式发送和接收数据
下面是异步串口模式下接收线程,和发送数据时的示例接收线程://////////////////////////////////////////////////////////////////////CCESeries *ceSeries = (CCESeries*)lparam;DWORD evtMask;BYTE readBuf[1600];//原创 2013-04-26 16:17:32 · 1777 阅读 · 0 评论 -
MFC改变鼠标指针
MFC改变鼠标指针 Windows程序和Doc程序很大的不同 , 就在于Windows有一个亮丽的图形界面和简捷的操作方式 , 而鼠标就是Windows程序中最重要的一个操作手段 . 有朋友向我咨询如何修改鼠标形状 , 这本来是一个简单的问题 ,但是当朋友向我询问进一步的,更加深入的操作机制时 ,我才发现里面隐藏着更多的问题 , 回到家里研究了一下 ,得到一些结论 。 这里就转载 2011-06-01 11:30:00 · 847 阅读 · 0 评论 -
单文档分割窗口的FormView的切换
单文档分割窗口的FormView的切换 2009-11-07 17:07m_wndSplitter.SetActivePane(0,0); CView* pOldActiveView=GetActiveView(); CCreateContext context; context.m_pCurrentDoc = pOldActiveView->GetDocument();转载 2011-06-08 11:21:00 · 1086 阅读 · 0 评论 -
VC获取系统时间、程序运行时间
VC获取系统时间、程序运行时间 1.使用CTime类CString str;//获取系统时间CTime tm;tm=CTime::GetCurrentTime();str=tm.Format("现在时间是%Y年%m月%d日 %X");MessageBox(str,NULL,MB_OK);2.得到系统时间日期(使用GetLocalTime)SYSTEMTIME转载 2011-06-20 09:23:00 · 746 阅读 · 0 评论 -
VC自动打开Word文档并打印
VC自动打开Word文档并打印2011-02-11 09:31:39| 分类:VC++ 阅读273 评论0 字号:大中小 订阅只需要一行代码也可以解决#include void main(){ ShellExecute(GetDesktopWindow(), "print", "E://MyPrint//MyDiary.d转载 2011-06-20 11:27:00 · 3039 阅读 · 0 评论 -
VC技巧:在程序的状态栏中实现进度条
VC技巧:在程序的状态栏中实现进度条 读者朋友们可能天天使用Visual C++这个强大的工具来开发应用程序,不知道注意到没有,Visual C++每次装载一个项目的时候,为了使项目加载过程不至于太单调,会在状态栏的左半部分会出现一个装载进度条,用来即时显示Visual C++装载项目的进度,当项目装载完毕后,进度条隐藏。那么这个功能是如何实现的呢?为了说明该功能的实现原理,本例提转载 2011-06-21 11:12:00 · 901 阅读 · 0 评论 -
组合框控件
组合框控件(combobox)组合框把一个编辑框和一个单选择列表框结合在了一起.用户既可以在编辑框中输入,也可以从列表框中选择一个列表项来完成输入。组合框分为简易式(Simple combo box)、下拉式(Drop-down combo box)和下拉列表式(Drop-down list box)三种.简易式组合框包含一个编辑框和一个总是显示的列表框。下拉式组合框同简易式组合框类似转载 2011-06-24 09:24:00 · 1340 阅读 · 0 评论 -
如何实现文本框只能输入浮点数
如何实现文本框只能输入浮点数重载PreTranslateMessageBOOL CXX::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class //设置编辑框可输入字符范围 //只允许输入'-'转载 2011-07-12 16:48:56 · 1131 阅读 · 0 评论 -
如何建立非模态对话框
如何建立非模态对话框1、重写对话框的构造函数,使对话框跟某个视图相关联。如:CXXDlg(CView *pView);2、在对话框类中增加Create()函数用于创建对话框,作用相当于模态对话框的DoModal();BOOL CXXDlg::Create(){ returnCDialog::Create(CXXDlg::IDD);}3、在视图类的头文件原创 2011-07-18 08:37:30 · 1524 阅读 · 0 评论 -
使用VC6.0实现窗口的任意分割
使用VC6.0实现窗口的任意分割一、关于CSplitterWnd类我们在使用CuteFtp或者NetAnt等工具的时候,一般都会被其复杂的界面所吸引,在这些界面中窗口被分割为若干的区域,真正做到了窗口的任意分割。 那么我们自己如何创建类似的界面,也实现窗口的任意的分割呢 ?在VC6.0中这就需要使用到CSplitterWnd类。CSplitterWnd看上去像是转载 2011-05-27 08:45:00 · 394 阅读 · 0 评论 -
用skinmagic给VC6开发的软件换肤
开发工具:skinmagic2.21和VC6使用方法:1、直接将skinmagic.lib,skinmagic.dll,skinmagic.h以及皮肤文件拷贝到工程目录下。2、在stdafx.h中加入头文件和库的引用,如下: #include "SkinMagicLib.h"#pragma comment(lib, "SkinMagic.lib"原创 2010-03-16 10:30:00 · 847 阅读 · 0 评论 -
VC获取从文件路径中返回文件名和扩展名两个参数
VC获取从文件路径中返回文件名和扩展名两个参数CString CPrintImage::GetFileTitleFromFileName(CString FileName,CString& ExtendName) //获取文件名和扩展名{ int Where; Where=FileName.ReverseFind('\\'); if(Where转载 2012-06-25 17:22:20 · 1464 阅读 · 0 评论 -
[转]WinXP与WinCE串口的运行机制之比较
//========================================================================//TITLE:// WinXP与WinCE串口的运行机制之比较//AUTHOR:// norains//DATE:// Saturday 11-November-2006//Passed Environment:// PC:转载 2013-04-26 16:16:08 · 629 阅读 · 0 评论 -
C++使用VS2010导出Excel的方法及步骤
C++使用VS2010导出/导入Excel的方法及步骤 最近工作需要将listctrl中的数据导出到Excel中。网上找了很多,但多数是VC6.0的。结合VC6.0导出的方法,自己琢磨了不少时间,终于将问题解决了。轻松之余,将过程分享出来,希望对需要的人有所帮助。 VC6.0的请看这里:http://topic.csdn.net/t/20050718/15/4转载 2012-06-25 15:19:12 · 22554 阅读 · 3 评论 -
大数据量绘图,怎么提高速度
大数据量绘图,怎么提高速度!数组中有几百万个点, 连成曲线绘图,要放大、缩放,如何能提高绘图速度?????,对于常规分辨率下的曲线显示,当点数远远超过分辨率像素时,有很多曲线点是完全无法表达出来的。如果全都绘制出来会很慢,能不能取大量数据点中的特征点绘制,原则是尽量不影响曲线的大致形状。怎么实现啊?前提是还不能影响我的放大、缩小曲线功能!!!!!!!!!!!!!!!转载 2013-03-11 15:15:48 · 7456 阅读 · 3 评论 -
VC多文档下修改菜单项
VC多文档下修改菜单项我们做的一个项目里面要实现软件的多语言功能,用户在点击菜单上的一种语言项时界面上所有的,相关字符串都切换成该语言。后来发现在多文档视图下,初始化子框架菜单内容时失败。代码如下:CMenu* pMenu = GetMenu();。。。修改菜单操作。后来找到了解决方法 就是在子框架的OnCreate函数中,CMenu* pMenu转载 2012-06-25 17:15:01 · 1847 阅读 · 1 评论 -
MFC TabCtrl控件的使用
MFC TabCtrl控件的使用2010-06-17 11:56MFC TabCtrl控件的使用方法及思路1、建立基于Dialog的应用程序2、添加TabCtrl控件,并关联变量3、建立TabCtrl中存放的Dialog子对话框若干,并关联类4、在Tabctrl类所在的OnInitDialog中利用CTabCtrl::InsertItem()添加若干转载 2012-04-24 17:33:42 · 7633 阅读 · 1 评论 -
VC操作注册表函数
VC操作注册表函数 最近在做一个项目的时候使用到一些操作注册表的函数,现将这些函数记录以下,以方便以后使用 1. 打开注册表键 LONG RegOpenKeyEx( HKEY hKey, // handle to open key主键 LPCTSTR lpSubKey, // subkey name子键 DWORD ulOptions, // rese转载 2012-06-25 17:38:04 · 825 阅读 · 0 评论 -
C语言中time_t数据类型详细介绍
C语言中time_t数据类型详细介绍 新浪微博 搜狐博客 百度收藏 谷歌收藏 qq书签 豆瓣 淘江湖 Facebook Twitter Digg Yahoo!Bookma包含文件:#ifndef __TIME_T#define __TIME_T /* 避免重复定义 t转载 2012-06-25 17:36:24 · 1537 阅读 · 0 评论 -
把日期时间 和相对秒数的转换
把日期时间 和相对秒数的转换一、日期时间转为相对的秒数struct tm; memset(&tm, 0, sizeof(tm)); tm.tm_year = iYear-1900; //相对于1900年的秒数tm.tm_mon = iMonth-1; //月份是0~11tm.tm_mday = iDay; tm.tm_原创 2012-06-25 17:34:40 · 3129 阅读 · 0 评论 -
状态栏中实现进度条
一、MainFrame中的OnPaint()函数中void CMainFrame::OnPaint() {CPaintDC dc(this);CRect rect;m_wndStatusBar.GetItemRect(Index,&rect); //Index为要放置进度条的状态栏子项目的索引if(!m_ProgressCtrl.m_hWnd)m_Progres原创 2011-07-20 10:39:15 · 600 阅读 · 0 评论 -
用VC制作支持多种语言的界面
用VC制作支持多种语言的界面有以下几种方法。一种是静态地添加资源,具体做法是:把rc文件中从begin menu开始到end menu结束的部分复制一份粘贴在rc文件中,再把相应的菜单项改成其他语言,从而生成一个新的菜单资源。在程序中使用LoadMenu,就可以实现动态的多语言菜单。这种做法的好处是,程序运行时可以自由地在两种语言之间任意切换,坏处是只能在事先制成的菜单之间切换。第二种方法是将转载 2011-09-07 08:28:17 · 1130 阅读 · 0 评论 -
VC动态创建控件
VC动态创建控件2010-12-15 11:09动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。 一、创建动态控件: 为了对照,我们先来看一下静态控件的创建。 放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID转载 2011-12-15 11:02:27 · 7957 阅读 · 2 评论 -
VC 编写 stdcall 方式的DLL
VC 编写 stdcall 方式的DLLVC工具:VS2005DELPHI 工具: DELPHI 7 VS2005 新建DLL新建-项目 保存时选择 DLL代码 // testdll.cpp : 定义 DLL 应用程序的入口点。//#include "stdafx.h" #ifdef _MAN转载 2011-12-27 09:33:34 · 904 阅读 · 0 评论 -
双缓冲绘图
//使用双缓冲技术画图CRect ClientRect;GetClientRect(&ClientRect);CRect InvalidRect;dc.GetClipBox(&InvalidRect); //得到一个能够完整包含当前可见区域的矩形CDC MemDC;CBitmap MemBitMap;CBitmap *pOldBitMap;//创建一个与原创 2012-02-06 10:39:46 · 832 阅读 · 0 评论 -
DrawText显示多行文本并能控制行距
void CVFLDlg::DrawMultLineText(CDC *pDC, CRect rect, int nRowDis, UINT nFromat, CString strText){if( strText.GetLength() return;WCHAR* pText = strText.GetBuffer(strText.GetLength());int转载 2012-02-10 14:39:54 · 7964 阅读 · 2 评论 -
修改窗口类的类名
修改窗口类的类名相信很多人在VC下开发程序的时候大多都会采用基于对话框的开发吧,我也不例外,大多数的小型测试程序没有必要开发基于文档/视图的结构来测试,只要使用一些基本的对话框程序就可以达到这个目的 。 但是在开发基于对话框的程序时,要使用到一些 Spy++ 的功能检测的时候,就会出现一些问题。什么问题呢?当我使用 Spy++ 去检测一个对话框的窗口类 时,并想得到一个转载 2012-03-19 21:32:09 · 4709 阅读 · 0 评论 -
用自定义消息在线程间通信(VC)
在多线程的程序中,有时需要在子线程中使用UpdateData()函数对主窗口进行更新,但是在子线程里调用UpdateData()函数是行不通的,这就需要使用自定义消息来进行线程间的通信,在此记录怎么使用自定义消息。在Visual C++中提供了WM_USER,比它大的整数可以由用户使用,比它小的整数由系统保留。 自定义消息处理的过程如下: 1、声明一个全局的常量,代码如下:转载 2012-03-19 21:36:02 · 962 阅读 · 0 评论 -
Wince GDI资源泄露可能原因
Wince GDI资源泄露可能原因在网上找了很多人的博客来看,在各种论坛里面看高手的回复,把Wince GDI资源泄露的可能原因总结了一下(1)不要用CDC做直接用HDC(2)OnEraseBkgnd擦除背景函数没用,只有一句return true;,所以把Invalidate();改成Invalidate(0);(3) BUG: Memory lea原创 2012-03-31 16:39:03 · 2540 阅读 · 1 评论 -
API 绘图
HWND hwnd=this->m_hWnd;m_hDC = ::GetDC(hwnd);m_hMemDC=CreateCompatibleDC(m_hDC);//创建兼容的内存设备描述表 HBITMAP hbitmap=LoadBitmap(AfxGetApp()->m_hInstance,MAKETRESOURCE(IDB_BITMAP1);CRect re原创 2012-04-06 21:51:46 · 937 阅读 · 0 评论 -
VC++动态链接库(DLL)编程深入浅出(zz)
VC++动态链接库(DLL)编程深入浅出(zz)1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,li转载 2011-12-14 11:41:25 · 1021 阅读 · 0 评论 -
利用VC调用动态链接库中的函数
利用VC调用动态链接库中的函数2006-10-29 08:00作者:刘涛出处:天极开发责任编辑:方舟 自从微软推出16位的Windows操作系统起,此后每种版本的Windows操作系统都非常依赖于动态链接库(DLL)中的函数和数据,实际上Windows操作系统中几乎所有的内容都由DLL以一种或另外一种形式代表着,例如显示的字体和图标存储在GDI D转载 2011-12-14 11:21:04 · 657 阅读 · 0 评论 -
一步一步教你用VC纯资源dll解决国际化问题
一步一步教你用VC纯资源dll解决国际化问题作者:江上飞鸟 一步一步教你用VC纯资源dll解决国际化问题这的确是个老话重谈了,因为这里面确实也没有什么可以称的上技术含量的,只是实现起来有点烦琐,不过我还是要写出来,希望刚接触这方面的同行们不至于走太多的弯路。 由于MFC应用程序也有自己的资源文件,当你调用MFC函数比如 CString::LoadString转载 2011-12-13 11:29:49 · 925 阅读 · 1 评论 -
VC MFC滑块(CSliderCtrl)控件
VC MFC滑块(CSliderCtrl)控件2011-06-19 22:21CSliderCtrl类里相关函数解释void CSliderCtrl::SetRange( int nMin, int nMax, BOOL bRedraw = FALSE );//设置滑块范围,nMin最小值,nMax最大值int CSliderCtrl::GetPos( ) const;//转载 2011-09-27 10:58:07 · 13014 阅读 · 0 评论 -
VC中加载图片的几中方法
VC中加载图片的几中方法 2010-02-09 09:04:27| 分类:默认分类| 标签:|字号大中小 订阅 我用的最多,感觉也是最简单的一种就是以前我在我的空间介绍过的那种,现在都在这里统一说一下,以便大家有一个选择, 第一种:在你建立的MFC工程的.***app的文件的初始化函数里加上对于环境变量的初始化,以及图片的加载转载 2011-10-09 10:33:36 · 2148 阅读 · 0 评论 -
VC载入位图方法
VC载入位图方法 CDC memDC ;memDC.CreateCompatibleDC ( &(*dc) ) ;CBitmap* pBitmap ;//load all bitmapCBitmap* pOldBitmap ;//save old bitmap tempBITMAP bm;pBitmap = new CBitmap ;原创 2011-10-09 10:47:05 · 1262 阅读 · 0 评论 -
GDI内存泄露解析
GDI内存泄露解析 (2007-03-30 17:13:03)转载 分类: C/VC感受了这段时间的内存泄露,终于了解了GUI的内存泄露方法。总结一下首先贴一段正确的代码 ::SetClassLong(GetSafeHwnd(),GCL_STYLE,::GetClassLong(m_hWnd,GCL_STYLE) |转载 2011-10-30 17:39:54 · 2767 阅读 · 0 评论 -
CBitmapButton 使用方法
CBitmapButton 使用方法利用CBitmapButton类实现位图按钮的两种方法:方法一:1、在资源编辑的时候选中按钮的 Owner draw 属性,不需要选择 Bitmap 属性. 按钮右键-->Styles-->Owner draw2、在程序中定义一个CBitmapButton成员变量。 注意:不能使用ClassWi转载 2011-10-30 17:55:16 · 2844 阅读 · 0 评论 -
Spin控件使用总结
Spin控件使用总结 不知道为什么每个控件都会为难我很久,然后再突然给我提示使我顿悟,唉,可能真的是VC在考验我这个懒人吧,呵呵,我虽然比较懒可是有时候还真的很叫真儿的.这不,一个小小的spin控件和我打了一天的太极,终于今天早晨被我降服了,哈哈…. 扭扭屁股,庆祝一下…… 其实spin控件与其它的控件相比,还是比较简单的,这里我提供一种学习这个控件的捷径.转载 2011-11-10 17:54:21 · 1034 阅读 · 0 评论 -
(转)RichEdit 的用法
(转)RichEdit 的用法 2010-08-30 19:37:27| 分类:默认分类| 标签:richedit rtf bool dll 设置 |字号大中小 订阅(转)RichEdit 的用法2008-05-25 10:47很不错的源代码http://www.pudn.com/search_db.asp?keyword=MyRic转载 2011-11-22 16:41:54 · 656 阅读 · 0 评论