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窗体绘图
192 0
|
Web App开发 C++
c++ 实现不在同一程序内,在光标处(当前有焦点的窗体输入框)输入字符
c++ 实现不在同一程序内,在光标处(当前有焦点的窗体输入框)输入字符
112 1
|
数据安全/隐私保护 C++ Python
Qt RSA OpenSSL C++ Qt加密解密签字通信系统窗体源码
Qt RSA OpenSSL C++ Qt加密解密签字通信系统窗体源码
297 0
Qt RSA OpenSSL C++ Qt加密解密签字通信系统窗体源码
|
网络协议 C++ Python
Qt+C++ TCP发送接收信息客户端与服务端窗体
Qt+C++ TCP发送接收信息客户端与服务端窗体
155 0
Qt+C++ TCP发送接收信息客户端与服务端窗体
|
C++ 计算机视觉 Python
Qt+C++窗体界面中英文语言切换
这篇博客针对<<Qt+C++窗体界面中英文语言切换>>编写代码,代码整洁,规则,易读。 学习与应用推荐首选。
180 0
C++ 让窗体最大最小化
C++ 让窗体最大最小化
246 0
|
C++
VS C++改变窗体背景色
VS C++改变窗体背景色
151 0
|
27天前
|
存储 编译器 C语言
【c++丨STL】string类的使用
本文介绍了C++中`string`类的基本概念及其主要接口。`string`类在C++标准库中扮演着重要角色,它提供了比C语言中字符串处理函数更丰富、安全和便捷的功能。文章详细讲解了`string`类的构造函数、赋值运算符、容量管理接口、元素访问及遍历方法、字符串修改操作、字符串运算接口、常量成员和非成员函数等内容。通过实例演示了如何使用这些接口进行字符串的创建、修改、查找和比较等操作,帮助读者更好地理解和掌握`string`类的应用。
49 2