怎样得到其他程序窗体的ICON? (请注意:是窗体)

ffish 2000-04-19 03:13:00
我需要得到其他程序窗体的ICON, 我用SendMessage( hWnd, WM_GETICON, ICON_SMALL, 0 )或GetIcon( FALSE )函数都只能得到资源管理器等极少数的应用程序的ICON, 而其他大多数程序窗体则返回NULL. 真是困惑死了...
我知道可以通过程序文件名来得到ICON, 但我想直接从窗体里得到,我想也应该得的到,希望大侠们不吝赐教!分数都好商量,:)
...全文
92 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
longx 2000-04-19
  • 打赏
  • 举报
回复
这样试试,不知行不行,
得到窗口句柄后,最小化该窗口(如果没有该属性加上),
发消息WM_QUERYDRAGICON,该消息返回窗口图标句柄,
然后返回.
ffish 2000-04-19
  • 打赏
  • 举报
回复
zengyee 老兄,多谢,不过你还是没有回答我的问题,
“我知道可以通过程序文件名来得到ICON, 但我想直接从窗体里得到”
比如一个程序可以有好多窗体,每个窗体的ICON可能不同,这时用您的方法就无能为力了
而且这种方法要进行文件操作,效率较低。另外一个方法ExtractIcon()也与此类似。

再次感谢,并希望诸位大侠救命
zengyee 2000-04-19
  • 打赏
  • 举报
回复
可采取两种方法:
(1) SDK函数SHGetFileInfo或使用ExtractIcon获得图标资源的
handle,
(2) SDK函数SHGetFileInfo获得有关文件的很多信息,如大小图标,属
性,
类型等.
Example(1):在程序窗口左上角显示NotePad图标.

void CSampleView: OnDraw(CDC * pDC)
{
if( :: SHGetFileInfo(_T("c:\\pwin95\\notepad.exe"),0,
&stFileInfo,sizeof(stFileInfo),SHGFI_ICON))
{
pDC ->DrawIcon(10,10,stFileInfo.hIcon);
}
}
Example(2):同样功能,Use ExtractIcon Function

void CSampleView:: OnDraw(CDC *pDC)
{
HICON hIcon=:: ExtractIcon(AfxGetInstanceHandle(),_T
("NotePad.exe"),0);

if (hIcon &&hIcon!=(HICON)-1)
pDC->DrawIcon(10,10,hIcon);
}
说明:获得notepad.exe的路径正规上来说用GetWindowsDirectory函数
得到,
如果是调用win95下的画笔,应该用访问注册表的方法获得其路径,要
作成一个
比较考究的程序,考虑应该全面点.
JS学习笔记相关文档 Login.html学习 placeholder 属性规定可描述输入字段预期值的简短的提示信息(比如:一个样本值或者预期格式的短描述)。 该提示会在用户输入值之前显示在输入字段中。 注意:placeholder 属性适用于下面的 input 类型:text、search、url、tel、email和password。 测试样例参见test/placeholder.html 局部刷新 class="toolbar clearfix" ToolBar  隐藏掉系统原先的导航栏 clearfix 主要是用在浮动层的父层,而 clear 主要是用在浮动层与浮动层之间,和浮动层同一级,如果想要撑开父层的高度,clear 就要放在最后。 Bootstrap 模态框(Modal)插件 模态框(Modal)是覆盖在父窗体上的子窗体。通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动。子窗体可提供信息、交互等。 如果需要引用该插件功能,需要引入modal.js OR bootstrap.js OR bootstrap.min.js 用法:通过 data 属性在控制器元素(比如按钮或者链接)上设置属性data-toggle="modal",同时设置 data-target="#identifier"或href="#identifier"来指定要切换的特定的模态框(带有 id="identifier")。 测试样例参见test/Modal.html function($) javascript中(function($){...})(jQuery)写法是指的是是匿名函数。 function(arg){...}这也定义了一个匿名函数,参数为arg。 测试样例参见test/AnonymousFunction.html .navbar-fixed-top使导航条固定在顶部 Index.html学习 Font Awesome 图标 Font Awesome 是一套绝佳的图标字体库和CSS框架。 Font Awesome 字体为您提供可缩放矢量图标,它可以被定制大小、颜色、阴影以及任何可以用CSS的样式。 如果需要该插件功能,需要引入font-awesome.css OR font-awesome.min.css <html> <head> <link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/4.7.0/css/font-awesome.css"> </head> <body>
  • List icons
  • List icons
  • List icons
  • 2、动态图标 3、旋转和翻转的图标 4、图标抖动√ <!-- 测试图标抖动--> 测试

    经测试:图标抖动与bootstrap.min.css;font-awesome.min.css;ace.min.css相关联

    测试样例参见test/tubiao2.html PS:fa-angle-double-down双箭头向下指示的图标,展开操作时用。 任务折叠+进度控制 主要是li标签的循环嵌套,浮于上层的列表需要引入jquery-2.1.4.min.js,bootstrap.min.js以使用dropdown等属性实现展开与折叠特性 进度控制, 除了使用
    直接控制进度条的长度外,还可以使用如下功能: 以实现进度条的变更控制,从后台获取数据,并计算其百分比并显示在前端。 分别使用progress-bar,progress-bar-warning,progress-bar-danger,progress-bar-success表示其安全与否等级。 测试样例分别参见test/liTag.html, test/progress.html 评论与回复 评论区的滚动:设置定量高度,在文字被排满的情下,自动加入滚动条
    <input type="text" id="test"/><input type='button' value='提交' [removed] function fun(){ var str = document.getElementById("test").value; var divs = document.getElementsByTagName("div"); for(i=0;i"; } }} [removed] 可实现评论提交功能。 也可通过与后台交互的方式,如发送post求,提交给后台,后台审核通过后,通过servlet机制再传送给前端。 测试样例分别参见test/comment.html, test/comment2.html

    16,471

    社区成员

    发帖
    与我相关
    我的任务
    社区描述
    VC/MFC相关问题讨论
    社区管理员
    • 基础类社区
    • Web++
    • encoderlee
    加入社区
    • 近7日
    • 近30日
    • 至今
    社区公告

            VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
            向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
            我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

    试试用AI创作助手写篇文章吧