- 博客(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 写艺术字
//艺术字体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关注的人