zoukankan      html  css  js  c++  java
  • 合并两个ICON

          记得 Windows 里的快捷方式么,将你的程序拖到桌面上建立一个快捷方式,不论程序用的是什么IconMicrosoft都会在Icon左下脚加上一个小小的箭头,很好玩是不是?下面我提供两种方式来实现这种效果:

    1. 直接利用HICON CreateIconIndirect ( PICONINFO piconinfo );

    HICON CombineIcon(
                     HICON hBaseIcon, 
    //底层Icon,yi:xFc(`WDM教育N=yz"放在下面的那个

                     HICON hTopIcon, 
    //上层Icon,盖在上面的那个
                     

                     
    int iWidth, //Icon的宽度

                     
    int iHeight, //Icon的高度

                     COLORREF colorkey
    //透明色

                     )
    {
        HDC hdc 
    = GetDC(NULL);

        //建立一个兼容DC,用于作图

        HDC memdc 
    = CreateCompatibleDC(hdc);

         //注意,这里的参数dc不能为兼容dc,否则就是单色位图

        HBITMAP membmp 
    = (HBITMAP)CreateCompatibleBitmap(hdc, 3232);

        HBITMAP oldbmp 
    = (HBITMAP)SelectObject(memdc, membmp);

        HBRUSH br 
    = (HBRUSH)GetStockObject(colorkey);    
        
        RECT rect;
        rect.left 
    = 0;
        rect.right 
    = 32;
        rect.top 
    = 0;
        rect.bottom 
    = 32;

        SelectObject(memdc, br);

        //填充透明色

        FillRect(dc, 
    &rcct, br); 


        DrawIconEx(memdc, 
    00, hBaseIcon, iWidth, iHeight0, NULL, DI_NORMAL);  

        DrawIconEx(memdc, 
    00, hTopIcon , iWidth, iHeight0, NULL, DI_NORMAL);
       
         //保持图片

        SelectObject(memdc, oldbmp);

        ICONINFO info;

        info.fIcon 
    = true;
        info.hbmMask 
    = CreateBitmap(323211, NULL);
        info.hbmColor 
    = membmp;

        return
     CreateIconIndirect(&info);


    }


    2. 利用ImageList.ExtractIcon 将bitmap 转化成Icon



  • 相关阅读:
    python之闭包,装饰器
    python之函数名称空间,作用域,嵌套函数
    python之函数基础
    Python之文件操作
    Linux之系统优化配置
    VMware安装CentOS操作系统详细步骤
    拷贝、浅拷贝、深拷贝解答
    python之字符串,列表,字典,元组,集合内置方法总结
    东方超环(EAST)世界纪录
    Vue通信、传值的多种方式,详解(都是干货)
  • 原文地址:https://www.cnblogs.com/Jianchidaodi/p/560776.html
Copyright © 2011-2022 走看看