WIN32常用

//1.设置窗口大小
MoveWindow(hWnd, 300, 200, 700 + 6, 600 + 28, FALSE);
//放在InitInstance用于设置位置与窗口大小
//传递句柄就可以绘图

//2.双缓冲绘图模式
void cDefense::DrawAll()
{
    HDC hDc = GetDC(m_hWnd);
    HDC dcMem = CreateCompatibleDC(hDc);
    //创建与hDc兼容的位图 即一片内存
    HBITMAP hBitmap = CreateCompatibleBitmap(hDc, 700, 600);
    //把这个位图与窗口dcMem绑定起来 即把这片内存与窗口dcMem绑定起来 对dcMem操作则为对这片内存的操作
    SelectObject(dcMem, hBitmap);
    //把所有的图像绘制到dcMem上
    DrawMap(dcMem);

    //把dcMem绘制到hDc上 Select后才能BitBlt
    BitBlt(hDc, 0, 0, 700, 600, dcMem, 0, 0, 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, 0, 0, LR_LOADFROMFILE);
    SelectObject(dcTemp, hBitmap);

    BITMAP bitInfo;
    GetObject(hBitmap, sizeof(BITMAP), &bitInfo);
    BitBlt(dcMem, 0, 0, bitInfo.bmWidth, bitInfo.bmHeight, dcTemp, 0, 0, SRCCOPY);

    DeleteObject(dcTemp);
    DeleteObject(hBitmap);
}//总结:创建窗口 创建位图 选定位图 获取位图信息 绑定位图
时间: 2024-10-19 08:21:34

WIN32常用的相关文章

win32常用代码整理

1.ShellExecute [Use ShellAPI] ShellExecute(Handle, 'open', 'http://www.cnblogs.com/lovelp/', nil, nil, SW_SHOW); 2.关于路径 ExpandFileName() 返回文件的全路径(含驱动器.路径) ExtractFileExt() 从文件名中抽取扩展名 ExtractFileName() 从文件名中抽取不含路径的文件名 ExtractFilePath() 从文件名中抽取路径名 Extr

Win32/MFC的基本概念

一.MFC的基本概念 单文档.多文档和对话框框架的区别 MFC中的类继承图的基本框架 CView类与CDocument的关系 Onpaint()和Ondraw()的关系 hdc-cdc区别联系 RUNTIME_CLASS是什么 DECLARE_DYNAMIC 和 IMPLEMENT_DYNAMIC DECLARE_DYNCREATE 和 IMPLEMENT_DYNCREATE DECLARE_SERIAL 和 IMPLEMENT_SERIAL RUNTIME_CLASS宏的定义是这样的: #de

使用win32 API 实现串行通信 (一)

本文基于wince平台,使用win32 API实现串行通信 1.打开和关闭串行端口 串行端口设备使用CreateFile函数打开,所使用的名称要遵循特定的格式,即3个字符 COM后紧跟要打开的COM端口号,再加个冒号,冒号是Windows CE所必需的. 如,hser=CreateFile(TEXT(“COM1:”),GENERIC_READ|GENERIC_WRITE,0, NULL,OPEN_EXISTING,0,NULL),为以可读可写的方式打开COM1端口. 调用CloseHandle函

Delphi常用关键字用法详解

absolute: ? 1 2 3 4 5 6 7 8 9 10 //它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同. var Str: string[32]; StrLen: Byte absoluteStr; //这个声明指定了变量StrLen起始地址与Str相同. //由于字符串的第0个位置保存了字符串的长度, 所以StrLen的值即字符串长度. begin Str := 'abc'; Edit1.Text := IntToStr(StrLen); end; abstr

Win32 Windows编程 九

资源的使用 1 资源文件 图标 光标 字符串 菜单  加速键 对话框资源位图等等 资源脚本文件 - 扩展名为RC文件 定义了资源和相关文件等信息 资源编译器 - RC.exe 2 图标资源 ICON 2.1 常用的几种大小: 16x16 ,32x32, 48x48 2.2 使用 HICON LoadIcon( HINSTANCE hInstance, // handle to application instance LPCTSTR lpIconName // name string or re

Visual Studio C++ Win32控制台应用程序,Win32项目,MFC的区别

背景 Visual Studio C++ 创建新项目蹦出来如下选项: Win32控制台应用程序,Win32项目,MFC有什么区别? 正文: Win32控制台,没有界面,命令行执行生成的文件则直接在后台运行,运行效果如下:生成的".exe"文件相当于Linux系统下用gcc编译出来一个".out"文件,直接运行操作即可,只有命令符,没有界面. Win32项目这个就有界面了,但是界面里面的控件,基本上要自己去实现. MFC项目这个也有界面,可是界面里面的控件就不需要自己

[转]python 常用类库!

Python学习 On this page... (hide) 1.?基本安装 2.?Python文档 2.1?推荐资源站点 2.2?其他参考资料 2.3?代码示例 3.?常用工具 3.1?Python IDE 3.2?内置类库使用参考 3.3?常用第三方类库 3.4?其他东西 3.5?有意思的东西 3.6?普通但没准有用的东西 (Edit Section ↓) 1.? 基本安装 http://www.python.org/ 官方标准Python开发包和支持环境,同时也是Python的官方网站:

C语言中常用计时方法总结

转自:http://blog.csdn.net/fz_ywj/article/details/8109368 C语言中常用计时方法总结 1. time() 头文件:time.h 函数原型:time_t time(time_t * timer) 功能:返回以格林尼治时间(GMT)为标准,从1970年1月1日00:00:00到现在的此时此刻所经过的秒数. 用time()函数结合其他函数(如:localtime.gmtime.asctime.ctime)可以获得当前系统时间或是标准时间. 用difft

常用EXE文件反编译工具

PE Explorer V1.99 R5 绿色汉化特别版_强大的可视化汉化集成工具 功能极为强大的可视化汉化集成工具,可直接浏览.修改软件资源,包括菜单.对话框.字符串表等: 另外,还具备有 W32DASM 软件的反编译能力和PEditor 软件的 PE 文件头编辑功能,可以更容易的分析源代码,修复损坏了的资源,可以处理 PE 格式的文件如:EXE.DLL.DRV.BPL.DPL.SYS.CPL.OCX.SCR 等 32 位可执行程序. 该软件支持插件,你可以通过增加插件加强该软件的功能, 原公