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 ...
随机推荐
- Adding Kentico controls to the Visual Studio toolbox
https://docs.kentico.com/k10/references/kentico-controls https://docs.kentico.com/k10/references/ken ...
- 杂项-Java:Spring
ylbtech-杂项-Java:Spring Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.Spring是于200 ...
- 匹配替换指定文本为html标签
最近看了一道前端面试题,是关于正则的,用尽可能低复杂度的函数,匹配替换指定文本为html标签,题目是这样的: 特定语法匹配替换 说明:匹配字符串中形如 =g文字文字= 的语法,并将相应部分转化为对应的 ...
- 知网下载pdf文件的方法
title: 知网下载pdf文件的方法 toc: false date: 2018-11-02 17:54:43 categories: methods tags: 知网 平时我们使用的是国内版的知网 ...
- ROS-package.xml文件标签解读
前言:package.xml是一个XML文件名为package.xml中必须包括与任何兼容包的根文件夹.此文件定义有关包的属性,例如包名称,版本号,作者,维护者以及其他catkin包的依赖关系. 标签 ...
- DirectUI界面编程(一)创建第一个应用
1.获取Duilib库文件 通过上一节大家对DirectUI界面设计有了初步的了解,本节开始我们一起学习Duilib界面库的使用. 首先我们需要获取Duilib库,目前最新版本为2.0,最新版本源码托 ...
- 配置 Windows Phone 8.1通过Fiddler代理上网
第一部分,共享笔记本无线网络 前提条件: 1)笔记本一台(双网卡(有线+无线网卡) 2)网络适配器中有2张网卡: 有线连接,名称Ethernet(必须已插上有线网络,且可以上网) 无线连接,名称Wi- ...
- Imperative programming
In computer science, imperative programming is a programming paradigm that uses statements that chan ...
- 鼠标悬浮触发事件(onmouseover)实现
将鼠标移至(悬浮)到某个标签范围内触发事件或提示消息等效果实现的关键词为:onmouseover. 代码: <!DOCTYPE html> <html> <head> ...
- 使用ECharts制作图形时,如何设置指定图形颜色?
使用ECharts制作图形时,图形颜色是默认的颜色,有时需求需要指定图形颜色,这就需要自己去设置. 在option下的series属性中设置itemStyle,如下所示: itemStyle: { n ...