CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  控件

紧急求救:让VB中textbox文本框中的内容垂直居中!(很急的呀!)

楼主leongwong()2004-11-03 19:32:43 在 VB / 控件 提问

请教各位老大:怎么让文本框中的内容垂直居中?  
  我现在做到的项目中,需要这样做!必须得这么做!  
  各位出招吧,或给点建议也行!  
  (这个问题以前在坛子里也出现过,但没有人回答!但我还是抱有一丝希望!) 问题点数:20、回复次数:15Top

1 楼starsoulxp(星魂)回复于 2004-11-03 19:38:44 得分 0

垂直的可以用字体,有一系列字体是竖着的,没安vb,名字忘了Top

2 楼starsoulxp(星魂)回复于 2004-11-03 19:39:42 得分 0

居中用align属性试试  
   
  建议用richtextboxTop

3 楼homezj(小吉)回复于 2004-11-03 20:02:11 得分 4

TextBox没有垂直居中的功能,因为其中文本是按行垂直定位的,文本无法跨行显示。而且一般设定多行属性后,文本是可以上下滚动的,垂直居中就无从谈起了。  
  所以不知你是什么目的,若仅仅是为显示出来的东西有文本框效果,又想垂直居中美观一些的话,完全可用PictureBox代替。Top

4 楼vodlinux(好易用)回复于 2004-11-03 20:35:54 得分 0

同意楼上!   说得好!Top

5 楼leongwong()回复于 2004-11-04 13:14:41 得分 0

谢谢楼上的各位!我是在做一个控件时遇到这个问题的!财务软件中(如用友)凭证录入时的红色金额线!由于TextBox无法实现内容的垂直居中,严重影响美观!目前还在寻找方法!Top

6 楼homezj(小吉)回复于 2004-11-04 13:33:32 得分 4

方法可能有很多,我提一个思路:  
   
  如果你的垂直居中TextBox,需要有等待录入文字的作用,那可把一个单行TextBox放入一个容器中(Frame或PictureBox都行),让TextBox在容器中垂直居中,把容器做成你需要的文本框模样,若还想让TextBox不露痕迹与容器溶为一体,可把它边框去掉,背景色与容器设成一样。想再完善一点,编程使容器获得焦点时,自动把光标移至TextBox上  
   
  若没有等待录入文字的需求,根本就不需用TextBoxTop

7 楼sinall()回复于 2004-11-04 14:05:27 得分 2

http://community.csdn.net/Expert/topic/3444/3444880.xml?temp=.6252863Top

8 楼BlueBeer(1win)回复于 2004-11-04 14:28:54 得分 0

textbox的内容多不多?我倒收藏过一个使单行文本的textbox垂直居中的代码Top

9 楼leongwong()回复于 2004-11-05 14:25:03 得分 0

textbox内容不多的,只是输入阿拉伯数字!  
  楼上的这位赐教!Top

10 楼leongwong()回复于 2004-11-05 14:46:07 得分 0

sinall()说的贴子,我已经看过了!用那个方法可以实现,可是不太明显!如果实在没有的话,也只有那么考虑了!Top

11 楼leongwong()回复于 2004-11-05 14:48:48 得分 0

homezj(小吉)的思路很好,我也在试!等有了结果我会告诉大家的!  
  我就搞不懂,这个球textbox咋就没有垂直居中这个属性呢!Top

12 楼CatchWind(追風少年)回复于 2004-11-05 15:16:35 得分 0

我有一個自己寫的控件,要的話發Email給我.CatchWind@163.comTop

13 楼BlueBeer(1win)回复于 2004-11-06 14:08:02 得分 10

试试看  
   
  'TextBox的MultiLine必须设为True  
   
  Private   Type   RECT  
          Left   As   Long  
          Top   As   Long  
          Right   As   Long  
          Bottom   As   Long  
  End   Type  
  Private   Declare   Function   SendMessage   Lib   "user32"   Alias   "SendMessageA"   (   _  
          ByVal   hwnd   As   Long,   _  
          ByVal   wMsg   As   Long,   _  
          ByVal   wParam   As   Long,   _  
          lParam   As   Any)   As   Long  
  Private   Const   EM_GETRECT   =   &HB2  
  Private   Const   EM_SETRECTNP   =   &HB4  
   
  Sub   VerMiddleText(mText   As   TextBox)  
          If   mText.MultiLine   =   False   Then   Exit   Sub  
          Dim   rc   As   RECT,   tmpTop   As   Long,   tmpBot   As   Long  
          SendMessage   mText.hwnd,   EM_GETRECT,   0,   rc  
          With   Me.Font  
              .Name   =   mText.Font.Name  
              .Size   =   mText.Font.Size  
              .Bold   =   mText.Font.Bold  
          End   With  
          tmpTop   =   ((rc.Bottom   -   rc.Top)   -   _  
                  (mText.Parent.TextHeight("H")   \   Screen.TwipsPerPixelY))   \   2   +   2  
          tmpBot   =   ((rc.Bottom   -   rc.Top)   +   _  
                  (mText.Parent.TextHeight("H")   \   Screen.TwipsPerPixelY))   \   2   +   2  
          rc.Top   =   tmpTop  
          rc.Bottom   =   tmpBot  
          mText.Alignment   =   vbCenter  
          SendMessage   mText.hwnd,   EM_SETRECTNP,   0&,   rc  
          mText.Refresh  
  End   Sub  
   
  Private   Sub   Form_Load()  
          VerMiddleText   Text1  
  End   SubTop

14 楼xiaotanghl(夜的影子)回复于 2004-11-06 15:05:58 得分 0

其实我觉得很简单,应该有好几种方法的:  
  1、用一个Label代替显示,单击时出来一个文本框就可以了。  
  2、数据保存起来,显示的是经过处理的数据,并不难;例如:值="232323",显示:="       232323"  
  3、用一个类模块把文本框包装一下,可以用上面的原理。Top

15 楼leongwong()回复于 2004-11-07 22:04:57 得分 0

BlueBeer(1win)   的方法可以实现垂直居中,万分感谢!同时,也感谢楼上的各位!Top

相关问题

  • 怎样设定多行文本框(TextBox)中文字上下居中?
  • VB和API高手请进,如何改变文本框textbox的字体及颜色
  • vb文本框的一个问题
  • vb 多行文本框问题
  • 如何让文本框中的内容居中
  • 文本框中的内容能不能居中对齐?
  • 水晶报表-文本框-能实现垂直居中吗?
  • 怎么让文本框中的文字垂直方向居中?
  • 如何让文本框中输入的值居中?
  • 请问如果一个文本框过高,有没有办法将字在该文本框内垂直居中

关键词

  • 录入
  • 文本
  • 内容
  • 属性
  • top
  • 垂直居中
  • 文本框
  • mtext
  • 容器
  • textbox

得分解答快速导航

  • 帖主:leongwong
  • homezj
  • homezj
  • sinall
  • BlueBeer

相关链接

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

广告也精彩

反馈

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