VC6重载字体对话框,去除颜色下拉框

为了去除字体对话框中的颜色下拉框,我们需要重载字体对话框类:CFontDialog

1. 创建一个MFC Class,继承自CFontDialog:

// MyFontDialong.h : header file
//// CMyFontDialong dialogclass CMyFontDialong : public CFontDialog
{DECLARE_DYNAMIC(CMyFontDialong)public:CMyFontDialong(LPLOGFONT lplfInitial = NULL,DWORD dwFlags = CF_EFFECTS | CF_SCREENFONTS,CDC* pdcPrinter = NULL,CWnd* pParentWnd = NULL);
#ifndef _AFX_NO_RICHEDIT_SUPPORTCMyFontDialong(const CHARFORMAT& charformat,DWORD dwFlags = CF_SCREENFONTS,CDC* pdcPrinter = NULL,CWnd* pParentWnd = NULL);
#endifprotected://{{AFX_MSG(CMyFontDialong)virtual BOOL OnInitDialog();//}}AFX_MSGDECLARE_MESSAGE_MAP()
};

2. 重载OnInitDialog(),通过添加消息WM_INITDIALOG,实现如下:



BOOL CMyFontDialong::OnInitDialog() 
{CFontDialog::OnInitDialog();CWnd*   pStatic = GetDlgItem(0x473);		// 静态文本框:"颜色:"CWnd*   pComboBox = GetDlgItem(0x443);		// ComboBox:	"颜色下拉框"pStatic->ShowWindow(SW_HIDE);pComboBox->ShowWindow(SW_HIDE);return TRUE;  // return TRUE unless you set the focus to a control
}

到此,这个定制的对话框就完成了。剩下的就是建立一个基于对话框的应用程序来测试下了。我是先建立基于对话框的MFC应用程序,再新建CMyFontDialog的,效果一样。

最后运行结果如下:



下面来解释下最关键的东西,那就是我怎么知道要隐藏的那两个控件的ID呢?呵呵,说出来其实也不是什么秘密--利用VC6自带的工具Spy++,看图解:



相信你应该明白了吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406736.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac系统下如何使用命令行方式启动MySQL

首先,先去官网下载MySQL,选择Mac版本的DMG格式的文件。 官网地址为:dev.mysql.com/downloads/mysql/5.7.html 然后下载后,直接双击对应的dmg格式的文件进行安装即可。接下来,我们可以先看下如何在系统偏好设置中启动M…

android之隐示意图跳转启动另一个activity

主面板布局&#xff1a;layout/activity_main.xml <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android" android:layout_width"match_parent" android:layout_height"match_parent" android:orientation"…

中国移动话费查询,短信查询,各种免费查询!以后别打10086了

发送YE/CXYE到10086,余额查询 发送CXBX到10086&#xff0c;查询当月套餐剩余短信条数。 发送CXGFX到10086&#xff0c;查询当月飞信GPRS套餐剩余流量。 发送CXGTC到10086&#xff0c;查询当月GPRS套餐剩余流量。 发送CXCCT到10086&#xff0c;查询当月超级畅听套餐剩余流量。 发…

利用XML生成Excel

先用Excel将我们要生成的表格设计好&#xff1a; 然后另存为XML表格&#xff1a; 将生成的Book1.xml复制到项目中并打开: 找到Table节点&#xff0c;将节点的ss:ExpandedRowCount”2” 删除掉 往下会看到我们刚输入的标题了吧 <Row> <Cell ss:StyleID"s23"&…

vue获取前一个页面路由地址

可以使用&#xff1a; vue-router的beforeRouterEnter钩子 其实也就是一个路由守卫 <script> export default {data() {return {fromPath: "",};},beforeRouteEnter(to, from, next) {next((vm) > {// 通过 vm 访问组件实例,将值传入fromPathvm.fromPath …

display:none和visibility:hidden两者的区别

使用css让元素不可见的方法有很多种&#xff0c;裁剪、定位到屏幕外边、透明度变换等都是可以的。但是最常用两种方式就是设置元素样式为display: none或者visibility: hidden。很多公司的面试官也常常会问面试者这两者之间的区别。 display与元素的隐藏 如果给一个元素设置了…

CSS中设置border属性为0与none的区别

在我们设置CSS的时候&#xff0c;对标签元素不设置边框属性或者取消边框属性一般设置为&#xff1a;border:none;或border:0;两种方法均可。 border:none;与border:0;的区别体现有两点&#xff1a;一是理论上的性能差异&#xff1b;二是浏览器兼容性的差异。 1.性能差异 【b…

windows下Python+Editplus windows Python开发环境

From: http://www.jb51.net/softjc/34898.html 点评&#xff1a;Python的安装程序以及源代码可以从其官方网站http://www.python.org/获取。以Windows XP、Python 3.1.3为例&#xff0c;在Windows下安装Python的过程如下。&#xff08;1&#xff09;从Python官方网站 http://…

PHP Fatal error: Uncaught think\\exception\\ErrorException: error_log相关解决方法

解决方法&#xff1a;切换到tp5目录然后使用chmod -R 777 tp5来解决&#xff0c;当然不太建议这样做&#xff0c;这不符合我们在线上的操作方式。一种比较推荐的做法是执行chmod -R daemon:daemon tp5来进行处理&#xff0c;这是因为在Mac上默认的Apache用户为daemon&#xff0…

旋转动画用控件RotateView

旋转动画用控件RotateView 最终效果&#xff1a; 源码&#xff1a; RotateView.h 与 RotateView.m // // RotateView.h // RotateAnimationView // // Created by YouXianMing on 14/12/8. // Copyright (c) 2014年 YouXianMing. All rights reserved. //#import <UIKit…

UPS分类:直流UPS和交流UPS

以下资料来源于IT168术语详解&#xff1a;http://detail.it168.com/UPS从结构上一般分为直流UPS(DC-UPS)和交流UPS(AC-UPS)两大类。(1)直流UPS直流不间断电源由两个基本单元组成。分别是整流器、蓄电池。其原理结构方框图如下&#xff1a;其工作过程是&#xff1a;当市电正常时…

HTTP1.0和HTTP1.1和HTTP2.0的区别

HTTP1.0和HTTP1.1和HTTP2.0的区别 1 HTTP1.0和HTTP1.1的区别 1.1 长连接(Persistent Connection) HTTP1.1支持长连接和请求的流水线处理&#xff0c;在一个TCP连接上可以传送多个HTTP请求和响应&#xff0c;减少了TCP的建立和关闭连接的消耗和延迟&#xff0c;在HTTP1.1中默…

PowerShell实战1:Ping_Test

功能&#xff1a;批量测试远程主机的Ping值&#xff0c;以及根据TTL值来判断是否为Windows主机。使用&#xff1a;在C:\IP.txt中加入需要测试的主机IP或域名&#xff0c;一行一个。例如&#xff1a; www.google.com www.baidu.com www.cha123.com www.yahoo.com www.msn.com源码…