WIN32常用
//1.设置窗口大小
MoveWindow(hWnd, , , + , + , FALSE);
//放在InitInstance用于设置位置与窗口大小
//传递句柄就可以绘图 //2.双缓冲绘图模式
void cDefense::DrawAll()
{
HDC hDc = GetDC(m_hWnd);
HDC dcMem = CreateCompatibleDC(hDc);
//创建与hDc兼容的位图 即一片内存
HBITMAP hBitmap = CreateCompatibleBitmap(hDc, , );
//把这个位图与窗口dcMem绑定起来 即把这片内存与窗口dcMem绑定起来 对dcMem操作则为对这片内存的操作
SelectObject(dcMem, hBitmap);
//把所有的图像绘制到dcMem上
DrawMap(dcMem); //把dcMem绘制到hDc上 Select后才能BitBlt
BitBlt(hDc, , , , , dcMem, , , SRCCOPY);
ReleaseDC(m_hWnd, hDc);
DeleteObject(dcMem);
DeleteObject(hBitmap);
} void cDefense::DrawMap(HDC dcMem)
{
HDC dcTemp;
dcTemp = CreateCompatibleDC(NULL);
HBITMAP hBitmap = (HBITMAP)LoadImage(NULL, L"images\\maps\\bg.bmp", IMAGE_BITMAP, , , LR_LOADFROMFILE);
SelectObject(dcTemp, hBitmap); BITMAP bitInfo;
GetObject(hBitmap, sizeof(BITMAP), &bitInfo);
//无透明色贴上去
BitBlt(dcMem, , , bitInfo.bmWidth, bitInfo.bmHeight, dcTemp, , , SRCCOPY); DeleteObject(dcTemp);
DeleteObject(hBitmap);
}
//dcTemp是中间窗口 ,可以选择不同的窗口,一个窗口只能选择一张位图 然后可以贴到另一个窗口的某一个位置上
//总结:创建窗口 创建位图 选定位图 获取位图信息 绑定位图
//把一个窗口贴到另一个窗口的某一个位置有透明色
TransparentBlt(dcMem,it->x-bitInfo.bmWidth/,it->y-bitInfo.bmHeight/, bitInfo.bmWidth,bitInfo.bmHeight,dcTemp,,,
bitInfo.bmWidth,bitInfo.bmHeight,RGB(,,));
//获取当前鼠标位置
//参数LPARAM lParam
//包含头文件 #inlcude <windowsx.h>
tagPOINT ptCur;
ptCur.x = GET_X_LPARAM(lParam);
ptCur.y=GET_Y_LPARAM(lParam);
WIN32常用的更多相关文章
- win32常用代码整理
1.ShellExecute [Use ShellAPI] ShellExecute(Handle, 'open', 'http://www.cnblogs.com/lovelp/', nil, ni ...
- Win32汇编常用系统函数
汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地 ...
- Win32汇编常用算数指令
汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地 ...
- Win32中常用消息
一 .WM_PAINT消息 1 WM_PAINT的产生 由于窗口的互相覆盖等,产生需要绘制的区域,那么会产生WM_PAINT消息. 一般情况下,不直接发送WM_PAINT消息,通过API声明需要绘 ...
- python常用命令—终端安装win32的两种方法
1, pip install pywin32 2, pip install pypiwin32
- 初次认识 C# win32 api
第一次接触win32api,刚开始的时候有点迷迷糊糊的. Windows API 就是windows应用程序接口. win api向上就是windows应用程序,向下就是windows操作系统核心. ...
- [转]python 常用类库!
Python学习 On this page... (hide) 1. 基本安装 2. Python文档 2.1 推荐资源站点 2.2 其他参考资料 2.3 代码示例 3. 常用工具 3.1 Pytho ...
- Delphi常用关键字用法详解
本文详细介绍了Delphi中常用的各个关键字名称及用法,供大家在编程过程中借鉴参考之用.详情如下: absolute: ? 1 2 3 4 5 6 7 8 9 10 //它使得你能够创建一个新变量, ...
- WindowsAPI开发常用资料
主类 子类 功能 Win32API SHGetSpecialFolderLocation 获取系统特殊文件夹路径(SHGetSpecialFolderLocation) 通过 SHGetSpecial ...
随机推荐
- dns tunnel工具地址
- MVC/MVP/MVVM区别——MVVM就是angular,视图和数据双向绑定
摘自:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html 一.MVC MVC模式的意思是,软件可以分成三个部分. 视图(View):用户界面 ...
- 杂项-DB:数据库
ylbtech-杂项-DB:数据库 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“数据库”是以一定方式储存在一起.能与 ...
- c++面向对象程序设计 谭浩强 第二章答案
类体内定义成员函数 #include <iostream> using namespace std; class Time { public: void set_time(); void ...
- Post请求JSON格式数据,cookies获得
x.Ext.init(getApplication()); editText1= (EditText) findViewById(R.id.username); editText2= (EditTex ...
- python 一句话输出26个英文字母
chr(i) # return i character ord(c) # return integer >>> [chr(i) for i in range(97,123)] ['a ...
- SQL Server中怎样可以从SELECT语句的结果集中删除重复行
首先要分析出现重复记录的原因,是不是有一些where条件没有加上,把该加的条件都加上如果还有结果集重复,考虑以下方法去重: 结果集中去除重复行可以使用函数[distinct]也可以使用分组语句[gro ...
- vue <router-view>没有渲染
将routes中的components换成component
- hdu 1166 敌兵布阵 【线段树】
好好学一下线段树---- 从0开始----加油- 单点更新的 #include<cstdio> #include<cstring> #include<iostream&g ...
- iOS构建流畅的交互界面--CPU,GPU资源消耗的原因和解决方案
CPU资源消耗的原因和解决方案对象创建轻量对象代替重量对象* 不需要响应触摸事件的控件:CALayer显示* 对象不涉及UI操作,则尽量放到后台线程创建* 包含有CALayer的控件只能在主线程创建和 ...