• 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 > MFC做的控件的Picture属性问题

MFC做的控件的Picture属性问题

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

佚名通过本文主要向大家介绍了mfc中picture控件,mfc picture控件,mfc picture控件画图,mfc picture control,mfc picture等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: MFC做的控件的Picture属性问题
描述:

我在word里用这个控件,一方面想实现控件的透明,另一方面想在未注册该控件的电脑可以显示控件上的图片,所以我用控件的Picture属性
void CTestCtrlCtrl::OnDraw( CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
   m_pic.Render(pdc, rcBounds, rcInvalid);    //m_pic是CPictureHolder对象
}
用上面语句可以实现在未注册控件的电脑上显示控件上的图片,但是控件上的图片不是透明的
void CTestCtrlCtrl::OnDraw( CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
   if (!pdc)
      return;
   // TODO: 用您自己的绘图代码替换下面的代码。
   //m_pic.Render(pdc, rcBounds, rcInvalid);
   //内存DC
   CDC MemDC;
   MemDC.CreateCompatibleDC(NULL);
   //得到图片的宽度和高度
   SIZE sizeInHiMetric, sizeInPix;
   m_pic.m_pPict->get_Width(&sizeInHiMetric.cx);
   m_pic.m_pPict->get_Height(&sizeInHiMetric.cy);
   // Calculate Its Size On a "Standard" (96 DPI) Device Context
   sizeInPix.cx = MulDiv(sizeInHiMetric.cx, 96, HIMETRIC_INCH);
   sizeInPix.cy = MulDiv(sizeInHiMetric.cy, 96, HIMETRIC_INCH);
   CBitmap bmpFace; 
   bmpFace.CreateCompatibleBitmap(pdc, sizeInPix.cx, sizeInPix.cy);
   //将这幅图片选入内存DC
   CBitmap* pOldBmp = MemDC.SelectObject(&bmpFace);
   m_pic.m_pPict->Render(MemDC.GetSafeHdc(), 0, 0, rcBounds.right, rcBounds.bottom, 
      0, sizeInHiMetric.cy, sizeInHiMetric.cx, -sizeInHiMetric.cy, &rcBounds);
   pdc->TransparentBlt(0, 0, rcBounds.right, rcBounds.bottom, 
      &MemDC, 0, 0, sizeInPix.cx, sizeInPix.cy, RGB(255, 255, 255));
   MemDC.SelectObject(pOldBmp);
   bmpFace.DeleteObject();
   MemDC.DeleteDC();
}
用上面这个方法可以实现控件上图片的透明,但是在未注册电脑上却无法显示该控件
请大家帮忙!


解决方案1:

Make your control windowless.


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

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

  • 有关在MFC中使用控件的问题
  • MFC中用Msscriptocx控件调用Jcript脚本,如何实现AddObject。
  • MFC与net控件的兼容
  • MFC里,FLASH控件怎么加载外部资源?
  • picture控件属性
  • MFC获取CWebBrowser2控件上当前选中的值
  • MFC监测IE控件消息
  • MFC控件Picturecontrol
  • MFC开发的控件,请问一下公司名在哪修改
  • MFC下pictruecontrol控件闪烁

相关文章

  • 2017-06-05 输出与GetProcAddress
  • 2017-06-05 关于进程间通信的问题!
  • 2017-06-04 请问,如何在自己的ActiveX控件里插入已有的ActiveX控件
  • 2017-06-04 再次灌水,参与有分。最强activex应用,类似vb开发环境的实现。
  • 2017-06-05 VS2008添加自编控件后长时间无法退出调试状态
  • 2017-06-04 WMI复制文件TO远程失败?
  • 2017-06-04 VC2008开发的ActiveX控件回到2000样式
  • 2017-06-04 VB制作ActiveX控件的问题?
  • 2017-06-05 得到进程的ID后,如何获得该进程的名称?
  • 2017-06-05 为什么single下,多线程中产生的对象不是同一个?

文章分类

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

最近更新的内容

    • IWebBrowser2疑惑请指教
    • ????我用win2000Server的证书颁发给自己的控件签名,颁发之后只有一个cer的文件,但是缺少pvk私钥文件
    • vcLoadLibraryGetLastError0xc0000096
    • 从DLL中向程序发消息能够传字符串吗?
    • 如何在crebar的band加两个toolbar呀?高手高手请近!
    • ActiveX的简单问题
    • VC++读取图像RGB值
    • 开发自己的DLL(请高手指教)
    • 网页中是如何调用Activex的?html代码或者javascript语言怎么写?
    • 有关共享数据的保护问题(只能给100分,不够再补)。

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

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