- 博客(64)
- 资源 (1)
- 收藏
- 关注
原创 关于在2010中调用GDI+ 提示“Font”: 不明确的符号的问题
<br />在VS2010中调用GDI+时,<br />Font font(&fontFamily,13,FontStyleRegular,UnitPixel);<br />会提示提示“Font”: 不明确的符号的问题<br />1> 可能是“c:/program files/microsoft visual studio 10.0/vc/include/comdef.h(312) : Font”<br />1> 或 “c:/program files/mic
2011-02-12 14:23:00 5340 1
转载 SystemParametersInfo详说
函数功能描述:查询或设置系统级参数。该函数也可以在设置参数中更新用户配置文件。<br /><br />函数原型<br />B00L SystemParametersinfo(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinlni);<br /><br />参数<br />uiAction:该参数指定要查询或设置的系统级参数。其取值如下;<br />SPI_GETACCESSTIMEOUT:<br />检索与可访问特性相关联的超时段的信息,PvParam参数
2011-02-11 13:06:00 744
原创 进程内注册控件
<br />HRESULT DllUnregisterServer(LPCTSTR lpszDLLPath) <br />{<br />HINSTANCE hDLL = LoadLibrary(lpszDLLPath) ;<br />if (hDLL)<br />{<br /> typedef HRESULT (__stdcall *PFN_DllUnregisterServer)(void) ;<br /> HRESULT hr ;<br /> PFN_DllUnregisterServer
2011-02-11 13:05:00 547
原创 16进制 转化为COLORREF 格式的
<br /> <br />CString m_BackColor.m_frame_color = "#0290D8";<br />DWORD r,g,b;<br />sscanf(m_BackColor.m_frame_color,"#%2X%2X%2X",&r,&g,&b);<br />COLORREF rgb = RGB(r,g,b);<br />brush.CreateSolidBrush (rgb);
2011-02-11 13:04:00 1212
转载 unexpected end of file while looking for precompiled header directive 解决办法
右键点工程名,选设置,然后选c/c++属性页,再选catagory选单中选 precompiled header ,将选项置成no use 或者autometic <br /><br />---------转载的文章----------<br />预编译头的概念:<br />所谓的预编译头就是把一个工程中的那一部分代码,预先编译好放在一个文件里(通常是<br />以.pch为扩展名的),这个文件就称为预编译头文件这些预先编译好的代码可以是任何的<br />C/C++代码--------甚至是inline的函
2011-02-11 13:03:00 3468
转载 对文件进行加密(加密方式blowfish)
<br />#include <stdio.h><br />#include <memory.h><br />#include <string.h><br />#define SBOX_BEGIN 18<br />const unsigned long sbox[4][256]=<br />{<br /> {<br /> 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96, 0xba7c9045,
2011-02-11 13:01:00 2374
原创 CTypedPtrMap模板指针类的用法 和CArchive类
<br />在编程中运用CTypedPtrMap指针模板类的方法,其存储结构占用物理空间小,比单纯的用数组结构存储的文件将小很多,所以是一种非常推荐的存储及读取文件的方法。<br />你必须在stdafx.h文件中 包含 #include <afxtempl.h> // MFC templates<br />在头文件中包含 #include <io.h><br />其中 CBank.h文件如下:class CBank : public CObject <br />{<br />DECLARE_SER
2011-02-11 13:00:00 2240
转载 客户端跟服务器的信息交互-CHttpClient
http://www.codeproject.com/kb/library/lyoulhttpclient.aspxDownload CHttpClient source files - 72.9 KBDownload CHttpClient demo project - 109.9 KBDownload CHttpClient help file - 445.9 KBDownload CHttpClient COM Edition source files - 141.6 KBDownload CHttp
2011-02-11 12:58:00 1515
原创 把位图转换为区域
一个函数BitmapToRegion(),用于把一个位图转换为区域。 它扫描位图内容,找到非透明象素的连续线,增加这些线到 RGNDATA结构,最后,用ExtCreateRgn()创建区域。
2011-02-11 12:56:00 583
原创 在VC++6.0下设置GDI+
1.下载(GDI+ for VC6.0 SDK)GDIPlus文件将其中的Includes和Lib中的文件拷到vc目录下的Includes和Lib文件夹中.<br /> 下载地址:http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip(引用他人的)<br />2.在你将要使用GDI+的工程中,完成初始化工作:<br />在StdAfx.h中加入<br />#define ULONG_PTR unsigned long<br />#include <Gd
2011-02-11 12:55:00 742
转载 如何在程序中动态设置墙纸
大家都知道设置WINDOWS桌面墙纸的WIN32 API是SystemParametersInfo, 使用SPI_SETDESKWALLPAPER参数便能设置墙纸:<br />::SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C://ABitmap.bmp", SPIF_SENDWININICHANGE | SPIF_UPDATEINIFILE);<br />但问题并没有解决,因为这个WIN32 API有很大的局限性<br />1. 无法把jpeg, gi
2011-02-11 12:54:00 1048
转载 VC/MFC 设置程序与文件关联与双击文件获取文件路径
<br />如何设置程序与文件关联并且双击关联文件时获取文件的路径呢?<br />一般来说可以通过写注册表的方式实现,在函数入口处实现功能。<br />例如在VC/MFC中,可以在应用程序的C**App.cpp文件中InitInstance()函数中实现该功能。<br />#include <string><br />using namespace std;<br />//关联文件的后缀名,如"txt"、"doc"等<br />string m_csExtension;<br />string m_csSh
2011-02-11 12:52:00 1115
转载 如何在程序中创建快捷方式
<br />通过手工操作建立这些菜单项或快捷方式并不复杂,在一般Windows使用手册中都有介绍,相信大家都很熟悉,在此不再赘述。笔者在有关资料的基础上,通过实践摸索,找到了在应用程序中完成上述工作的方法。这正是开发安装程序所必需的。<br /> Windows的快捷方式实际上是一个带有扩展名LNK的数据文件,其中包含有用于访问Windows某一对象(即在资源管理器中所能浏览的所有对象,包括文件,文件夹,驱动器及打印机等)的有关信息,如目标对象的路径和名称,工作目录,要传递的命令行参数,运行时的初始显示状
2011-02-11 12:52:00 3109
原创 获取系统版本 XP ,VIS win7 等
<br />解决了WINDOWS7判断的问题<br />BOOL GetOS(LPTSTR lpBuffer, UINT uSize)<br />{ <br />OSVERSIONINFOEX osvi;<br />ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));<br />osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);<br />if( !GetVersionEx ((OSVERSIONINFO *)&osvi)
2011-02-11 12:51:00 1905
转载 处理键盘组合键消息
在处理组合键消息时,不能直接用wParam, 而要用GetKeyState(VK_CONTROL)或GetKeyState(VK_SHIFT)来判断是否按下了组合键...<br /><br />你这样用:<br />if( GetKeyState(VK_CONTROL) & 0xF0000000) nCtrlAKeyDown = TRUE;<br />if( GetKeyState(VK_SHIFT) & 0xF0000000) nShiftKeyDown = TRUE;<br /><br />//====
2011-02-11 12:49:00 1802
转载 VC6 在Vista Win7 下提高权限问题
<br />以下程序集清单(Assembly Manifest)示例使你的程序在VISTA和WIN7下需要管理员权限,即在程序运行时弹出UAC提升权限对话框。<br /><?xml version="1.0" encoding="UTF-8" standalone="yes"?><br /><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><br /><assemblyIdentity<br /> vers
2011-02-11 12:48:00 712
原创 解决NOD32的误报问题
<br /> <br />本来好好的软件,突然有用户来反映说NOD32报毒,我晕~~,开始找什么问题,老办法把代码一行一行的注释掉看测试,结果注释掉了大半的代码,也没有发现到底是哪行代码出的问题;今天终于找到了解决的方法了,就是通过延迟加载DLL来解决,通过延迟加载WININET.DLL 结果问题就解决了,我晕~~,,无语了<br />VC的解决步骤:<br />DelayImp.lib<br />/DelayLoad:WININET.dll
2011-02-11 12:48:00 741
转载 vc++启动和停止服务
<br />包含头文件:#include <winsvc.h><br />以下以web服务为例:<br />#include <winsvc.h><br />void CStartServiceDlg::OnBnClickedButton1()<br />{<br /> // 打开服务管理对象<br /> SC_HANDLE hSC = ::OpenSCManager( NULL, <br /> NULL, GENERIC_EXECUTE);<
2011-02-11 12:48:00 575
原创 实现获取软件自身的版本号
<br />//获取软件当前的版本<br />//该版本号是在资源文件中的../Version/VS_VERSION_INFO/FILEVERSION的值<br />CString CMyPro::GetCurProductVersion()<br />{<br /> TCHAR cPath[400] = _T(""),szVersionBuffer[400]= _T("");<br /> DWORD dwHandle,InfoSize;<br /> CString strVersion;<br /> ::
2011-02-11 12:47:00 1621 2
原创 关于NTDLL.DLL 异常错误问题
<br />通过后台异常统计,发现挺多用户在打开软件时就自动崩溃,直接关掉了,调试下错误地址指向NTDLL.DLL加载错误,汗<br />需要去网络上下个NTDLL.DLL 的库来替换,就不会出问题了,具体的原因是什么? 是软件问题还是用户的NTDLL.DLL 错误
2011-02-11 12:46:00 30558
原创 桌面下雪 源代码
<br />//DELPHI<br /> interface<br /><br />uses<br /> Windows, Messages, SysUtils, Classes, Graphics;<br /><br />const<br /> SnowNumber = 500; // 雪点数量-1<br /><br /> procedure StartSnow;<br /> procedure StopSnow;<br />implementation<br /><br />type<b
2011-02-11 12:06:00 2767 1
原创 实时绘制曲线-SetROP2方法
<br />//绘制光圈<br />CDC* dc = GetDC();<br />int oldrop = dc->GetROP2();<br />dc->SetROP2(R2_XORPEN);<br />HPEN hpen = CreatePen(PS_SOLID,2,RGB(0,255,0));<br />dc->SelectObject(hpen);<br />dc->SelectObject(GetStockObject(NULL_BRUSH));<br /><br />dc->Ellipse((
2011-02-11 12:05:00 1250
转载 文档与视图的建立和关联
<br />本文讨论一下单文档与多视的问题,主要介绍一下笔者在学习VC++6.0过程中探索出的一些个人经验,并给出了实现它们的的主要程序框架。<br /> <br /><br /> <br /> <br /> <br /> <br />本文讨论一下单文档与多视的问题,主要介绍一下笔者在学习VC++6 <br /> <br />一.建立文档与视图:<br /> <br />在Projects选MFC Appwizard(exe),键入工程名,点ok后选单文档,选择默认值,在第四步时,在Advanced…里的W
2011-02-11 12:04:00 886
转载 让窗体支持文件拖拽
<br />一、基本概念<br />拖放,是指用鼠标拖动的方法,在不同程序的窗口之间、同一个程序的不同窗口之间或同一程序同一窗口的不同控件之间,进行移动、复制和粘贴等操作的技术。拖放操作是在操作系统的帮助下完成的。被拖动的对象首先向操作系统注册它使用的数据格式,并按指定的数据格式
2011-02-11 12:01:00 1712
原创 限定窗口最大化和最小化的大小
WM_GETMINMAXINFO<br />void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) <br />{<br />lpMMI->ptMinTrackSize.x = 300;<br />lpMMI->ptMinTrackSize.y = 300;<br />lpMMI->ptMaxTrackSize.x = 800;<br />lpMMI->ptMaxTrackSize.y = 600;<br />CFrameWnd::OnGetMinMa
2011-02-11 12:01:00 880
原创 如何实现双缓冲:在OnDraw(CDC *pDC)中
<br />CDC MemDC; //首先定义一个显示设备对象<br /> CBitmap MemBitmap;//定义一个位图对象<br /> //随后建立与屏幕显示兼容的内存显示设备<br /> MemDC.CreateCompatibleDC(NULL);<br /> //这时还不能绘图,因为没有地方画 ^_^<br /> //下面建立一个与屏幕显示兼容的位图,至于位图的大小嘛,可以用窗口的大小<br /> MemBitmap.Cre
2011-02-11 11:59:00 801
原创 透明窗口
<br />在OnInitDialog()加入:<br />//加入WS_EX_LAYERED扩展属性<br />SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,<br />GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);<br />HINSTANCE hInst = LoadLibrary("User32.DLL"); <br />if(hInst) <br />{ <br />typedef BO
2011-02-11 11:59:00 463
原创 禁止CListCtrl 的水平滚动条
<br />ON_WM_NCCALCSIZE() <br /><br />void CMyListCtrl::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp) <br />{ <br />ModifyStyle(WS_HSCROLL | WS_VSCROLL,0,0); <br />CListCtrl::OnNcCalcSize(bCalcValidRects, lpncsp); <br />}
2011-02-11 11:58:00 4169 2
转载 ToolTip 使用
ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法。 <br /><br />一般用法步骤: <br /><br />添加CToolTipCtrl成员变量 m_tt。 <br /><br />在父窗口中调用EnableToolTips(TRUE); <br /><br />在窗口的OnCreate(或者其他适当的位置)中向ToolTip中添加需要显示Tip的子窗口,并同时指定相应的显示字串CToolTip
2011-02-11 11:58:00 778
转载 ProcessShellCommand(cmdInfo)函数功能
<br />在我们用向导创建MFC应用程序时,在App::InitInstance()中总会出现下面这样的代码到底是什么意思呢,我差了很多资料终于使其漏出庐山真面目。<br />CCommandLineInfo cmdInfo;//定义命令行 <br />ParseCommandLine(cmdInfo);//解析命令行<br />// 调度在命令行中指定的命令。如果 <br />// 用 /RegServer、/Register、/Unregserver 或 /Unregister 启动应用程序,则返回
2011-02-11 11:57:00 576
转载 Toolbar CSubClassWnd Tip 弹出窗口
背景:我用一个CListBox派生类实现宿主(owner-draw)列表框,这个列表框的项目宽度超过了列表框本身的宽度,因此当鼠标指针指向大宽度的列表框项时,我想显示一个类似Toolbar的提示窗口,在窗口中显示完整的列表框项目文本。<br />起初我想使用CToolTipCtrl::AddTool的第三个参数lpRectTool来实现这个功能,但没有成功。后来,我采用了自立更生的解决方案,创建了一个可重用窗口类:CPopupText 类定义和实现 /////////////////////////
2011-02-11 11:56:00 1230
转载 截获窗口消息的类(强烈推荐)
<br />Subclass的下载地址:<br />1:<br />MSDN上有这个例子可以下载,但是用.Net写的,不管怎样,我们只需把目录下的Subclass.h和Subclass.cpp复制到VC6工程里面即可<br />http://msdn.microsoft.com/msdnmag/code/Default.aspx?level=root%2cTypematic&file=Subclass.cpp&url=http%3a%2f%2fmsdn.microsoft.com%2fmsdnmag%2fi
2011-02-11 11:55:00 1232
转载 无边框窗口实现拖垃效果
(1)实现效果需要处理以下这三个消息:<br /><br />WM_NCHITTEST WM_SETCURSOR WM_NCLBUTTONDOWN<br />WM_NCHITTEST参数:<br />xPos = LOWORD(lParam); // horizontal position of cursor (相对于屏幕坐标)<br />yPos = HIWORD(lParam); // vertical position of cursor (相对于屏幕坐标)<br /><br />(2)消息处理函数:
2011-02-11 11:54:00 671
原创 解决使用CHtmlView后出现的COleException异常
<br />程序中在使用CHtmlView类来实现浏览器功能时,在调整窗口大小时会窗口输出异常警告,例如我的出现的警告如下:<br />Warning: constructing COleException, scode = DISP_E_MEMBERNOTFOUND ($80020003).<br />htmltest.exe 中的 0x7c80bef7 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012de68 处的 COleException。<br />Warning: c
2011-02-11 11:53:00 3158
原创 CListCtrl实现拖拽 效果
<br />方法1:<br />void ClistOx::OnLvnBegindrag(NMHDR *pNMHDR, LRESULT *pResult)<br />{<br />LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);<br />// TODO: 在此添加控件通知处理程序代码<br />CPoint ptItem, //<br />ptAction, //事件发生的位置 <br />ptImage;//移动位图的位置<br /
2011-02-11 11:52:00 5221 1
转载 对FillRectangle理解有误 TranslateTransform的应用
今天一个朋友问我他在使用FillRectangle向窗体绘制图象的时候总是发生错位,不知道是怎么回事。我拿代码来看了一下,中规中矩的代码: privatevoid DrawTitle_Right(Graphics g) <br /> { <br /> Image img = Files.GetImage("/Images/Top_Right.gif"); <br /> Brush brush =new TextureBrush(
2011-02-11 11:51:00 1143
原创 异常错误报告 -MINIDump ZIB 发送
<br /> <br /> <br />原文:http://www.codeproject.com/debug/postmortemdebug_standalone1.asp<br />例子:http://www.codeproject.com/debug/crash_report.asp
2011-02-11 11:51:00 678
转载 BCMenu 自绘菜单
Cool Owner Drawn Menus with Bitmaps<br />Version 3.036 June 2005<br />By Brent Corkum<br /> <br />Update Information<br /><br />Download MFC MDI Source Code+Example (97KB)<br />Download MFC Dialog Sorce Code+Example (78KB)<br /> What's new in Version 3.0<
2011-02-11 11:50:00 1734
原创 RedrawWindow 和 InvalidateRect 刷新
<br />当父窗体设置了 WS_CLIPCHILDREN 的属性后, 默认状态下,RedrawWindow 和 InvalidateRect 不会导致子窗体重绘,因此,如果子窗体同时设置了 WS_EX_TRANSPARENT 属性,子窗体就会被父窗体刷没了。<br />解决的办法是 RedrawWindow 的时候添加 RDW_ALLCHILDREN 标志,强制子窗体也重绘,而不要使用默认的 RedrawWindow 和 InvalidateRect(当然也包括 Invalidate)。<br />Red
2011-02-11 11:48:00 1074
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人