大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 程序开发 -> 随心所欲改变窗口的图标

随心所欲改变窗口的图标

时间: 2021-07-31 作者:daque

苏州市西塘南巷 沈建新---- 在运用vc++5.0开拓运用步调时,咱们大概须要变换框架窗口(囊括主框架窗口和子框架窗口)的图标,而不是运用vc为你仍旧筹备好了的、很丑陋的谁人图标。但笔者参考了很多书本、材料,却没有找就任何报告怎样去变换窗口图目标本领的作品(大概很多人觉得这基础就不犯得着一提),让很多入门者无从发端。笔者过程试验,创造了以次两个变换框架窗口图目标本领。运用本领一不妨在编写运用步调时指定框架窗口的图标,运用本领二不妨在步调运转时按照须要动静地变换窗口的图标。即使把这两个本领贯串起来,就不妨随心所欲改变窗口的图标。 ---- 本领一、在编制程序时指定窗口的图标 ---- 一、即使是指定主框架窗口的图标,其办法如次: 创造或打动工程icon(以次都以工程名为icon为例)。 单击workspace窗口的resourceview标签,选中资源id为idr_mainframe图标资源,而后按delete键把它简略掉。提防:确定要把它简略才行。 从developer studio的insert菜单中采用resource,而后采用icon,兴建(new)一个新的图标或导出(import)一个已有的图标。 把新图目标资源id改为afx_idi_std_mdiframe(即使是mdi运用步调)或改为afx_idi_std_frame(即使是sdi运用步调)。afx_idi_std_mdiframe和afx_idi_std_frame这两个资源id是mfc中预订义了的。 编写翻译并运路途序,不妨创造主框架窗口的图标即是你指定的图标。---- 二、即使是指定mdi子框架窗口的图标,其办法与上述一致。 同上。创造或打动工程icon。 简略资源id为idr_icontype(在你的工程中该当是idr_xxxtype,个中xxx为你的工程名)图标资源。同样要提防的是:确定要把它简略才行。 同上。兴建(new)一个新的图标或导出(import)一个已有的图标。 把新图目标资源id改为idr_icontype(即办法2中简略的资源id)。 编写翻译并运路途序,不妨创造子框架窗口的图标即是你指定的图标。---- 用这个本领,不妨在多视图类mdi运用步调中为各别视图的子框架窗口指定各别的图标。 ---- 本领二、在步调运转时动静地变换窗口的图标 ---- 在步调运转时动静地变换框架窗口图目标道理是运用因变量 ---- cwnd::sendmessage()向窗口发送wm_seticon动静。其本领是: hicon hicon=afxgetapp()- >loadicon(idi_icon1);assert(hicon);afxgetmainwnd()- >sendmessage(wm_seticon,true,(lparam)hicon);---- 之上报告中的afxgetmainwnd()是赢得主框架窗口的窗口句柄,以是变换的是主框架窗口(囊括mdi和sdi)的图标,用同样的本领略作变换就不妨变换mdi运用步调子框架窗口的图标。 ---- 底下举一个范例来证明怎样变换主框架窗口的图标,办法如次: ---- 1.创造或打动工程icon。 ---- 2. 从developer studio的insert菜单中采用ressource,而后采用icon,兴建(new)或导出(import)两个图标,并资源id辨别改为idi_icon_green,idi_icon_red。 ---- 3.单击workspace窗口的resourceview标签,对idr_mainframe菜单资源举行编纂。在view菜单中介入一个分割符和green icon、red icon两个菜单项。其资源id辨别改为id_view_green和id_view_red。 ---- 4.为主窗口增添如次动静处置因变量: // cmainframe message handlersvoid cmainframe::onviewgreen() {// todo: add your command handler code herehicon hicon=afxgetapp()- >loadicon(idi_icon_green);assert(hicon);sendmessage(wm_seticon,true,(lparam)hicon);//由于是在类cmainframe中,以是不须要用afxgetmainwnd()- >sendmessage(wm_seticon,true,(lparam)hicon);}void cmainframe::onviewred() {// todo: add your command handler code herehicon hicon=afxgetapp()- >loadicon(idi_icon_red);assert(hicon);sendmessage(wm_seticon,true,(lparam)hicon);}---- 5. 结果编写翻译并执路途序,实行view菜单的green icon和red icon,不妨看到胜利得变换主框架窗口的图标。 ---- 之上范例是在步调运转时变换主框架窗口的图标,不妨用同样的本领变换mdi步调的子框架窗口的图标,有爱好的伙伴不妨一试。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.