- 博客(36)
- 资源 (15)
- 收藏
- 关注
转载 使用CRegKey类操作注册表,完成文件关联
在MFC中,有个叫做CRegKey的类,封装了对注册表的操作,下面对这个类简单介绍一下:1.简介CRegKey提供了对系统注册表的操作方法,通过CRegKey类,可以方便的打开注册表的某个分支或子键(CRegKey::Open),可以方便的修改一个键的键值(CRegKey::SetValue),也可以查询某个键的键值(CRegKey::QueryValue),操作完成之后,可以关闭
2011-11-30 13:59:50 979
转载 一个简单字体察看器的实现
通过本文,希望能学到一点有关windows各个组件的消息传递的知识。学习如何建立可用字体的列表,学会如何指定使用的字体,如何动态改变字体。用到的函数:EnumFontFamiliesEx。在MSDN中是这样写的:int EnumFontFamiliesEx( HDC hdc, // handle to DC LPLOGFONT
2011-11-30 08:49:14 616
原创 位图疑难解析
有次接到一个关于图形操作的任务,在概念上纠结了很久,幸而得到很多前辈的指定。整理如下:此处是原帖1:http://topic.csdn.net/u/20100809/23/651b2840-2643-49c3-a77d-8acb7f9758a7.html此处是原帖2:http://topic.csdn.net/u/20100820/15/ed5d9990-e44e-4f
2011-11-29 16:55:04 691
转载 MFC-文档标题、主窗口标题、子窗口标题的改变
文档标题在是由工程中相应的文档类所控制的,我们可做如下实验。运行上面AppWizard生成的程序SDITitle,一·对单文档接口(SDI)类型窗口标题的改变 1·文档标题的改变 选择选单中的“文件”“打开”选 项,打开“SDITitile.h”文件,则标题栏变成“SDITitle.h - SDITitle”。这一切动作都是MFC类自动进行的。了解这一点,我们可在相应的文
2011-11-29 16:47:23 2875
转载 添加winods临时字体的方法
1.使用 AddFontResource 把您的字体送入 Windows 字体列表。 例如:AddFontResource("c:\XX.ttf"); 这个函数在你的函数中只要调用一次就行了,这时系统的字体表中会增加该字体,注意这时加载的这个字体,在其他应用程序中也会看到, 所以记得要在退出程序调用 RemoveFontResource("c:\XX.
2011-11-28 14:01:58 2367
转载 文件夹的删除、重命名、移动、复制
说明:1.以下封装了4个函数_CopyFile,_DeleteFile,_MoveFile,_ReNameFile2.每个函数都先拷贝了原来的路径,保证了路径是以2个\0\0结尾。(如果不以2个\0\0结尾,往往会出错)3.对于文件或文件夹都适用/*能产生对话框的标志:FOF_SILENT //progress dialo
2011-11-28 13:45:22 740
原创 读写文本文件
CFile readFile, writeFile; //读取txt文件 if(readFile.Open(CBApp::getCurrModulePath()+_T("filename.txt"), CFile::modeRead)) { //ansi to unicode int iFileLenth = (int)readFile.G
2011-11-28 13:41:53 781 2
转载 CString与LPCWSTR的转化
问题起因: 在写WritePrivateProfileString写.ini配置文件时在msdn中看到,如果想要写得配置信息即时生效必须在之前使用WritePrivateProfileStringW来re-read一下目标.ini文件,其原文如下: // force the system to re-read the mapping into sha
2011-11-28 13:33:00 497
转载 位图操作集合
一、 显示位图在Visual C++6.0中,显示位图的方法及过程如下: 1. 显示程序资源中的位图(位图的所有数据均存在于可执行文件中) (1)从资源中装入位图 ● 定义位图对象数据成员CBitmap m_Bitmap; ● 调用CBitmap成员函数LoadBitmap(),如m_Bitmap.LoadBitmap(IDB_BITMAP1); ● 传入LoadBit
2011-11-26 09:28:49 774
转载 CListCtrl简介
以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标
2011-11-25 15:28:05 508
转载 关于图像基本常识
1. 位图图像 位图图像也叫作栅格图像,Photoshop 以及其他的绘图软件一般都使用位图图像。位图图像由像素组成,每个像素都被分配一个特定位置和颜色值。在处理位图图像时,您编辑的是像素而不是对象或形状,也就是说,编辑的是每一个点。 位图图像与分辨率有关,即在一定面积的图像上包含有固定数量的像素。因此,如果在屏幕上以较大的倍数放大显示图像,或以过低的分辨率打印,位图图像会出现
2011-11-25 15:22:41 886
转载 显示图形如何避免闪烁
显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。 MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。 我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈我的一些观点。 1、显示的图形为什么会闪烁?
2011-11-25 15:19:55 739 1
转载 CAD颜色索引表到RGB颜色的转换
原始数据来源于:1 255 0 02 255 255 03 0 255 04 0 255 2555 0 0 2556 255 0 2557 255 255 2558 128 128 1289 192 192 19210 255 0 011 255 127 12712 204 0 013 204 102 10214 153 0 015 153 76 7616 127
2011-11-25 15:16:14 10699 5
转载 MFC中设置对话框颜色、添加背景图片、添加音乐的方法
一、设置背景颜色的三种方法:1、我们知道程序在运行的时候会调用OnPain函数,那么我们可以在这里设置背景颜色。void CFlipCardsDlg::OnPaint() {if (IsIconic()) {//保持不变 } else { CRect rc; GetClientRect( &rc );// 获取客户区 CPaintDC dc(this);
2011-11-25 15:08:34 904
原创 char*和CString转换
CString 是一种很特殊的 C++ 对象,它里面包含了三个值:一个指向某个数据缓冲区的指针、一个是该缓冲中有效的字符记数(它是不可存取的,是位于 CString 地址之下的一个隐藏区域)以及一个缓冲区长度。 有效字符数的大小可以是从0到该缓冲最大长度值减1之间的任何数(因为字符串结尾有一个NULL字符)。字符记数和缓冲区长度被巧妙隐藏。(1) char*转换成CString 若将ch
2011-11-25 15:02:06 986
转载 目录选择对话框、文件打开或保存对话框、字体对话框和颜色对话框
1 选择目录对话框例子1CString GetPath(){ CString strPath = ""; BROWSEINFO bInfo; ZeroMemory(&bInfo, sizeof(bInfo)); bInfo.hwndOwner = m_hWnd; bInfo.lpszTitle = _T("请选择路径: "); bInfo.ulFlags = BIF_
2011-11-25 13:16:46 874
转载 API函数大全
API函数大全1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum
2011-11-25 11:04:58 425
原创 2010年,正式开始了IT菜鸟的生涯
经过09年数个月的锻炼,终于可以在MFC的门槛外打转了,似乎迈入了一个新的天地。任何事,都需要自己做一做才知道,不是那么难,任何路,只有自己走过,方知其中滋味。10年,对我而言是沉淀的一年。
2011-11-25 11:00:18 348
转载 对话框最大化时,控件也随比例最大化或者还原
1. 在oninitdlg中 计算出当前对话框的大小与最大化后大小,注意要用float值,不然误差很大.CRect rect; ::GetWindowRect(m_hWnd,rect); ScreenToClient(rect); m_nDlgWidth = rect.right - rect.left; m_nDlgHeight = rect.bottom - rect.top;/
2011-11-25 10:56:13 929
转载 仅通过崩溃地址找出源代码的出错行
作为程序员,我们平时最担心见到的事情是什么?是内存泄漏?是界面不好看?……错啦!我相信我的看法是不会有人反对的——那就是,程序发生了崩溃! “该程序执行了非法操作,即将关闭。请与你的软件供应商联系。”,呵呵,这句 M$ 的“名言”,恐怕就是程序员最担心见到的东西了。有的时候,自己的程序在自己的机器上运行得好好的,但是到了别人的机器上就崩溃了;有时自己在编写和测试的过程中就莫名其妙地遇到了非法操
2011-11-24 15:21:01 521
转载 VC6风格转XP风格界面的两种方法
方法1 无负担的manifest文件关于让自己的程序界面实现XP风格这个问题,在网上的讨论很多,大多数的作法都是写一个.manifest文件,然后将文件名改一下,比如.exe文件为test.exe,就将这个.manifest文件改名成test.exe.manifest,并将其和test.exe放在同一个目录里,这样test.exe在XP或2003(必须启动Themes服务)下运行时就会呈现XP
2011-11-24 14:45:55 2655
转载 软件崩溃之堆栈调试
简单介绍调试是程序开发者必备技巧。如果不会调试,自己写的程序一旦出问题,往往无从下手。本人总结10年使用VC经验,对调试技巧做一个粗浅的介绍。希望对大家有所帮助。今天简单的介绍介绍调用堆栈。调用堆栈在我的专栏的文章VC调试入门提了一下,但是没有详细介绍。首先介绍一下什么叫调用堆栈:假设我们有几个函数,分别是function1,function2,function3,funtion4,且
2011-11-24 14:36:44 1058
转载 static关键字详解
static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准). (1)局部静态变量 (2)外部静态变量/函数 (3)静态数据成员/成员函数 下面就这三种使用方式及注意事项分别说明 一、局部静态变量
2011-11-24 13:46:04 445
转载 工具栏停靠控制详述
在VC中开发大型应用程序时,工具条通常是程序中必不可少的重要功能因素,其中工具条在整个窗口中的停靠位置尤其关键,它直接影响到程序界面的外观形象。下面针对笔者实际开发中各类工具条停靠位置的控制过程,详细阐述其实现技巧。 一、标准工具条停靠位置的控制 VC5 应用程序向导生成的框架代码中,都具有普通工具条的控制方法。正常情况下工具条类CToolBar是控制条类CContro
2011-11-24 10:37:07 998
转载 VC中常用20个函数知多少
VC中常用的20个函数一、打开CD-ROMmciSendString("Set cdAudio door open wait",NULL,0,NULL);二、关闭CD_ROMmciSendString("Set cdAudio door closed wait",NULL,0,NULL);三、关闭计算机OSVERSIONINFO OsVersionInfo; //包含操作系统版本信
2011-11-23 16:43:15 947
转载 IP地址转换
经常要判断一个ip是国内的还是国外的,有了下面程序再结合数据库查询...public class IP { private static long ipToLong(String strIP) //将127.0.0.1 形式的IP地址转换成10进制整数,这里没有进行任何错误处理 { int j=0; int i=0;
2011-11-23 13:41:41 496
转载 vc++中指针学习的两个绝好例子
指针学习不好关键是概念不清造成的,说的简单点就是书没有认真看,指针的学习犹如人在学习饶口令不多看多学多练是不行的。下面是两个很经典的例子,很多书上都有,对于学习的重点在于理解*x和x的理解,他们并不相同。*x所表示的其实就是变量a本身,x表示的是变量a在内存中的地址,如果想明白可以输出观察cout仔细阅读和联系下面的两个例子我想指针问题就不是难点了!#include
2011-11-22 16:46:48 457
转载 ShowWindow 函数
ShowWindow-函数介绍函数功能:该函数设置指定窗口的显示状态。函数原型:BOOL ShowWindow(HWND hWnd,int nCmdShow); 参数:hWnd:窗口句柄。nCmdShow:指定窗口如何显示。如果发送应用程序的程序提供了STARTUPINFO结构,则应用程序第一次调用ShowWindow时该参数被忽略。否则,在第一次调用ShowWindow函
2011-11-22 16:37:56 1983
原创 串口通信参数详解
在公司里的第一个任务就是串口通信,所以稍微做了一下了解串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线
2011-11-04 10:30:53 5181
原创 创建自定义的工具栏
if(!m_wndDlgBar.Create(this, IDD_MYBAR, WS_CHILD|CBRS_GRIPPER|CBRS_BOTTOM|CBRS_TOOLTIPS|CBRS_FLYBY,IDD_MYBAR)) { return -1; } EnableDocking(CBRS_ALIGN_ANY); m_wndDlg
2011-11-04 10:28:22 676
转载 如何在VS2005下建立基于CBUTTON的类
1 建立一个新类直接在你的类视图下,点击你的工程名->右键->添加->类 2 在弹出的对话框中选择Visual C++->MFC 然后在右边栏中选择 “MFC类”点击确定 3 因为你要建立CButton为父类的类,所以在弹出来的对话框中类名写一个自己的Button类名, 例如:CMyButton 4 下面有一个基类的下拉框,从里面找到CButton,选择它。 5 然
2011-11-04 10:23:16 637
原创 极简单的绘制曲线的函数
CPoint point[iMaxcount];//坐标点数组 CDC *pDc=GetDC(); pDc->MoveTo(point[0]); for(int i=1;i <=iMaxcount;i++) { pDc->LineTo(point[i]); } 现在看这个函数都有一种可爱小巧的感觉了
2011-11-04 10:20:16 754
原创 Cstring转整型和浮点型
1Cstring 转Intint: _wtoi(CString*)//注意数据溢出2 Cstring 转long long int: _wtol(CString*) //注意数据溢出3 Cstring 转long或doubledouble/float: _wtof(Cstring*) //注意数据溢出
2011-11-04 10:18:02 1575
转载 error C4430: 缺少类型说明符 - 假定为 int
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int编程语言 2010-03-30 16:20:12 阅读254 评论0 字号:大中小 c:\evan\workspace\1\1\netwowkippack.h(50) : error C2146: 语法错误 : 缺少“;”(在标识符“nSourPort”的前面)c:\evan\workspace\1
2011-11-03 14:53:52 11486 4
原创 error C2440: 'static_cast' LRESULT LRESULT错误
这是以前在网上搜到得一段对话问1:为什么编译的时候在消息映射那里出错了: error C2440: “static_cast”: 无法从“void (__thiscall CMainFrame::* )(void)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”
2011-11-03 14:51:31 668
原创 如何放大ICON至48*48
如何将ICON放大至48*48显示,系统默认ICON最高是32*32答:所以不能用LoadIcon载入,因为载入后自动存为32*32这种系统默认应该用LoadImage();LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 32, 32, 0);然后用DrawIconEx(),而不能
2011-11-03 14:41:22 1721
Visual C++ 2008 feature pack 新特性的示例
2011-02-24
一个简单的图形处理应用(包含源码)
2011-02-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人