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. C#高级编程随笔

    1.把类创作的变量叫做对象2.类就是对象的模版3.类定义了每个对象的数据和功能4.接口不能被实例化,抽象类不能被实例化5.抽象基类可以包含非抽象方法,而接口只能包含抽象方法6.一个类可以实现多个接口7 ...

  2. 素数环(C - 暴力求解)

    素数环(暴力)(紫书194页) Description   A ring is composed of n (even number) circles as shown in diagram. Put ...

  3. jQuery prop 全选和全不全

    $('#ckAll').click(function() { var value = $(this).is(':checked') ? true : false; $("input[name ...

  4. [javascript]一种兼容性比较好的简单拖拽

    作为一个马上要找工作.非计算机专业.热爱前端的大四狗,最近开始疯狂写demo.看书,准备九.十月份的校招. 晚上用js实现了一个比较简单(low)的拖拽效果,初步测试兼容性还是不错的,于是写一段小博文 ...

  5. search_word

    一个小程序,用asc码输出自己的名字.要求是,a~z两路输入,输出了一个完整的拼音之后还需要输出一个空格.—— 信息硬件过滤的雏形. module search_word ( clock , rese ...

  6. Python 2.7 学习笔记 异常处理

    如同别的开发语言,python也支持异常处理机制.本文介绍下它的基本语法. 一.异常的基本处理框架如下: try: 业务代码 except 异常类1: 异常处理代码 except 异常类2: 异常处理 ...

  7. Elven Postman(二叉树)

    Elven Postman Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

  8. Axis2(8):异步调用WebService

    在前面几篇文章中都是使用同步方式来调用WebService.也就是说,如果被调用的WebService方法长时间不返回,客户端将一直被阻塞,直到该方法返回为止.使用同步方法来调用WebService虽 ...

  9. Cool Edit Pro 2.0详细教程(转)

      系统介绍一下用Cooledit pro 2.0录制自唱歌曲的一个全过程,希望对喜欢唱歌,想一展歌喉的朋友有所帮助. 录制原声 录音是所有后期制作加工的基础,这个环节出问题,是无法靠后期加工来补救的 ...

  10. B - 队列,推荐

    Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Desc ...