• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 背景透明控件,刷新的问题

背景透明控件,刷新的问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了空间背景音乐控件,控件背景设置透明度,c#控件背景透明,android 控件背景透明,控件背景图片等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 背景透明控件,刷新的问题
描述:

VC++下
我按下面的方面实现控件背景透明,我在控件上画了一个圆,但一改变控件大小,控件重画时,上一次的圆还显示,
请问高手怎样处理?
背景透明控件 
  有时我们希望控件的背景不要遮盖其身后相应的容器或其他控件。这样,就必须将其制作成背景透明的控件。例如,Visual BASIC中的Shape控件就属于此类。请大家注意:我们所说的背景是指控件的整个区域,而不包括控件上的某些元素(如图形、文本)的背景,因为根据需要,用户可以指定控件上某些元素的背景不透明。但这并不能说控件的背景是不透明的。为了深入理解这一点,大家可以体会一下Visual BASIC的Shape控件的特性。 
  背景透明控件的制作方法是:在MFC ActiveX Control Wizard向导的第二步中的Advanced按钮对话框中选中Windowless activation复选框。
同样,要想修改已生成的控件项目,则可在该控件类的.cpp文件中重置控件类成员函数GetControlFlags(),当然还要在控件类的.h文件中首先声明该成员函数:
(1)在MyControlCtl.h文件中加入: 
virtual DWORD GetControlFlags();
 
(2)在MyControlCtl.cpp文件中加入: 
  DWORD CMyControlCtrl::GetControlFlags() 
  { 
   DWORD dwFlags = COleControl::GetControlFlags(); 
   dwFlags != windowlessActivate;//设置控件为非窗体型 
   return dwFlags; 
} 
 
  这里需要说明的是:之所以将控件定制为非窗体型,是因为窗体都是不透明的,因此控件透明的前提必须是非窗体型的。不过,如果将控件制作为容器控件,则背景透明将无效。另外,一旦控件被定制成非窗体型,那么控件上的坐标是相对于容器的坐标原点,而不是相对于控件自身的坐标原点。所以,我们在控件上显示其他元素(如图形、文本等)时,应使用COleControl类的成员函数GetRectInContainer()或ClientToParent()将控件的内部坐标转换为相对于容器的坐标值,这一点请大家特别留意。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 透明背景的控件
  • 背景透明控件,刷新的问题

相关文章

  • 2017-06-05 请问这个程序有错吗?
  • 2017-06-05 程序中开了几个线程,他们占用cpu时间片相等吗?
  • 2017-06-05 怎样开启/停止一个系统服务?
  • 2017-06-04 救救我吧,为什么收不到数据!!!!
  • 2017-06-04 COM中接口聚合时引用计数的问题?
  • 2017-06-05 请教wtlcedit添加行的问题
  • 2017-06-04 如何在MFCActiveX加入自定义接口,分数很多
  • 2017-06-04 组合框值传递
  • 2017-06-04 关于OCX传参数的问题
  • 2017-06-05 以下是什么问题呢?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 如何改变一个基于ACTIVEX的工程的名称
    • [out,retval]参数如何使用?很简单
    • OCX无法收到WM_DISPLAYCHANGE消息
    • 在atl写程序中能否使用mfc?
    • 关于ActiveX控件的属性,以及ActiveX的学习
    • 如果让自己的COM组件能够返回ADO数据集(Delphi实现)
    • 疑难问题,win2k中用远程线程注入我的dll到winlogonexe中,建立全局钩子失败?
    • IE加载我的ActiveX控件时很慢,我想在加载完成之前做个动画或滚动条提示用户
    • 创建了一个DLL,调用DLL中导出的类,那这个类中的变量,或其他没有导出的类的实例能不能行啊
    • 在IE工具栏中创建下拉菜单的问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有