摘要: GDI+ 的使用、1.在你将要使用GDI+的工程中,完成初始化工作,将以下代码加入StdAfx.h头文件中://加入的头文件#include <comdef.h>//初始化一下com口#ifndef ULONG_PTR#define ULONG_PTR unsigned long*#include "GdiPlus.h"using namespace Gdiplus;#endif#pragma comment(lib,"gdiplus.lib")2.在程序初始化部分加入//gdi+用到的两个变量 装载gdi+ GdiplusStartupIn 阅读全文
posted @ 2010-06-16 14:25 BuildNewApp 阅读(5475) 评论(0) 推荐(1) 编辑
摘要: 一、插入图片到资源:如ID为(IDB_BMP),在这里可以插入256色、16位色或更高色的图片。二、为按钮添加一个变量,类型为:CBitmapButton(需要手动改)三、在初始化程序中加入如下代码:((CBitmapButton *)GetDlgItem(按钮的ID))->LoadBitmaps(按钮可用时显示图片的ID,按钮可用时按下按钮的ID,按钮不可用时显示图片的ID,按钮不可用时按下按钮的ID);((CBitmapButton *)GetDlgItem(按钮的ID))->Invalidate(true);((CBitmapButton *)GetDlgItem(按钮的ID 阅读全文
posted @ 2010-06-09 19:46 BuildNewApp 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 发现程序2编译之后所得的.exe文件比程序1的要大得多。发现在程序1.asm中ar的定义如下: _BSS SEGMENT ?ar@@3PAHA DD 0493e0H DUP (?) ; ar _BSS ENDS 而在程序2.asm中,ar被定义为: _DATA SEGMENT ?ar@@3PAHA DD 01H ; ar DD 02H DD 03H ORG $+1199988 _DATA ENDS区别很明显,一个位于.bss段,而另一个位于.data段,两者的区别在于:全局的未初始化变量存在于.bss段中,具体体现为一个占位符;全局的已初始化变量存于.data段中;而函数内的自... 阅读全文
posted @ 2010-06-02 15:29 BuildNewApp 阅读(469) 评论(0) 推荐(0) 编辑
摘要: C/C++内存与运行时深入研究 ----------------------------------------------------------------------------------- (一)整数符号的陷阱 (二)浮点数的本质 (三)堆栈的内存管理结构 (四)符号解析 (五)对齐和总线错误 (六)函数指针 (七)虚函数的实现机理 (八)引用的实现机理 (九)虚拟继承对象的内存结构 (十)混合编程时的初始化顺序 (十一)数组和指针的异同 (十二)const限定的传递性 (十三)数据类型的限定性检查 (十四)使用STL时的类型限制 (十五)迭代器自身的类... 阅读全文
posted @ 2010-06-02 15:28 BuildNewApp 阅读(569) 评论(0) 推荐(0) 编辑
摘要: 包含透明色的位图的绘制方法有多种,最简单的方法是调用现成的函数:TransparentBlt,也可以通过自己的代码实现类似TransparentBlt的功能,实现过程也有两种形式,一种是事先做一张掩码位图,另一种是动态生成掩码位图。本文将介绍动态生成掩码位图绘制具有透明区域位图的方法。一、TransparentBlt 函数的使用 TransparentBlt 函数在Windows98/Windows2000以上版本运行,系统中需要包含 Msimg32.dll,使用时可以链接 Msimg32.lib。 Windows98下的TransparentBlt会产生资源泄漏,所以不建议在WIN98下使. 阅读全文
posted @ 2010-06-01 12:49 BuildNewApp 阅读(3428) 评论(0) 推荐(1) 编辑
摘要: 一、简介: 象flashget、迅雷、BT等都有浮动窗口,能详细地显示下载的详细信息,该类型的窗口有一下几个特点:1、窗口无标题栏,窗口的大小跟位图一样大。2、前端显示。3、在客户区内按下鼠标左键可以随意拖动窗口的位置。4、可以改变窗口的透明度。5、双击可以将主窗口激活,并显示。下面就该类型窗口的各个功能实现予以说明。 二、代码的详细说明: 1、窗口无标题栏,窗口的大小跟位图一样大。建立一个对话框资源,设置为POPUP类型,并取消Title Bar属性。在上面插入一个图片控件,设置为导入的位图。//得到位图 CBitmap m_Bitmap; HBITMAP hBitmap = m_L... 阅读全文
posted @ 2010-06-01 11:20 BuildNewApp 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 禁止拖动对话框方法:在WM_HITTEST对应的消息处理函数OnNcHitTest中直接返回TRUE, 或者当指向对话框标题栏时,返回客户区的值HTCLIENT例子:UINT CWelcomeDlg::OnNcHitTest(CPoint point) { // TODO: Add your message handler code here and/or call default return HTCLIENT; }拖动对话框方法:在WM_HITTEST对应的消息处理函数OnNcHitTest中, 当指向对话框客户区时,返回标题区的值HTCAPTION例子:UINT CDlg::O... 阅读全文
posted @ 2010-06-01 11:17 BuildNewApp 阅读(1736) 评论(0) 推荐(0) 编辑
摘要: 出道的高手一般很少计较手中的语言,倒是刚入门的新手津津乐道。唐代禅宗大师青原行思曾提出参禅的三重境界: 参禅之初,看山是山,看水是水; 禅有悟时,看山不是山,看水不是水; 禅中彻悟,看山仍然是山,看水仍然是水; 其实,我们学习编程语言又何尝不是如此呢? 学之初,怀着对编程的好奇与新鲜,对语言和开发都用一种童真的眼光来看待,程序在眼里都被还原成本原的东西,山就是山,水就是水.对许多代码懵懵懂懂,却固执地相信所见到的就是最真实的,相信变成不过如此,并对语言有一种信徒般的崇拜,最终在学习和实践中处处碰壁,并产生对学习的前途的怀疑. 学习中,红尘的诱惑,开发中的Bug和技术的门槛,学习的并非都是有.. 阅读全文
posted @ 2010-05-31 07:26 BuildNewApp 阅读(283) 评论(0) 推荐(0) 编辑
摘要: #include "Player.h"SoccerCommand Player::deMeer5_Midfielder(){SoccerCommand soc(CMD_ILLEGAL);if (WM->isBeforeKickOff()){ if (formations->getFormation() != FT_INITIAL || // not in kickoff formation WM->getAgentGlobalPosition().getDistanceTo(WM->getStrategicPosition()) > 2.0) 阅读全文
posted @ 2010-05-29 09:33 BuildNewApp 阅读(295) 评论(0) 推荐(0) 编辑
摘要: #include "Player.h"SoccerCommand Player::deMeer5_Defender(){SoccerCommand soc(CMD_ILLEGAL);if (WM->isBeforeKickOff()){ // if not in kickoff formation, teleport to kick_off formation if (formations->getFormation() != FT_INITIAL || WM->getAgentGlobalPosition().getDistanceTo(WM->g 阅读全文
posted @ 2010-05-29 09:33 BuildNewApp 阅读(494) 评论(0) 推荐(0) 编辑