1、在窗口创建前修改窗体外观 在BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)函数中修改,其中CREATESTRUCT结构中有诸如窗口大小和标题等的修改,这里注意的是如果要修改标题的话,需要修改CREATESTRUCT style &= ~FWS_ADDTOTITLE,不让默认的文档标题添加到窗口标题上。
   在窗口创建后修改窗体外观 就在OnCreate函数里修改,SetWindowLong(m_hWnd, GWL_STYLE, GetWindowLong(m_hWnd, GWL_STYLE) & ~WS_MAXIMIZEBOX );其中GetWindowLong是获得已有的样式,SetWindowLong是设置现在的样式。
2、在窗口创建前修改光标、背景等 方法1,在CMainFrame::PreCreateWindow(CREATESTRUCT& cs)函数中重新注册一个窗口类(注:若要修改背景的话,则要在视类的PreCreateWindow中修改,方法是使CREATESTRUCT的lpszClass = 新注册的窗口类的名字)方法2、调用AfxRegisterWndClass函数修改窗口的类型、光标、背景等
   在窗口创建后修改光标、背景等 方法1、就在OnCreate函数里调用SetClassLong(m_hWnd, GCL_HICON, (LONG)m_hIcon[index]);函数
3、获得应用程序当前实例句柄 方法1、调用AfxGetInstanceHandle()方法2 AfxGetApp()(获得当前应用程序对象)->m_hInstance
4、m_wndToolBar.EnableDockingCBRS_ALIGN_ANY) 让工具栏对象可以停靠,EnableDocking(CBRS_ALIGN_ANY)让主框架窗口可以停靠
5、ShowControlBar(&m_newToolBar, !m_newToolBar.IsVisible(), false)用来控制显示或隐藏控制条,如工具栏等
6、如果要在程序中设置某个菜单项的状态,如是否显示复选标记、该菜单项是否有效等,利用UPDATE_COMMAND_UI消息,显示复选标记(pCmdUI->SetCheck),菜单项是否有效(pCmdUI->SetCheck->Enable())
7、自己添加消息三步走 1、在头文件中定义 #define UM_PROGRESS   WM_USER + 1设置消息号,只要大于WM_USER就可以了 2、添加afx_msg LRESULT OnProgress(WPARAM wParam, LPARAM lParam)函数 3、在BEGIN_MESSAGE_MAP下添加ON_MESSAGE(UM_PROGRESS, OnProgress) 最后实现OnProgress这个函数
8、SendMessage 直接把消息发送给响应函数并且等到响应函数执行好以后才返回到下一条语句执行
   PostMessage 将消息发送到消息队列中,然后立即返回,就执行下一条语句。不管消息有没有送达

mfc修改应用程序外观的更多相关文章

  1. 凹凸曼的修改zencart 程序(经典!)

    ==================================================================================================== ...

  2. 神器如 dnSpy,无需源码也能修改 .NET 程序

    dnSpy 是 0xd4d 开发的 .NET 程序调试神器. 说它是神器真的毫不为过!它能在完全没有源码的情况下即时调试程序,甚至还能修改程序!本文讲向大家介绍如何使用 dnSpy 修改 .NET 程 ...

  3. MFC修改系统托盘的图标

    最近开始学习MFC,发现程序在任务栏,窗口和exe都使用的默认图标,那么,我们想使用自己的图标该如何做? 第一种方法: 1.我们将自己要使用的icon的图标导入项目中. 资源视图-->xx.rc ...

  4. 怎样在 Ubuntu 中修改默认程序

    导读 作为一个新手,你需要知道如何在 Ubuntu 中修改任何默认程序,这也是我今天在这篇指南中所要讲的. 对于我来说,安装 VLC 多媒体播放器是安装完 Ubuntu 16.04 该做的事中最先做的 ...

  5. 如何在Ubuntu Unity上修改应用程序图标

    转自如何在Ubuntu Unity上修改应用程序图标 这篇文章将教大家在Ubuntu Unity上修改应用程序图标,这个教程适合于Ubuntu 14.04, Ubuntu 13.10, Ubuntu ...

  6. 怎样在Ubuntu中修改默认程序

    这个新手指南会向你展示如何在 Ubuntu Linux 中修改默认程序.对于我来说,安装 VLC 多媒体播放器是安装完 Ubuntu 16.04 该做的事中最先做的几件事之一.为了能够使我双击一个视频 ...

  7. 【MFC】如何在MFC创建的程序中更改主窗口的属性 与 父窗口 WS_CLIPCHILDREN 样式 对子窗口刷新的影响 与 窗体区域绘制问题WS_CLIPCHILDREN与WS_CLIPSIBLINGS

    如何在MFC创建的程序中更改主窗口的属性 摘自:http://blog.sina.com.cn/s/blog_4bebc4830100aq1m.html 在MFC创建的单文档界面中: (基于对话框的, ...

  8. MFC定时关机程序的实现1

    写个定时关机程序自用,界面简单实用,最终界面如下 第一步,新建一个MFC对话框应用程序,拖几个控件过来, 界面如下: 然后给下拉列表框,复选按钮绑定变量,以方便进行操作. CComboBox m_co ...

  9. 2019-11-29-Roslyn-通过-NuGet-库修改应用程序入口函数

    title author date CreateTime categories Roslyn 通过 NuGet 库修改应用程序入口函数 lindexi 2019-11-29 08:37:49 +080 ...

随机推荐

  1. asp.net中MVC多语言包的使用

    Global.asax.cs文件 protected void Application_AcquireRequestState(object sender, EventArgs e) { if (Ht ...

  2. Android使用HttpClient向服务器传输文件

    HttpClient是Apache Jakarta Common下的子项目,可以用来提供功能丰富的支持HTTP协议的客户端编程工具包,这几天写客户端的时候遇到个问题,“客户端需要向服务器发送Post请 ...

  3. ASP.NET MVC 5 学习教程:修改视图和布局页

    原文 ASP.NET MVC 5 学习教程:修改视图和布局页 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 ...

  4. Event | Beijing Makerspace

    Event | Beijing Makerspace CONTACT INFORMATION 4th Floor, Zhongguancun Dream Lab, Beijing, China Pho ...

  5. shell 脚本阅读之二——ltp工具下的runltp

    #!/bin/sh ################################################################################ ## ## ## ...

  6. Bad Hair Day(单调栈 )

    Bad Hair Day Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 15941   Accepted: 5382 Des ...

  7. Android Activity Fragment 生命周期

    从开源项目中看到 这个,就情不自禁的收藏了~ https://github.com/xxv/android-lifecycle

  8. 开源框架ViewPagerIndicator的使用——TabPageIndicator

    1.导入Android-ViewPagerIndicator库文件 下载地址:https://github.com/JakeWharton/ViewPagerIndicator 2.布局文件     ...

  9. bootloader启动代码init.s解析----IRQ中断处理函数

    bootloader启动代码init.s解析----IRQ中断处理函数 init.s源代码如下: ;///////////////////////////////////////////// ;opt ...

  10. 闲扯 Javascript 03 时钟和QQ延时框

    时钟 : 所用到得图片  : 开启定时器 setInterval  间隔型 setTimeout  延时型 停止定时器 clearInterval clearTimeout 效果思路 获取系统时间 D ...