首页 > 其他分享 >MFC 动态图标切换

MFC 动态图标切换

时间:2024-01-27 10:22:43浏览次数:32  
标签:MFC CMainFrame AfxGetApp LoadIconW 切换 IDI 图标 icon

主要是学会获取应用实例,然后是定时器的使用。

▲ 会一直变动,4 个轮流滚。

标题是属于框架的。

头文件:

private:
    HICON icon[4];

构造函数:

CMainFrame::CMainFrame() noexcept
{
    // 加载图标
    // 获取应用程序
    icon[0] = AfxGetApp()->LoadIconW(IDI_ICON1);
    icon[1] = AfxGetApp()->LoadIconW(IDI_ICON2);
    icon[2] = AfxGetApp()->LoadIconW(IDI_ICON3);
    icon[3] = AfxGetApp()->LoadIconW(IDI_ICON4);
}

OnCreate:

SetTimer(1, 500, NULL);

定时器:

void CMainFrame::OnTimer(UINT_PTR nIDEvent)
{
    static int i = 0;
    // 修改标题 用到 WIndows API 函数
    SetClassLong(m_hWnd, GCL_HICON, (LONG)icon[i]);
    i++;
    if (i == 4) {
        i = 0;
    }


    CFrameWnd::OnTimer(nIDEvent);
}

标签:MFC,CMainFrame,AfxGetApp,LoadIconW,切换,IDI,图标,icon
From: https://www.cnblogs.com/huvjie/p/17991155

相关文章

  • MFC 菜单路由事件,按钮可用不可用
    点击b会切换a可用状态:添加Menu选项a对应IDID_DEMO_A,b对应IDID_DEMO_B。弹式菜单无法编辑ID。▲右键添加事件处理程序▲路由传递路径frame给到view如果view处理好了,就返回给frame;如果没处理的话,view会给这个路由消息给doc,如果doc没有处理,再返回给......
  • MFC 定时器的简单用法
    View下两个消息事件:ON_WM_CREATEON_WM_TIMERBEGIN_MESSAGE_MAP(CMFCApplication1View,CView)//标准打印命令ON_COMMAND(ID_FILE_PRINT,&CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT,&CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW,&a......
  • MFC 插入符输入文字
    在View中,三个消息事件:BEGIN_MESSAGE_MAP(CMFCApplication1View,CView) //标准打印命令 ON_COMMAND(ID_FILE_PRINT,&CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT,&CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW,&CView::OnFilePrintPreview)......
  • nodejs带图标的二维码
    前言实现用nodejs生成二维码一、生成二维码先下载qrcode模块,可以使用npminstall--saveqrcode/**@paramstext文本数据@paramscallback回调函数*/vargetQrcode=function(text,callback){constoptions={width:256,height:256,......
  • 2024-01-26 yarn证书源过期 ==》 yarn切换的镜像源为https,实际上该链接的证书已过期,应
    如,我给一个项目用yarn装依赖,这时候报错:yarninstallv1.22.21infoNolockfilefound.[1/4]Resolvingpackages...errorError:certificatehasexpiredatTLSSocket.onConnectSecure(node:_tls_wrap:1539:34)atTLSSocket.emit(node:events:513:28)atTLSSocket._fin......
  • K8S 集群 apiserver-advertise-address实例节点IP切换VIP
    1.备份当前k8s集群配置文件(3个master都备份) cp-r/etc/kubernetes/etc/kubernetes.bak2.删除当前k8s集群的apiserver的cert和keyrm-rf/etc/kubernetes/pki/apiserver.*3.生成新的apiserver的cert和key,cd到pki目录下cd/etc/kubernetes/pki/---apiserver-advertise-......
  • Centos桌面模式和命令行模式切换
    希望在VMware中的CentOS虚拟机默认启动到命令行模式(无桌面模式),而不是图形用户界面(GUI),可以按照以下步骤操作:打开终端,使用以下命令获取当前的默认目标(target),如果是图形模式,通常会显示graphical.target。systemctlget-default将默认目标设置为多用户模式,这是一个无桌面的......
  • 四、iframe切换+alert切换+鼠标操作+js操作
    1、iframe切换iframe是什么在网页中内嵌了另一个html怎么识别iframeF12打开开发者工具,在Element面板中鼠标点击要操作的元素会显示元素的完整路径,检查里面是否存在iframe,html切换进iframe当中去driver.switch_to.frame(几种方法去......
  • MFC 简单的绘图用法
    ▲效果在OnDraw函数中://CMFCApplication1View绘图voidCMFCApplication1View::OnDraw(CDC*pDC){CMFCApplication1Doc*pDoc=GetDocument();ASSERT_VALID(pDoc);if(!pDoc)return;/*a)定义画家b)定义画笔(画刷)CPen,CBrush......
  • linux 安装多版本java,并可切换版本
    我多版本切换,省事操作。配置:/etc/profileexportJAVA_HOME=/usr/java/jdk/jdk1.8.0_201exportJRE_HOME=/usr/java/jdk/jdk1.8.0_201/jreexportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH#切换1.8......