CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  控件

非矩形ActiveX控件

楼主watcher_shen(吉吾)2005-06-03 13:52:58 在 VB / 控件 提问

VB中的一般控件可以用gdi32.dll的CreateEllipticRgn,或CreatePolygonRgn等,和user32.dll的SetWindowRgn两个函数实现非矩形化。如,生成菱形窗体(控件道理是一样的),代码如下:  
  hy   =   Me.Height   \   (2   *   Screen.TwipsPerPixelY)  
  hx   =   Me.Width   \   (2   *   Screen.TwipsPerPixelX)  
  ap(0).x   =   0:   ap(0).y   =   hy  
  ap(1).x   =   hx:   ap(1).y   =   0  
  ap(2).x   =   Me.Width   \   Screen.TwipsPerPixelX:   ap(2).y   =   hy  
  ap(3).x   =   hx:   ap(3).y   =   Me.Height   \   Screen.TwipsPerPixelY  
  ap(4)   =   ap(0)  
  reRgn   =   CreatePolygonRgn(ap(0),   3,   1)  
  SetWindowRgn   Me.hWnd,   reRgn,   True  
   
  可是ActiveX的hWnd却不能直接获得,上网查了很多资料也没解决,我该怎么办?  
   
  在ActiveX控件设计形式下的Form_Load和UserControl_Initialize中加入相应代码,也是不成功。 问题点数:100、回复次数:3Top

1 楼VBToy(无证编程)回复于 2005-06-03 14:22:53 得分 80

给你一个思路,异形控件可以通过在控件设计过程中设置MaskPicture及MaskColor来实现。Top

2 楼sakurako(看晨雾散开,你就是我一生的最爱...)回复于 2005-06-03 15:35:09 得分 20

给你的ActiveX控件添加hwnd属性,方法如下  
  在代码编辑中输入如下代码:  
   
  Public   Property   Get   hwnd()   As   Long  
          hwnd   =   UserControl.hwnd  
  End   Property  
   
  这样,你的控件就具有句柄属性了。Top

3 楼watcher_shen(吉吾)回复于 2005-06-06 10:57:18 得分 0

谢谢VBToy——这问题问的……Top

相关问题

  • 非得用ActiveX控件吗?
  • 快来抢分啦100分---画一个直线与ActiveX控件(矩形形状)--用什么网页编辑器?
  • 怎样在image控件画矩形,急
  • ActiveX控件??
  • Activex 控件!
  • activeX 控件
  • ActiveX 控件
  • 如何用API捕捉ACTIVEX控件或其他自己做的控件?(即非标准控件)
  • ActiveX 控件疑问
  • 关于ActiveX控件。

关键词

  • 控件
  • 代码
  • activex
  • me
  • ap
  • hx
  • 如下
  • hwnd
  • screen

得分解答快速导航

  • 帖主:watcher_shen
  • VBToy
  • sakurako

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo