自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 vs如何添加自定义字体

1.首先通过资源管理器添加字体资源FONTNAME.ttf, 资源类型为”->"8"或者"RT_FONT”2.字体资源添加函数void InstallResourceFont(HINSTANCE hResInstance, LPCTSTR lpsFont, LPCTSTR lpsType)  {  HRSRC hRes = FindResource(hResInstance, lp

2016-08-18 11:21:15 10524

转载 利用工具umdh(user-mode dump heap)分析

A.利用工具umdh(user-mode dump heap)分析1设置gflags.exe标志r Gflags标志设置好后,开启cmd键入要定位内存泄露的程序gflags.exe /i memroyleak.exe +ust如图成功后,开启memoryleak.exe程序2利用umdh

2016-03-15 08:55:47 1139

转载 总结了两种绘画透明窗体的方法,都有些缺陷,能适用一般情况

1.使用屏蔽绘画函数方法  窗口属性修改ModifyStyleEx(WS_EX_LAYERED, 0);//去除Onpaint函数响应;  刷新窗口采用UpdateLayeredWindow; 缺点:控件因为窗口不能刷新,使得windows自带控件不能使用,需重写应用控件,在不需要控件或则不需要复杂控件时使用。void DrawUI()  {  HDC hDC=::GetD

2015-10-22 17:57:22 440

原创 KMP算法和普通算法字符串匹配差距

