//设置头文件

#include "Gdiplus.h"
using namespace Gdiplus;
#pragma comment(lib,"Gdiplus.lib")

//在...app.h中

GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR           gdiplusToken;
//初始化

GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

//系统界面的消息循环

CGdiPlusTestDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();

//关闭gdiplus的环境
        GdiplusShutdown(gdiplusToken);

BOOL CGdiPlusTestDlg::UpdateWindow()
{

HDC hdc=::GetDC(m_hWnd);
    HDC hdcMem=::CreateCompatibleDC(hdc);
    HBITMAP hBmp=::CreateCompatibleBitmap(hdc,200,200);
    ::SelectObject(hdcMem,hBmp);

Graphics g(hdcMem);
    Image img(L"C://ClockBackchain1.png");

g.DrawImage(&img,0,0,200,200);

CRect rc;
    GetWindowRect(&rc);
    POINT ptWindow={rc.left,rc.top};
    SIZE szWindow={200,200};
    POINT ptSrc={0,0};

BLENDFUNCTION blend;
    blend.SourceConstantAlpha=255;
    blend.BlendFlags = 0;
    blend.BlendOp=0;
    blend.AlphaFormat=1;

DWORD dwExStyle=GetWindowLong(m_hWnd,GWL_EXSTYLE);
    if((dwExStyle&0x80000)!=0x80000)
        SetWindowLong(m_hWnd,GWL_EXSTYLE,dwExStyle^0x80000);

BOOL nRet =::UpdateLayeredWindow(m_hWnd,hdc,&ptWindow,&szWindow,hdcMem,
        &ptSrc,0,&blend,2);

::DeleteDC(hdcMem);
    ::ReleaseDC(m_hWnd,hdc);

return TRUE;
}

void CGdiPlusTestDlg::OnTimer(UINT nIDEvent)
{
    UpdateWindow();
    CDialog::OnTimer(nIDEvent);
}

UpdateLayeredWindow 绘制异型窗口相关推荐

  1. Windows核心编程_异型窗口(续)

    上一篇文章介绍的是使用SetLayeredWindowAttributes API来实现异型窗口,但是很明显效果很差劲,在剔除颜色的过程中凹凸边缘区域的像素点会剔除的非常不明显,在查找信息之后,得出的 ...

  2. GDI+用PNG图片做半透明异型窗口

    {*******************************************************} {                                          ...

  3. WPF绘制自定义窗口

    原文:WPF绘制自定义窗口 WPF是制作界面的一大利器,下面就用WPF模拟一下360的软件管理界面,360软件管理界面如下: 界面不难,主要有如下几个要素: 窗体的圆角 自定义标题栏及按钮 自定义状态 ...

  4. Windows核心编程_异型窗口

    异型窗口是Windows200在窗口中引入的WS_EX_LAYERED风格,并搭配:SetLayeredWindowAttributes API实现的,这里所说的异型窗口不是指椭圆型的窗口或三角型之类 ...

  5. qt自定义窗口,其绘制的窗口边框线显示不全

    引言 自定义窗口,该窗口包含标题栏,默认整个窗口的边框线为蓝色,当点击该窗口的时候,窗口的边框线便为红色.程序在运行的时候,窗口的边框线只显示了左右两边的线,没有显示上下边的线. 示例 效果: 解决方 ...

  6. 用户登录程序--绘制--遍历窗口

    1.文本框,静态文本,按钮 2.获取文本框信息: 1.不绑定变量,直接用成员函数或者API GetDlgItemText ::GetWindowText 2.绑定变量,使用UpdateData,给变量 ...

  7. D3D初学入门一(配置开发环境及绘制D3D窗口)

    最近一直接触的都是C#的东东,好久没写C++代码了,怕手生忘记了,打算写写C++的代码.写什么好呢?想来想去,以前的工作学过接触了些OpenGL,那我就学习一下D3D吧.原以为D3D的中文入门资料会很 ...

  8. Qt第四十一章:异型窗口

    目录 一.素材 二.利用PPT转成背景透明图片​编辑 三.剪裁一下去右下角的CSDN文字LOGO​编辑 四.将图片放到启动py文件同级目录leaf.png 五.代码 一.素材 二.利用PPT转成背景透 ...

  9. DirectX3D 11 总结 —— 1 绘制 win32 窗口

    directX 3D 是什么 DirectX 3D是一种应用程序的接口(API),它可让以windows为平台的游戏或多媒体程序获得更高的执行效率,加强3d图形和声音的效果,并提供设计人员一个共同的硬 ...

最新文章

  1. sql语句的简单记录
  2. 简单的PHP和MYSQL做投票系统_php mysql简单投票系统
  3. 关于Linux和Windows双系统共存时间问题
  4. linux设备支持ntfs类型U盘笔记
  5. Nginx的官方简介
  6. OpenShift 之 Quarkus(2)使用S2I部署Quarkus应用
  7. sudo报错案例-RHEL6
  8. Effective JavaScript Item 37 认识this的隐式指向
  9. WCF基础学习笔记--创建WCF服务
  10. IP地址的分类及子网划分
  11. Hessian学习(springboot环境)
  12. mysql 优化 整体思路
  13. 用python写网络爬虫-英文翻译
  14. 中国网游未来发展方向预测
  15. 《人类染色体与染色体病》学习笔记
  16. 【Web】lighttpd基础
  17. u深度制作linux启动盘制作工具,u深度u盘启动盘制作工具 v3.1.15.316
  18. 人生之路 — 成长轨迹
  19. java中常用的加密工具
  20. 计算机网考统考机考试操作题,计算机统考操作题常考题型

热门文章

  1. Oracle ORA-00904:invalid identifier 标识符无效
  2. (Oracle学习笔记) Oracle概述
  3. 微信二维码支付快速入门
  4. 简单工厂(SimpleFactory)模式简介
  5. oracle pivoting insert 用法简介
  6. 基于 ASK + EB 构建容器事件驱动服务
  7. 1.13 南京站 | 2022 开年 Serverless 沉浸式技术实践营开始报名
  8. 华为有了鸿蒙就可以翻身吗,鸿蒙2.0要来了,华为手机能靠此翻身吗?
  9. Linux环境安装JDK
  10. php编程用空格,shell 编程中空格的使用方法