zoukankan      html  css  js  c++  java
  • 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); }
    //dcTemp是中间窗口 ,可以选择不同的窗口,一个窗口只能选择一张位图 然后可以贴到另一个窗口的某一个位置上
    //总结:创建窗口 创建位图 选定位图 获取位图信息 绑定位图
    //把一个窗口贴到另一个窗口的某一个位置有透明色
    TransparentBlt(dcMem,it->x-bitInfo.bmWidth/2,it->y-bitInfo.bmHeight/2,       bitInfo.bmWidth,bitInfo.bmHeight,dcTemp,0,0,
        bitInfo.bmWidth,bitInfo.bmHeight,RGB(34,177,76));
    //获取当前鼠标位置
    //参数LPARAM lParam
    //包含头文件 #inlcude <windowsx.h>
    tagPOINT ptCur;
    ptCur.x = GET_X_LPARAM(lParam);
    ptCur.y=GET_Y_LPARAM(lParam);
  • 相关阅读:
    codeforces 814B An express train to reveries
    codeforces 814A An abandoned sentiment from past
    codeforces 785D D. Anton and School
    codeforces 785C Anton and Fairy Tale
    codeforces 791C Bear and Different Names
    AOP详解
    Spring集成JUnit测试
    Spring整合web开发
    IOC装配Bean(注解方式)
    IOC装配Bean(XML方式)
  • 原文地址:https://www.cnblogs.com/xiaochi/p/5142519.html
Copyright © 2011-2022 走看看