int NORMAL_Find(char * szString1, char *szString2){ if(szString1 == NULL || szString2 == NULL) {  return false; } int i = 0; int j = 0; for(i = 0; szString1[i] != '\0'; i++) {  if(

2015-10-21 16:49:13 361

转载 windows下的托盘编程(Shell_NotifyIcon)

添加和删除托盘图标BOOL AddNotificationIcon(HWND hwnd){ NOTIFYICONDATA nid = {sizeof(nid)}; nid.hWnd = hwnd; // add the icon, setting the icon, tooltip, and callback message. // the icon

2015-02-27 17:15:17 953

转载 启动指定的程序

bool CAutoUpdateClientApp::RestartMain(TCHAR szProssName[]){ if(lstrlen(szProssName) == 0) {  return false; } TCHAR szModuleDir[MAX_PATH]; TCHAR *pSz = szModuleDir; ::GetModuleFileName

2015-02-27 14:47:07 327

转载 使用VS2008以上版本把文件打包成安装程序

本文详细和大家讲一下打包部署仅仅为基础的打包方案,打包附加.netframework包的操作仅在Visual Studio2005以及以上版本才有效,VS2003的话需要下载一个PluginInstaller.msi插件包。下面开始吧。第一步:新建安装部署项目 打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图

2015-01-27 15:45:32 1802

转载 c++ 中__declspec 的用法

语法说明:__declspec ( extended-decl-modifier-seq )扩展修饰符:1:align(#)    用__declspec(align(#))精确控制用户自定数据的对齐方式 ,#是对齐值。e.g__declspec(align(32)) struct Str1{int a, b, c, d, e;};

2015-01-20 14:05:37 286

原创 static_cast和reinterpret_cast的使用

static_cast使用①用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。进行上行转换(把派生类的指针或引用转换成基类表示)是安全的;进行下行转换(把基类指针或引用转换成派生类表示)时,由于没有动态类型检查,所以是不安全的。(经过测试转换后可以使用基类的数据成员)②用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。这种转换的安全性也要

2015-01-08 10:26:45 817

转载 C++测试Map和Vector实现函数的存储

#include "stdafx.h"#include #include #include string>using namespace std;// 声明一个函数指针int(*pFunc)(int);int func1(int nIn){return nIn + 1;}int func2(int nIn){return nIn + 20;}ty

2015-01-08 10:20:54 637

转载 SystemParametersinfo系统配置的获取

该函数查询或设置系统级参数。该函数也可以在设置参数中更新用户配置文件。//函数原型BOOL SystemParametersinfo(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinlni);//实际用法举例  //获取位置  CRect rcArce;  SystemParametersInfo(SPI_GETWOR

2015-01-05 17:03:28 1753

转载 解决窗口响应鼠标离开事件,在鼠标移动的地方添加信息注册

捕捉鼠标停留WM_MOUSEHOVER和离开WM_MOUSELEAVE消息当鼠标停留在程序窗口一定时间后,会产生一个WM_MOUSEHOVER消息;当鼠标离开程序窗口后,会产生一个WM_MOUSELEAVE消息。鼠标离开程序窗口的消息一般很少用,想了半天也想不到在什么情况下会用到这个消息。到是鼠标停留消息会经常用到,比如需要对程序中的某些操作进行提示时,就需要用到WM_MOUSEH

2014-12-25 13:54:54 814

转载 VS 一些你可能忽略但是用着很方便的快捷键

1、F12 这三个键在查看代码的时候,特别有用。通过F12你可以快速的找到一个函数的定义,通过Ctrl+减号你可以快速的返回到函数的调用处。 2、如何使用快捷键在当前代码行的上面或下面插入一行(推荐,很实用) 按下 Ctrl+Enter 会在上面插入一个空行,Ctrl+Shift+Enter 则会在下面插入一个空行。光标会移至新行的开始处。 备注:这是我非常喜欢的一

2014-12-24 16:45:01 510

原创 MFC 滚动字幕添加

实现文件#include "Stdafx.h"#include "SkinScroll.h"#include "SkinRenderManager.h"#include "SkinResourceManager.h"#include "Resource.h"#define  FONT_HEIGHT  20   //字体高度#define  FONT_WIDTH   14

2014-12-19 09:35:57 1717

转载 MFC 解决光标闪烁问题

这里只针对CWnd窗口以及其子窗口通过继承并改写函数virtual BOOL PreCreateWindow(CREATESTRUCT& cs);BOOL PreCreateWindow(CREATESTRUCT& cs){ // 创建自己的窗口类,窗口不设置光标,以便根据需要进行设置  if (cs.lpszClass == NULL)  cs.lpszClass =

2014-12-02 21:37:44 989

转载 MFC 获取字符串的长度方法

//chInfo为字符,nWidth为字体的宽度int GetCharLength(TCHAR chInfo, int nWidth){ if( chInfo >= 0xA0 )//全角 中文  {   return nWidth; }  else     //半角 英文  {   return nWidth/2; } }

2014-12-02 21:33:21 1997

转载 读取HTML返回值的一个方法

//调用方法BOOL bRecv = HttpSend(TEXT("192.168.1.230"),TEXT("Material/ValidateWhiteList.aspx?"),TEXT("uID=1426&name=96E79218965EB72C92A549DD5A330112"),TRUE);void DisplayStat(LPSTR lBuffer){ Outpu

2014-12-02 21:24:39 1478

转载 MFC一个非常明显的创建字体的方法

LOGFONT  lf;                   //定义字体结构   lf.lfWeight=10;                //字体磅数=10   lf.lfHeight=17;                //字体高度56     lf.lfWidth=20;                 //字体宽度20   lf.lfUnderline=TRUE; 

2014-12-02 21:21:05 857

原创 MFC打开连接QQ对话框的方法

//创建网页控件 CPlatformPublicize    m_PlatformPublicize;    //浏览控件  m_PlatformPublicize.Create(NULL,NULL,WS_CHILD|WS_VISIBLE|WS_CLIPCHILDREN,CRect(0,0,0,0),this,IDC_WEB_USERBDNET); //构造地址 TCHAR szB

2014-12-01 16:02:28 492

原创 创建窗口,去掉某一固定颜色区域的方法。

在 创建窗口的时候加入这一段代码  m_ImageBack为加载背景图片后的位图变量。 CRgn ImageRgn; m_ImageBack.CreateImageRegion(ImageRgn,RGB(255,0,255)); SetWindowRgn(ImageRgn, FALSE); ImageRgn.DeleteObject();

2014-11-27 09:13:36 576

原创 MFC做一个可以自定义背景色的方框

//刷新背景 pDC->FillRect(CRect(rcScore.left-6,rcScore.top-5,rcScore.right+5,rcScore.top-5+24L),&m_brBrush);、、tia pDC->Draw3dRect(rcScore.left-6,rcScore.top-5,rcScore.Width()+12,24L,crColorBorad,crCo

2014-11-19 15:53:10 432

原创 计算件的大小和获取下载速度

//获取文件的大小,并以KB 或 MB 来表示   CString GetFileSize(LONG size)  {      CString _size;      //判断大小有没有超过1       if (size    {          _size.Format("%.2lfKB",size/1024.0);      }else if(1024*1024*1024)      {

2014-11-19 10:05:47 647

原创 定义的按钮类继承CBUTTON类修改光标显示时不能够正常的修改

在自定义的按钮类创建的时候 SetClassLongPtr(m_hWnd, GCLP_HCURSOR, (LONG)AfxGetApp()->LoadStandardCursor(IDC_HAND));

2014-11-18 09:21:31 369

转载 DrawText中的自动换行功能

DrawText中的自动换行功能  使用DrawText函数输出文字,如果需要让输出的内容在指定矩形内自动换行,则可以使用DT_WORDBREAK选项。但根据API说明,该选项只能截断单词,即只在单词间的空格处分割。如果输出内容是一长串没有空格分隔的ASCII码(如英文字符或数字),那么该长串会被当做一个单词来处理而不会自动换行(中文字符没有此问题)。如果要让ASCII码组

2014-11-18 09:14:15 7677

转载 VS常用快捷键

1 注释选中的部分  Ctrl+K,C2 取消注释的部分  Ctrl+K,U3 设置断点            F9            取消此行的断点就再按一次F94 取消全部断点      Ctrl+Shift+F95  格式化一段代码     (1)选中代码. 剪切. 粘贴                 (2)选中代码,alt+F86 (VC++6.0)从

2014-10-16 17:48:26 368

转载 OnEraseBkGnd的使用

在OnEraseBkGnd中,如果你不调用原来缺省 的OnEraseBkGnd只是重画背景则不会有闪烁.而在OnPaint里面, 由于它隐含的调用了OnEraseBkGnd,而你又没有处理OnEraseBkGnd 函数,这时就和窗口缺省的背景刷相关了.缺省的 OnEraseBkGnd操作使用窗口的缺省背景刷刷新背景(一般情况 下是白刷),而随后你又自己重画背景造成屏幕闪动.

2014-10-16 16:44:11 654

转载 VC++动态链接库(DLL)编程

1.概论  先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。  静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该D

2014-10-16 15:16:40 241

原创 解决MFC做的工程项目刷新速度慢导致动画播放卡的问题

采用多个窗口绘画,把一些

2014-10-11 13:00:07 1450

原创 解决VS系列按ALT+G不能跳转问题

需要清理该工程内的,删除掉NCB文件,APS文件之类,重新生成,

2014-10-11 12:58:03 1601

原创 MFC 写艺术字

//艺术字体void CGameScore::DrawTextString(CD3DDevice * pD3DDevice, LPCTSTR pszString, D3DCOLOR crText, D3DCOLOR crFrame, LPRECT lpRect,UINT nFormat){//定义字体CD3DFont escapeFont;escapeFont.CreateFo

2014-09-19 17:07:45 1569

转载 宏CONTAINING_RECORD,根据成员指针获取结构体指针

宏CONTAINING_RECORD的用处其实还是相当大的, 而且很是方便, 它的主要作用是:    根据结构体中的某成员的指针来推算出该结构体的指针!  下面从一个简单的例子开始说起:  我们定义一个结构体, 同时类型化:typedef struct{ int a; int b; int c;}ss;  这是一个很简单的结构体, 没什么特殊的

2014-09-12 12:54:01 481

原创 简单实现窗口拖动

简单的实现窗口拖拽在OnLButtonDown中加上一句话。如下: void CTsDlg::OnLButtonDown(UINT nFlags, CPoint point)  { SendMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y));或者SendMessage( WM_NC

2014-08-29 19:16:14 457

原创 MFC 写文档的方法

void Debug(char *text,...){static DWORD num=0; char buf[1024]; FILE *fp=NULL; va_list ap; va_start(ap,text); vsprintf(buf,text,ap); va_end(ap); if(num == 0) { fp=fopen("文件名.log",

2014-08-29 19:14:01 285

转载 动态联编

基本:联编就是将模块或者函数合并在一起生成可执行代码的处理过程,同时对每个模块或者函数调用分配内存地址,并且对外部访问也分配正确的内存地址,它是计算机程序彼此关联的过程。按照联编所进行的阶段不同,可分为两种不同的联编方法:静态联编和动态联编。 静态联编是指在编译阶段就将函数实现和函数调用关联起来,因此静态联编也叫早绑定,在编译阶段就必须了解所有的函数或模块执行所需要检测的信息,它对函数

2014-08-29 19:08:54 803

转载 vs2003快捷键

Ctrl+l:删除当前行;    Ctrl+Enter:插入当前行:       shift+F7查看到设计器;       F7到代码:       开始运行,不调试:Ctrl+F5       重新生成解决方案:Ctrl+Shift+B       增加一个新项:Ctrl+Shift+A       到html设计器:Ctrl+PageDow

2014-08-29 19:08:50 314

原创 MFC 重写SKINGBUTTON类实现按钮上写文字和绘画图片

//实现#include "stdafx.h"#include "Prompt.h"#include ".\Prompt.h"//消息定义#define IDM_EXIT WM_USER+101//离开消息///////////////////////////////////////////////////////////////////////////

2014-08-29 19:03:56 472

原创 MFC 滑动条实现

//#include "Stdafx.h"#include "Math.h"#include "Resource.h"#include "GoldControl.h"#include ".\goldcontrol.h"////////////////////////////////////////////////////////////////////////////宏

2014-08-29 19:00:26 574

原创 vs实现输出

COUT输出#ifdef DEBUGAllocConsole();  freopen("CONOUT$","w+t",stdout);  freopen("CONIN$","r+t",stdin);  #endif 弹窗口在引擎类中添加此条语句可以帮助实现输出显示。char buffer[32];sprintf(buffer,"wChairIDTemp:

2014-08-25 11:56:49 1167

原创 MFC 转换数据的方法

//其他转化为TCHAR *类型的方法TCHAR szOutNumT[128] = {0};_sntprintf(szOutNumT,CountArray(szOutNumT),TEXT("%s"),szOutNum); //UNICODE和非UNICODE下数字字符串转化为数字的方法#ifdef _DEBUGLONGLONG bScoreNum=_wtol(szBuffe

2014-08-25 10:55:40 380

空空如也

空空如也

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

TA关注的人

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