//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常用的更多相关文章

  1. win32常用代码整理

    1.ShellExecute [Use ShellAPI] ShellExecute(Handle, 'open', 'http://www.cnblogs.com/lovelp/', nil, ni ...

  2. Win32汇编常用系统函数

    汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地 ...

  3. Win32汇编常用算数指令

    汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地 ...

  4. Win32中常用消息

    一 .WM_PAINT消息 1 WM_PAINT的产生   由于窗口的互相覆盖等,产生需要绘制的区域,那么会产生WM_PAINT消息. 一般情况下,不直接发送WM_PAINT消息,通过API声明需要绘 ...

  5. python常用命令—终端安装win32的两种方法

    1, pip install pywin32 2, pip install pypiwin32

  6. 初次认识 C# win32 api

    第一次接触win32api,刚开始的时候有点迷迷糊糊的. Windows API 就是windows应用程序接口. win api向上就是windows应用程序,向下就是windows操作系统核心. ...

  7. [转]python 常用类库!

    Python学习 On this page... (hide) 1. 基本安装 2. Python文档 2.1 推荐资源站点 2.2 其他参考资料 2.3 代码示例 3. 常用工具 3.1 Pytho ...

  8. Delphi常用关键字用法详解

    本文详细介绍了Delphi中常用的各个关键字名称及用法,供大家在编程过程中借鉴参考之用.详情如下: absolute: ? 1 2 3 4 5 6 7 8 9 10 //它使得你能够创建一个新变量, ...

  9. WindowsAPI开发常用资料

    主类 子类 功能 Win32API SHGetSpecialFolderLocation 获取系统特殊文件夹路径(SHGetSpecialFolderLocation) 通过 SHGetSpecial ...

随机推荐

  1. TLS握手

    http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html 1994年,NetScape公司设计了SSL协议(Secure Sockets Layer)的1 ...

  2. 指针,c语言的灵魂

    指针是一个值为内存地址的变量. 变量是一块内存空间,指针是变量,是用来存储内存地址的变量. #include <stdio.h> #include <stdlib.h> int ...

  3. iOS9中,swift判断相机,相册权限,选取图片为头像

    在iOS7以后要打开手机摄像头或者相册的话都需要权限,在iOS9中更是更新了相册相关api的调用 首先新建一个swift工程,在SB中放上一个按钮,并在viewController中拖出点击事件 ok ...

  4. 关于HTML与CSS与class

    在web前端开发中接触的一直是html.css.javascript. 在这个过程中,经常使用的是html中的span.div元素以及css的选择器. 为了方便查找在这里将这些内容的基础知识记录下来. ...

  5. iis 部署

    配置错误1: 由于权限不足而无法读取配置文件 建立一个新用户,分配所有权限 http://blog.csdn.net/jaychouliyu/article/details/7237143 配置错误2 ...

  6. ROS-Rviz-turtlebot3仿真信息查看

    前言:Rviz是ROS自带的一种3D可视化工具. 一.安装turtlebot3功能包 1.1 安装依赖包 sudo apt-get install ros-kinetic-joy ros-kineti ...

  7. 后台通过Request取得多个含有相同name的控件的值

    string[] arrWeight = context.Request.Params.GetValues("Quantity");

  8. ZBrush国庆中秋大放价,优惠提前享!

    没记错的话,上次的ZBrush活动应该是17年春节吧,悄么蔫地就把端午节等一系列节日忽略了,这让苦苦等待的小伙伴们情何以堪,这试用版用的也不得劲儿! 终于等到你,ZBrush官方消息称,17年中秋国庆 ...

  9. 记录——本地minikube安装ubuntu镜像总是报 Back-off restarting failed container问题 -已解决(更新)

    1.环境介绍 使用本机系统:macX minikube镜像:安装的阿里云提供的镜像(否则总是提示访问google的api,不FQ无法成功) 虚拟机情况:使用Virtual box 的虚拟机环境 min ...

  10. CF #487 (Div. 2) D. A Shade of Moonlight 构造_数形结合

    题意: 给 nnn个长度为 lll 且互不相交的开区间 (xi,xi+l)(x_{i}, x_{i}+l)(xi​,xi​+l) ,每个区间有一个移动速度 vvv,v∈1,−1v∈1,-1v∈1,−1 ...