VS C++改变窗体背景色

简介: VS C++改变窗体背景色

可以简单的设置rgb/w/h的值。


static void changeBackground(HWND hwnd)
{
   /*
    RECT rect;
    GetClientRect(hwnd, &rect);
    int cxClient = rect.right;
    int cyClient = rect.bottom;
  */
    HDC hdc = GetDC(hwnd);//获取当前的显示设备上下文
    int w = 200;
    int h = 100;
    char* rgb = (char*)malloc(3*w*h);
    for (int i=0; i<w*h; i++)
    {
        rgb[i*3+0] = 0x12;
        rgb[i*3+1] = 0x78;
        rgb[i*3+2] = 0x34;
    }
    HDC  hdcsource = CreateCompatibleDC(NULL);//创建存放图象的显示缓冲
    HBITMAP bitmap = CreateCompatibleBitmap(hdc, w, h);
    SelectObject(hdcsource, bitmap); //将位图资源装入显示缓冲
    SetStretchBltMode(hdcsource, COLORONCOLOR);
    BITMAPINFO bmi;
    bmi.bmiHeader.biSize         = sizeof(BITMAPINFOHEADER);
    bmi.bmiHeader.biWidth        = w;
    bmi.bmiHeader.biHeight       = h;
    bmi.bmiHeader.biCompression  = BI_RGB;
    bmi.bmiHeader.biBitCount     = 24;
    bmi.bmiHeader.biPlanes       = 1;
    bmi.bmiHeader.biClrUsed      = 0;
    bmi.bmiHeader.biClrImportant = 0;
    bmi.bmiHeader.biSizeImage    = 0;
    StretchDIBits(hdcsource,
        0, 0, w, h,
        0, 0, w, h,
        rgb, &bmi,DIB_RGB_COLORS, SRCCOPY);
    BitBlt(hdc,0,0,w,h, hdcsource,0,0,SRCCOPY);//将图象显示缓冲的内容直接显示到屏幕
    DeleteObject(bitmap);
    DeleteDC(hdcsource);
    ReleaseDC(hwnd, hdc);
    free(rgb);
}
目录
相关文章
|
C++ 计算机视觉 Python
C++曲线图折线图Qt窗体绘图
C++曲线图折线图Qt窗体绘图
183 0
|
Web App开发 C++
c++ 实现不在同一程序内,在光标处(当前有焦点的窗体输入框)输入字符
c++ 实现不在同一程序内,在光标处(当前有焦点的窗体输入框)输入字符
106 1
|
数据安全/隐私保护 C++ Python
Qt RSA OpenSSL C++ Qt加密解密签字通信系统窗体源码
Qt RSA OpenSSL C++ Qt加密解密签字通信系统窗体源码
268 0
Qt RSA OpenSSL C++ Qt加密解密签字通信系统窗体源码
|
网络协议 C++ Python
Qt+C++ TCP发送接收信息客户端与服务端窗体
Qt+C++ TCP发送接收信息客户端与服务端窗体
138 0
Qt+C++ TCP发送接收信息客户端与服务端窗体
|
C++ 计算机视觉 Python
Qt+C++窗体界面中英文语言切换
这篇博客针对<<Qt+C++窗体界面中英文语言切换>>编写代码,代码整洁,规则,易读。 学习与应用推荐首选。
170 0
C++ 让窗体最大最小化
C++ 让窗体最大最小化
240 0
|
C++
VS C++改变窗体背景色
VS C++改变窗体背景色
147 0
|
8天前
|
存储 编译器 C++
【c++】类和对象(中)(构造函数、析构函数、拷贝构造、赋值重载)
本文深入探讨了C++类的默认成员函数,包括构造函数、析构函数、拷贝构造函数和赋值重载。构造函数用于对象的初始化,析构函数用于对象销毁时的资源清理,拷贝构造函数用于对象的拷贝,赋值重载用于已存在对象的赋值。文章详细介绍了每个函数的特点、使用方法及注意事项,并提供了代码示例。这些默认成员函数确保了资源的正确管理和对象状态的维护。
36 4