自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lin_angle的专栏

不去尝试永远都只能是失败

  • 博客(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 5339 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 2368

原创 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

原创 设置控件的字体大小

<br />设置控件大小时,如果重载控件,那么字体的变量,应该要全局变量,而不能是局部变量

2011-02-11 12:55:00 889

原创 在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 1231

转载 无边框窗口实现拖垃效果

(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

Release异常捕获

在程序开发过程中,主要是捕获Release版异常,并打印出异常的地址,出错行,出错代码,等,哦,好像少不错了个其它异常了,如果需要再给我留言吧

2008-10-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除