VC设置CEdit控件背景透明、文字背景也透明

开发环境:VC6, a dialog based MFC application.

主界面:


为对话框添加WM_CTLCOLOR消息响应函数:

HBRUSH CDDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);  if (pWnd->GetDlgCtrlID() == IDC_EDIT1)			// 获取子窗口控件ID{//pDC->SetTextColor(RGB(255, 0, 0));		// 设置文字颜色::SendMessage(GetDlgItem(IDC_EDIT1)->GetSafeHwnd(), WM_KILLFOCUS, 0, 0);	// 让其失去焦点,防止文字被选中//((CEdit*)pWnd)->SetSel(-1, 0);			// 不选中任何内容,与上句效果相同pDC->SetBkMode(TRANSPARENT);				// 设置背景透明return (HBRUSH)::GetStockObject(NULL_BRUSH);}return hbr;
}

运行效果:


看到了吧,打红圈的地方背景和文字颜色都透明了。

对话框加载背景图片的代码如下(为对话框添加WM_PAINT消息响应函数):

void CDDlg::OnPaint() 
{if (IsIconic()){CPaintDC dc(this); // device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);// Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;// Draw the icondc.DrawIcon(x, y, m_hIcon);}else{//CDialog::OnPaint();        //要禁止这个调用CPaintDC dc(this);// 用于绘制的设备上下文CBitmap bmp;if(bmp.LoadBitmap(IDB_BITMAP1) == FALSE)return;BITMAP bmpStruct;bmp.GetBitmap(&bmpStruct);			// 为了获得图片大小CDC dcMemory;dcMemory.CreateCompatibleDC(&dc);	//创建内存DCCBitmap *pOldBmp = dcMemory.SelectObject(&bmp);CRect rect;GetClientRect(rect);dc.StretchBlt(0, 0, rect.Width(), rect.Height(), &dcMemory, 0, 0, bmpStruct.bmWidth, bmpStruct.bmHeight, SRCCOPY);//dc.BitBlt(0, 0, rect.Width(), rect.Height(), &dcMemory, 0, 0, SRCCOPY);dcMemory.SelectObject(pOldBmp);}
}



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

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

相关文章

Taro+react开发(71):Taro.nextTick

Taro.nextTick(callback) 延迟一部分操作到下一个时间片再执行。(类似于 setTimeout) 说明 因为自定义组件中的 setData 和 triggerEvent 等接口本身是同步的操作,当这几个接口被连续调用时,都是在一个同步流程中执行完的&#xf…

led拼接屏报价_LED拼接屏的装饰

LED拼接屏外装饰工程是利用结构连接件或者粘结剂将装饰材料固定到钢结构框架的外部,使之达到一个美观大方的外形,并且达到防水(针对户外)等防护目的。LED屏的常用装饰的材料如下。(1)不锈钢一般装饰使用的不锈钢主要有亚光拉丝不锈钢、镜面不锈钢&#x…

Taro+react开发(72):Taro.createSelectorQuery

Taro.createSelectorQuery() 返回一个 SelectorQuery 对象实例。可以在这个实例上使用 select 等方法选择节点,并使用 boundingClientRect 等方法选择需要查询的信息。

电感检测_三、电感线圈的识别与检测(二)

变压器变压器也是一种电感器。它是利用两个 电感线圈靠近时的互感现象工作的,是电子产品中十分常见的元件。变压器是将两组或两组以上线圈绕在同一骨架上,并在绕好的线圈中插入铁芯或磁芯等导磁材料而构成,它在电路中起电压变换和阻抗变换等作…

Taro+react开发(73):Taro.createSelectorQuery

Taro.nextTick(() > {// 使用 Taro.nextTick 模拟 setData 已结束,节点已完成渲染Taro.createSelectorQuery().in(isH5 ? this : this.$scope).select(".dynamic-detail-content-text").fields({ size: true }).exec(res > {if (!res[0]) return;c…

ls mac 显示最近修改日期_Find Any File for Mac(Mac本地文件搜索工具)

今天小编给大家带来的Find Any File mac是Mac平台上的一款本地文件搜索查找工具,可以让你在本地磁盘上快速搜索、查找你需要的文件。甚至是隐藏文件都逃不出Find Any File mac的查询,并且支持以文件名称,建立或修改日期,大小&…

其他脚本与 asp.net 脚本一起验证时容易出的问题

但其他脚本&#xff0c;与 asp.net 验证控件一起进行脚本验证时&#xff0c;容易使 asp.net 验证控件的验证&#xff0c;失去效果&#xff0c;下面提供了一种比较好的解决方案代码<asp:Button ID"btnOK"runat"server"Text"确定"onclick"…

asp用于取代什么技术_苹果Mini LED晶粒四季度量产,用于新iPad Pro,三安光电或成赢家...

来源 &#xff1a;快科技9月23日消息&#xff0c;天风证券知名分析师郭明錤发布最新报告。由于OLED屏主要集中在韩国供应商体系下&#xff0c;这也加快了苹果要打破这种局面的节奏&#xff0c;很快他们就要推出使用Mini LED屏的移动设备了。天风国际旗下知名分析师郭明錤给出的…

LinQ—高级查询方法

对于高级查询方法&#xff0c;主要分为五大类&#xff0c;详情下图&#xff1a; 【Distinct】&#xff1a; 避免重复值出现&#xff0c;也就是如果有两个数字2&#xff0c;那么使用集合类可以单一出现 首先我们来写一个数组&#xff0c;方便举例&#xff1a; // 数组数据perso…

SQL SERVER 参考:游标(Cursor)的讲解与实例

在数据库中&#xff0c;游标是一个十分重要的概念。游标提供了一种对从表中检索出的数据进行操作的灵活手段&#xff0c;就本质而言&#xff0c;游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条T_SQL 选择语句相关联&#xff0c;因为游…

Cross-Site Scripting(XSS)的类型

本文源自&#xff1a; https://www.owasp.org/index.php/Types_of_Cross-Site_Scripting 在原文理解上翻译为中文。 背景 本文描述多种不同类型的XSS攻击&#xff0c;和它们之间的相互关系。 最早&#xff0c;有两种类型的XSS攻击被定义&#xff0c;Stored 和 Reflected &#…

DynamipsGUI下CISCO SDM的安装配置

本人刚开始自学CCNA&#xff0c;在教材里有许多SDM内容&#xff0c;但是手头又没有CISCO路由器&#xff0c;只能借助于模拟器。一开始用的是SDM的DEMO版本&#xff0c;虽然也进去了&#xff0c;但是有很多功能没法使用&#xff0c;只能起熟悉作用&#xff0c;于是就想找一个更好…

CImage类的用法(转帖)

From: http://elevenguy.blog.163.com/blog/static/616122092010053550593/ 我们知道&#xff0c;Visual C的CBitmap类和静态图片控件的功能是比较弱的&#xff0c;它只能显示出在资源中的图标、位图、光标以及图元文件的内容&#xff0c;而不像VB中的Image控件可 以显示出绝大…

Windows SDK笔记(三):定制控件消息处理函数

From: http://www.vckbase.com/document/viewdoc/?id1009 一、概述 控件的消息处理函数是由系统定义好了的&#xff0c;通常情况下&#xff0c;不需要自己提供。 但当需要对控件进行特殊控制时&#xff0c;可以提供一个消息处理函数&#xff0c;替换原来的消息处理函数。 自…