zoukankan      html  css  js  c++  java
  • 选择图标

    介绍 本文的介绍是:“一旦开发向导程序我需要一个对话框来选择一个图标从可执行文件,但没有发现任何关于图标选择在MSDN。所以我有搜索图标选择CodeProject上,发现两篇文章。第一个解决方案,通过PJ零(文章CIconDialog -图标选择对话框),使用CDialog派生类模板对话框资源选择对话框显示图标和处理它的行为,第二,Henk•狄维士(如何显示条选择图标对话框),使用非法Windows API函数来显示系统内置的图标选择对话框。我更喜欢使用Windows API即使非法拖资源,所以写了一个很小的类,可用来包装Henk狄维士发布的API。 但现在这是二十一世纪甚至无证功能成为记录。最后微软包括函数名我们进口的序数62二5.0出口。它的名字叫PickIconDlg只有UNICODE版本可以从Windows 2000。但是兼容性我们应该进口的顺序使用Windows NT4.0下,Windows 95/98和我使用ANSI在Windows 2000或更高版本。 示例使用 CIconDialog来源于CCommonDialog,就像任何普通对话框。看到示例用法:隐藏,收缩,复制Code

    //
    #ifndef __ICONDLG_H__
        #include "IconDialog.h"
    #endif
    //...
    void CSomeDialog::OnSomeBtnClicked( void ) 
    {
        // If icon container file is not specified in the parameter
        // then by default it will open Shell32.dll file:
        // CIconDialog dlg( NULL, 0, this );
        //
        // You can specify any initial file name and icon index ( if exist ).
        // In this case it will open index + 1 icon
         // ( index is 0 - based ) selected:  
        
        CIconDialog dlg( _T( "%SystemRoot%\system32\SHELL32.dll" ), 
            148, this );
    
        if( dlg.DoModal() == IDOK  )
        {
            HICON hIcon = dlg.GetIconHandle();
            SetIcon( hIcon, FALSE );
        
            // Or:
            // HICON hIcon = ::ExtractIcon( AfxGetInstanceHandle(), 
            //          dlg.GetIconFile(), dlg.GetIconIndex() );
        }
        
    }
    //...

    看到演示项目来源。 类成员 基类 CCommonDialog 数据成员 m_szIconFile——指定文件名称的图标。 m_dwIconIndex指数——指定图标。 m_hIconHandle -包含图标处理(最后打开)。 m_uIconCount——在一个文件图标数。 建设 构造一个CIconDialog对象。 CIconDialog (LPCTSTR lpszIconFile = NULL, DWORD dwIconIndex = 0, CWnd * pParentWnd = NULL) lpszIconFile——最初的图标库的图标应该在对话框中打开。 dwIconIndex图标指数最初时选择的对话框打开。 pParentWnd——一个指针指向文件对话框对象的父母或所有者窗口。 操作 DoModal(空白)——显示对话框,允许用户选择。 GetIconHandle (void) const -返回最后的处理选择的图标。 GetIconCount(空白)const -返回图标数选择的图标文件。 GetIconIndex(空白)const -返回的索引选择图标。 GetIconFile(空白)const -返回选中的图标文件的完整路径。 笔记 这个类编译在4级没有任何警告,并完全支持ANSI和UNICODE。 版本需求 最后微软包括支持API函数这类使用二5.0或更高版本。所以我们没有问题下失踪的顺序使用这个类的: Windows 2000 Pro /服务器- NT 5.0.2195 / SP1 / SP2和SP3 / SP4 Windows XP专业- NT 5.1.2600 / SP1 Windows 2003 Server - NT 5.2标准/企业/数据中心/ Web版 而进口的顺序,这类测试,跑下正确: Windows 95 OSR2——4.00.950B Windows 98 - 4.10.1998 Windows 98 SE - 4.10.2222A(第二版) Windows Me - 4.90.3000 Windows NT 4.0工作站与SP - NT 4.0.1381 6我 这不是测试(尽管预期正常运行): Windows 95 - 4.00.950 Windows 95 SP1——4.00.950A Windows 95 OSR 2.5 - 4.00.950C Windows NT 4.0工作站- NT 4.0.1381 SP1-SP5 Windows NT 4.0服务器- NT 4.0.1381 SP1-SP6i 如果有人在上述测试版本的Windows,请回复。 版本历史 2002年3月27日发布了这篇文章。 2002年11月04 -添加支持MFC 6.0和7.0,一些代码更改。 2003年5月24日——有些代码更改。——添加更详细的版本支持。 2004年3月29日,添加新的PickIconDlg函数信息。 本文转载于:http://www.diyabc.com/frontweb/news3599.html

  • 相关阅读:
    阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_3 Mybatis中编写dao实现类的使用-修改删除等其他操作
    阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_2 Mybatis中编写dao实现类的使用-保存操作
    阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_1 Mybatis中编写dao实现类的使用方式-查询列表
    阶段3 1.Mybatis_05.使用Mybatis完成CRUD_9 Mybatis中的返回值深入-解决实体类属性和数据库列名不对应的两种方式
    阶段3 1.Mybatis_05.使用Mybatis完成CRUD_8 Mybatis中的返回值深入-调整实体类属性解决增和改方法的报错
    阶段3 1.Mybatis_05.使用Mybatis完成CRUD_7 Mybatis中参数的深入-使用实体类的包装对象作为查询条件
    阶段3 1.Mybatis_05.使用Mybatis完成CRUD_6 Mybatis的CRUD-保存操作的细节-获取保存数据的id
    strace命令【转】
    I2S协议
    自动登录脚本
  • 原文地址:https://www.cnblogs.com/Dincat/p/13461189.html
Copyright © 2011-2022 走看看