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窗体绘图
173 0
|
Web App开发 C++
c++ 实现不在同一程序内,在光标处(当前有焦点的窗体输入框)输入字符
c++ 实现不在同一程序内,在光标处(当前有焦点的窗体输入框)输入字符
103 1
|
数据安全/隐私保护 C++ Python
Qt RSA OpenSSL C++ Qt加密解密签字通信系统窗体源码
Qt RSA OpenSSL C++ Qt加密解密签字通信系统窗体源码
252 0
Qt RSA OpenSSL C++ Qt加密解密签字通信系统窗体源码
|
网络协议 C++ Python
Qt+C++ TCP发送接收信息客户端与服务端窗体
Qt+C++ TCP发送接收信息客户端与服务端窗体
125 0
Qt+C++ TCP发送接收信息客户端与服务端窗体
|
C++ 计算机视觉 Python
Qt+C++窗体界面中英文语言切换
这篇博客针对<<Qt+C++窗体界面中英文语言切换>>编写代码,代码整洁,规则,易读。 学习与应用推荐首选。
164 0
|
C++ 容器
C/C++ Qt MdiArea 多窗体组件应用
MDI多窗体组件,主要用于设计多文档界面应用程序,该组件具备有多种窗体展示风格,其实现了在父窗体中内嵌多种子窗体的功能,使用MDI组件需要在UI界面中增加mdiArea控件容器,我们所有的窗体创建与操作都在这个容器内进行,如下我们将具体介绍该组件的常用使用技巧。
C/C++ Qt MdiArea 多窗体组件应用
C/C++ Qt TabWidget 实现多窗体创建
在开发窗体应用时通常会伴随分页,TabWidget组件配合自定义Dialog组件,可实现一个复杂的多窗体分页结构,此类结构也是ERP等软件通用的窗体布局方案。
C/C++ Qt TabWidget 实现多窗体创建
C++ 让窗体最大最小化
C++ 让窗体最大最小化
235 0
|
C++
VS C++改变窗体背景色
VS C++改变窗体背景色
146 0
|
5天前
|
存储 编译器 对象存储
【C++打怪之路Lv5】-- 类和对象(下)
【C++打怪之路Lv5】-- 类和对象(下)
15 4