
MFC
文章平均质量分 81
C_peter
这个作者很懒,什么都没留下…
展开
-
修改 AFXMessageBox标题
利用类向导重载应用程序类的DoMessageBox函数,如工程名为:PrintReport,则在CPrintReportApp类中右键单击 添加虚函数;选择DoMessageBox,重载代码如下:int CPrintReportApp::DoMessageBox(LPCTSTR lpszPrompt, UINT nType, UINT nIDPrompt){LPCTSTR pOld原创 2012-02-23 14:53:28 · 795 阅读 · 0 评论 -
gif/bmp/jpeg图像开发---------图像内部写入加密字符
1、必备知识:(1) bmp、jpg、gif格式详细解析(2)图像开发常用算法2、开发环境(1)win平台 VS2010 C++3、应用 (源代码不贴了,如若需要,留言吧)(1)图像标识也就是说将指定的字符或者加密信息写入到图片中。这是最简单的使用方式,不考虑安全性。1、打开图像获得图像句柄 FILE* hFile=fopen(T2A(filena原创 2013-12-11 17:36:03 · 3180 阅读 · 0 评论 -
使用VS2010的CMFCToolbar实现真彩色工具栏
从VC2008的SP1开始,新加入了很多MFC控件,其界面效果虽然比不上WPF,但与之前的控件相比,也已经是飞越了。无奈目前大家对它的研究还是比较少,虽然自带了一些示例程序,仍然不能满足开发的方方面面。貌似C++的高手更喜欢旧版的MFC控件,这也难怪,新版的控件效果,用旧版的也能实现,只是有些麻烦,也可能高手们都不用MFC吧。我是刚从.net转入C++的新兵,用惯了framework提供的简单控件转载 2014-01-06 16:16:47 · 1562 阅读 · 0 评论 -
异步I/0基础
一、异步设备I/O基础与计算机执行的大多数其他操作相比,设备I/O是其中最慢、最不可预测的操作之一。但是,使用异步I/O能够更好的使用资源并创建出更加高效的应用程序。假设一个线程向设备发出一个异步I/O请求。这个I/O请求被传给设备驱动程序,后者负责完成实际的I/O操作。当驱动程序在等待设备响应的时候,应用程序的线程并没有因为要等待I/O请求完成而被挂起,线程会继续运行并执行其他有转载 2014-01-13 20:37:15 · 1939 阅读 · 0 评论 -
MFC MDI和SDI非客户区框架界面美化之----标题栏以及边框美化
1、美化方式:贴图、重绘 优点:简单,易理解!适合 缺点:美化限制较大,实际使用意义不大。2、基本思路是重载CMainFrame类的DefWindowProc()函数,并判断消息为:WM_NCPAINT,WM_NCACTIVATE,WM_NOTIFY的时候,调用自己的绘制窗口标题栏的函数。用GetSystemMetrics(SM_CSFRAME)和GetSystem原创 2014-02-12 09:29:20 · 8922 阅读 · 1 评论 -
MFC MDI和SDI美化----之客户区美化
1、美化方式:贴图,重绘背景2、一、MDI客户窗口 一个MDI应用的主框架窗口包含一个特殊的子窗口称为MDICLIENT窗口。MDICLIENT窗口负责管理主框架窗口的客户区。MDICLIENT窗口本身有自己的子窗口即由CMDIChildWnd派生的文档窗口,也就是MDI子窗口。MDI主框架窗口负责管理MDICLIENT子窗口。当控制条(菜单条,状态条等)发生变化时,MDI主框架窗口重新原创 2014-02-12 09:53:59 · 4049 阅读 · 1 评论 -
MFC MDI和SDI非客户区框架界面美化之----界面全面美化
VS2008以上的开发平台,微软提供了“视觉管理器和样式”这么一个概念,我们可以通过继承视觉管理器提供的样式进行美化界面,包括MDI框架等。也可以实现构造自己的皮肤界面库,从而避免无休止的重绘、刷新界面。原创 2014-02-12 10:49:28 · 12759 阅读 · 4 评论 -
创建悬浮框
原作者:http://blog.163.com/toplcx@yeah/blog/static/92667383201021932360/原理: 创建一个单独的非模态对话框,并将其置顶1、 在解决方案中添加对话框资源 ID:IDD_FLOAT 属性 Border设为none,Title Bar设为false。为对话框模板添加基于CDialog的类CFloatDlg,为CMai转载 2014-03-21 16:44:42 · 1312 阅读 · 0 评论 -
透过宏定义了解MFC的消息响应机制
消息系统是MFC的重要组成部分。MFC的消息响应机制并不复杂,而且MFC的开发环境 Visual Studio来供了非常好的自动化工具,自动生成代码。MFC也定义了丰富的宏来简化消息响应的代码。这使得很多初学者都能快速开发出基于消息响应机制的应用程序。然后也正是这些带来方便的宏,使很多人摸不着头脑。当不小心的代码操作使自动化工具不好用的时候,看着那一组更像是一堆的宏,很多人只好一头雾水。要转载 2014-03-21 17:40:15 · 957 阅读 · 0 评论 -
Unicode字符集下CString与char *转换 (解决中文乱码等)(转)
Unicode字符集下CString与char *转换 (解决中文乱码等)(转)(2012-03-29 09:05:47)转载▼标签:杂谈分类: vc (MFC)UniCode 下 CString 转 char* 的方法的文章有很多,但是大部分都是在互相转载,看了那么多资料,仍然没有解决乱码的问题,后来从一转载 2014-07-18 23:30:43 · 838 阅读 · 0 评论 -
网友转发的很全的 LISTCTL 控件使用的说明
作者:lixiaosan时间:04/06/2006以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LV转载 2014-07-27 16:44:23 · 2186 阅读 · 0 评论 -
WinCE线程调度
WinCE使用抢占式的基于优先级的时间片轮转调度算法调度线程。对于就绪队列中的线程,优先级高的先获得时间片运行,优先级相同时按时间片轮转,正在运行的线程用完时间片后无论是否执行完毕都得让出CPU退回就绪队列等待下一次时间片分配。WinCE优先级分256级(0~255)其中应用程序可使用248~255,其它的供驱动及内核使用。WinCE线程状态转换图WinCE转载 2015-03-09 17:18:25 · 1257 阅读 · 0 评论 -
MFC总结之CListCtrl用法及技巧(一)
本文根据本人在项目中的应用,来谈谈CListCtrl的部分用法及技巧。当初学习时,查了很多资料,零零碎碎的作了些记录,现在主要是来做个总结,方便以后查阅。主要包括以下十三点内容:基本操作、获取选中行的行号、复选框操作、动态设置选中行的字体颜色、设置选中行的背景颜色、禁止拖动表头、让第一列居中显示、设置行高与字体、虚拟列表技术、点击表头时进行归类、向上与向下移动、动态调整大小问题、避免闪烁问转载 2015-05-10 14:01:29 · 1390 阅读 · 0 评论 -
VS2013 Codejock 实现 MFC 换肤
之前一直在用Skin++ , 但是越来越发现占用资源太多, 导致程序效率很低 。 最主要是版本更新太慢 。所以花了几个小时研究了一下 codejock .1, 版本 : codejock 目前国内破解版last version 就是 15.3.1 . 这个版本只支持到 VS2010 ,最主要是组件支持的不是很多. 官方现在已经是17.2 了, 支持 win10, VS2015 等 ,还原创 2016-07-24 16:58:52 · 6148 阅读 · 3 评论 -
VC数字图像处理编程
数字图像处理技术与理论是计算机应用的一个重要领域,许多工程应用都涉及到图像处理,一直有一个强烈的愿望,想系统的写一个关于数字图像处理的讲座,由于工作学习很忙,时至今日才得以实现。 “图”是物体透射光或反射光的分布,“像”是人的视觉系统对图的接收在大脑中形成的印象或认识。图像是两者的结合。人类获取外界信息是靠听觉、视觉、触觉、嗅觉、味觉等,但绝大部分(约80%左右)来自视觉所接收的图像转载 2013-12-04 17:30:59 · 9589 阅读 · 1 评论 -
PostMessage和SendMessage 区别(很容易忽略)
SendMessage函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。原创 2013-08-01 11:11:20 · 800 阅读 · 0 评论 -
动态的改变列表框 指定行的颜色
CListCtrl 类里面没有直接改变单元格背景及文字颜色的成员函数,只有改变整个背景的颜色。我有时候只是需要把某个单元格的颜色改变来突出显示就可以了:我们可以通过重载ListCtrl控件的Customdraw 消息,然后在里面写一些代码就可以了;void CGPRSDlg::OnNMCustomdrawListshow(NMHDR *pNMHDR, LRESULT *pResult)原创 2012-02-20 10:51:07 · 1759 阅读 · 0 评论 -
CListCtrl应用,check,导入到excel,实现点击列头排序
CListCtrl应用,check,导入到excel,实现点击列头排序2007-11-06 10:31初始化:DWORD dwStyle;dwStyle = m_bzlist.GetStyle();dwStyle |= LVS_EX_GRIDLINES |LVS_EX_FULLROWSELECT|LVS_SHOWSELALWAYS ;m_bzlist.SetExtended转载 2012-02-20 10:54:15 · 679 阅读 · 0 评论 -
VS2005连接SQL Server 2005数据库
本地连接、远程连接、数据库打包等问题整理一、本地连接首先,在Stdafx.h文件中加入如下语句: #import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF")注:语句no_namespace说明ADO对象不使用命名空间,rename (转载 2012-03-06 15:14:43 · 1120 阅读 · 0 评论 -
VC中用函数读写ini文件的实例
#include "stdafx.h"#include "stdafx.h"#include #include #include using namespace std; int _tmain(int argc, _TCHAR* argv[]){ CString strName; CString strTemp; int nAge; strName原创 2012-03-06 15:12:10 · 920 阅读 · 0 评论 -
改变 DrawText()字体
CFontfont; VERIFY(font.CreatePointFont(180,"Arial", pDC));//创建字体 Arial格式 180为字高 font* def_font =pDC->SelectObject(&font); //选择该字体进入PDC m_size =pDC->GetTextExtent(tmp_lpBuf,len);//计算buf中的字体转载 2012-03-08 15:38:44 · 8104 阅读 · 0 评论 -
mfc常用方法关于窗体
1. 在任务栏隐藏对话框 ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW);2. 使对话框为顶层窗口 SetWindowPos(&this->wndTopMost, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);3. 在运行时添加最大化,最小化按钮 SetWindo翻译 2012-05-29 17:36:03 · 863 阅读 · 0 评论 -
【MFC】MFC中调用系统软键盘的几种方法
1.直接运行微软系统自带的虚拟键盘程序“osk.exe”在普通MFC项目中可以调用ShellExecute或者WinExec方法来直接运行微软系统自带的虚拟键盘程序“osk.exe”,十分方便一句话就可以搞定。ShellExecute: ShellExecute(GetSafeHwnd(), NULL, _T("osk.exe"), NULL, NULL,SW_NORMAL)原创 2012-05-31 10:41:15 · 8879 阅读 · 0 评论 -
MFC使用Skin++
一.使用皮肤1.将SkinPPWTL.lib 、skinppwtl.dll 、SkinPPWTL.h三个文件及相应皮肤(**.ssk)拷贝至工程文件夹下;一般还要将这些文件放在Debug文件夹下。2.在StdAfx.h文件中加入#include "SkinPPWTL.h" 和#pragam comment(lib,"SkinPPWTL.lib")[cpp] view p原创 2012-05-12 13:11:12 · 4983 阅读 · 2 评论 -
LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化
UNICODE:它是用两个字节表示一个字符的方法。比如字符'A'在ASCII下面是一个字符,可'A'在UNICODE下面是两个字符,高字符用0填充,而且汉字'程'在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节。UNICODE的用处就是定长表示世界文字,据统计,用两个字节可以编码现存的所有文字而没有二义。 MBCS,它是多字节字符集,它是不定长表示世界文字的编码。MBCS表示英文转载 2012-05-13 19:37:22 · 1413 阅读 · 0 评论 -
屏蔽WIN键盘键
一,我们完全可以通过注册表来屏蔽的二、点击开始—运行——输入regedit.exe,然后确定,调出注册表编辑器 三、,在注册表编辑器左侧的树形目录中,找到如下位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout四、将目录保持在Keyboard Layout,然后在右边的窗口进行操作五、在右侧的窗原创 2012-05-31 14:20:53 · 912 阅读 · 0 评论 -
CString Char *互相转化
在Visual C++.NET2005中,默认的字符集形式是Unicode,但在VC6.0等工程中,默认的字符集形式是多字节字符集(MBCS:Multi-Byte Character Set),这样导致在VC6.0中非常简单实用的各类字符操作和函数在VS2005环境下运行时会报各种各样的错误,这里总结了在Visual C++.NET2005环境中Unicode字符集下CString和char *之原创 2012-05-24 16:20:24 · 5065 阅读 · 0 评论 -
MCI 错误 提示系统为装入驱动
此错误出现在WIN 7、WIN 8解决:选择兼容性运行即可!原创 2012-09-10 10:31:40 · 4284 阅读 · 0 评论 -
COMBOX下拉菜单 防止插入数据的重复
1、COMBOX控件 ADDSTRING后会返回 插入的序号,紧跟着上一个值的序号。2、如果返回的序号+1,小于总长度。则说明重复。删掉即可~int count = m_wndComboBox->GetCount();int r=m_wndComboBox->AddString(?)if( r+1{m_wndComboBox->DeleteString(r);}原创 2012-10-18 17:47:57 · 3468 阅读 · 0 评论 -
USB 设备热插拔的检测
系统检测USB 设备往往分为两个过程:1. USB 设备已经插入, 打开软件。 此时需要枚举当前设备列表中所有的设备,并过滤指定的USB 设备。2. 打开软件后, USB 热插拔 。 此时用WM_DEVICECHANGE 消息去获取设备信息。 当设备插入或者移除时,系统给当前主窗口发送WM_DEVICECHANGE 消息 。 注意: 默认状态, 任何设备都会通知。 所以需要注册指定原创 2016-08-28 09:58:58 · 11107 阅读 · 1 评论