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

哪位大侠有resize32.ocx

楼主chengzhi81(橙汁)2004-12-01 22:36:13 在 VB / 基础类 提问

请发给我一份,我在做自适应分辨率问题,从网上找到的都要注册才能够使用.  
  谁有直接可以使用的呢?  
  第一个发到我的邮箱能用的给100分.谢谢!  
  nk2004@126.com  
  今天太晚了,明天上午结帖. 问题点数:100、回复次数:7Top

1 楼daisy8675(莫依 沉迷)回复于 2004-12-01 23:27:07 得分 0

倒  
   
  自己写代码不是很好么Top

2 楼creazyfish(梳分头的鱼)回复于 2004-12-01 23:36:59 得分 100

我已经发给你了,不过这种功能其实自己写代码也可以解决,比用控件好多了.  
  当   窗   体   大   小   改   变   时,   如   何   动   态   的   改   变   控   件   的   大   小   是   许   多VB    
  程   序   员   头   痛   的   事。   有   的   人   设   置   窗   体Resizable   但   却   不   改   变   控    
  件   的   大   小;   有   的   人   则   根   据   控   件   的   绝   对   位   置   与   窗   口   大   小   相    
  加   减   的   办   法   来   重   新   定   位   控   件   与   改   变   大   小,   这   种   办   法   比   较    
  繁   琐,   且   不   可   重   用;   当   然   也   有   人   则   限   定   窗   口   干   脆   不   让   改   变。  
  有   没   有   一   种   简   便   易   行   的   办   法   ?   答   案   是   肯   定   的,   下   面   给   出    
  一   个   一   劳   永   逸   的   办   法,   源   程   序   如   下:    
   
  Option   Explicit    
   
  Private   FormOldWidth   As   Long   '保存窗体的原始宽度    
  Private   FormOldHeight   As   Long   '保存窗体的原始高度    
   
   
  '在调用ResizeForm前先调用本函数    
  Public   Sub   ResizeInit(FormName   As   Form)    
   
  Dim   Obj   As   Control    
  FormOldWidth   =   FormName.ScaleWidth    
  FormOldHeight   =   FormName.ScaleHeight    
  On   Error   Resume   Next    
   
   
  For   Each   Obj   In   FormName    
  Obj.Tag   =   Obj.Left   &   "   "   &   Obj.Top   &   "   "   &   Obj.Width   &   "   "   &   Obj.Height    
  &   "   "    
  Next   Obj    
   
  On   Error   GoTo   0    
   
  End   Sub    
   
  '按比例改变表单内各元件的大小,   在调用ReSizeForm前先调用ReSizeInit函数    
   
  Public   Sub   ResizeForm(FormName   As   Form)    
   
  Dim   Pos(4)   As   Double    
  Dim   i   As   Long,   TempPos   As   Long,   StartPos   As   Long    
  Dim   Obj   As   Control    
  Dim   ScaleX   As   Double,   ScaleY   As   Double    
   
   
  ScaleX   =   FormName.ScaleWidth   /   FormOldWidth   '保存窗体宽度缩放比例    
  ScaleY   =   FormName.ScaleHeight   /   FormOldHeight   '保存窗体高度缩放比例    
   
  On   Error   Resume   Next    
   
  For   Each   Obj   In   FormName    
  StartPos   =   1    
   
  For   i   =   0   To   4   '读取控件的原始位置与大小    
  TempPos   =   InStr(StartPos,   Obj.Tag,   "   ",   vbTextCompare)    
  If   TempPos   >   0   Then    
  Pos(i)   =   Mid(Obj.Tag,   StartPos,   TempPos   -   StartPos)    
  StartPos   =   TempPos   +   1   Else   Pos(i)   =   0    
  End   If    
   
  '根据控件的原始位置及窗体改变大小   的比例对控件重新定位与改变大小    
   
  Obj.Move   Pos(0)   *   ScaleX,   Pos(1)   *   ScaleY,   Pos(2)   *   ScaleX,   Pos(3)   *    
  ScaleY    
   
  Next   i    
   
  Next   Obj    
   
  On   Error   GoTo   0    
   
  End   Sub    
   
  Private   Sub   Form_Load()    
   
  Call   ResizeInit(Me)   '在程序装入时必须加入    
   
  End   Sub    
   
  Private   Sub   Form_Resize()    
   
  Call   ResizeForm(Me)   '确保窗体改变时控件随之改变    
   
  End   Sub    
   
  本   例   中   给   出   了   二   个   函   数:ResizeInit   和ResizeForm,   在   调   用  
  ResizeForm   之   前   必   须   先   调   用ResizeInit。   你   可   以   将   本   程   序   拷   到    
  窗   体   代   码   段   里,   然   后   在   窗   体   里   加   入   任   意   控   件   即   可   进   行   测    
  试。    
  Top

3 楼aohan(aohan)回复于 2004-12-02 08:03:56 得分 0

上面的程序窗体如果有COMBO控件,你会发现变化很丑,若有TAB则更差  
   
   
  ^_^Top

4 楼True1024()回复于 2004-12-02 08:20:25 得分 0

还是用楼上各位给的代码比较好。Top

5 楼chengzhi81(橙汁)回复于 2004-12-02 08:47:56 得分 0

creazyfish:谢谢你,这个控件可以用,但不知道怎么回事,感觉效果不好呀.我在窗体load时设置了windowstate=2,这样可以吗?  
  另外那些代码实现我原来在FAQ中见过,不知道为什么不行呢,是不是在设计窗体时不应该在最大化的环境中呢,还有控件和窗体load后的状态有关系吗Top

6 楼happytoy()回复于 2004-12-02 08:50:33 得分 0

我试了一下,程序里如果有SSTAB控件的话,SSTAB中的空间只能是当前显示的控件改变大小,别的栏里的控件不见了Top

7 楼chengzhi81(橙汁)回复于 2004-12-02 08:57:09 得分 0

我没有用SSTAB控件呀.那个resize32只是在component中添加上再放到窗体中就可以了吗?  
  还需要别的操作吗?Top

相关问题

  • OCX
  • 如何注ocx?
  • ocx导入
  • 关于OCX???
  • ocx是什么?
  • ocx使用
  • 什么是ocx
  • OCX问题
  • ocx一位
  • OCX的使用

关键词

  • 控件
  • formname
  • formoldwidth
  • formoldheight
  • resizeform
  • sstab
  • 调用
  • resize
  • 保存窗体
  • 程序

得分解答快速导航

  • 帖主:chengzhi81
  • creazyfish

相关链接

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

广告也精彩

反馈

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