CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

怎么得到标题栏的高度???

楼主FrankWang(FrankWang)2002-07-24 17:26:21 在 VB / 基础类 提问

求救啊! 问题点数:20、回复次数:2Top

1 楼suntt(两条腿的狗)回复于 2002-07-24 17:38:18 得分 0

FORM.HEIGHT-RECT.HEIGHT  
  RECT   是客户区的大小Top

2 楼good_sun(汉堡+泡面)回复于 2002-07-24 18:04:59 得分 0

需要用到以下API:GetWindowRect和GetClientRect。  
  首先用GetWindowRect得到窗体的宽度与高度,再用GetClientRect得到窗体客户区的宽度与高度,用(窗体宽度-窗体客户区宽度)/2得到窗体边框宽度,之后用窗体高度-窗体客户区高度-窗体边框宽度得到*2得到标题栏的高度。Top

3 楼good_sun(汉堡+泡面)回复于 2002-07-24 18:10:53 得分 20

把下面代码放入模块  
   
  Option   Explicit  
   
  Private   Declare   Function   GetClientRect   Lib   "user32"   (ByVal   hwnd   As   Long,   lpRect   As   RECT)   As   Long  
  Private   Declare   Function   GetWindowRect   Lib   "user32"   (ByVal   hwnd   As   Long,   lpRect   As   RECT)   As   Long  
  Private   Type   RECT  
                  Left   As   Long  
                  Top   As   Long  
                  Right   As   Long  
                  Bottom   As   Long  
  End   Type  
   
  'GetWindowBoardWidth函数用来得到窗体边框宽度  
  Private   Function   GetWindowBoardWidth(lpForm   As   Form)   As   Long  
          Dim   tmpRect   As   RECT,   tmpRect2   As   RECT  
           
          GetWindowRect   lpForm.hwnd,   tmpRect  
          GetClientRect   lpForm.hwnd,   tmpRect2  
           
          GetWindowBoardWidth   =   (tmpRect.Right   -   tmpRect.Left   -   tmpRect2.Right   +   tmpRect2.Left)   /   2  
  End   Function  
   
  'GetWindowCaptionWidth函数用来得到窗体标题栏宽度  
  Public   Function   GetWindowCaptionWidth(lpForm   As   Form)   As   Long  
          Dim   tmpRect   As   RECT,   tmpRect2   As   RECT  
           
          GetWindowRect   lpForm.hwnd,   tmpRect  
          GetClientRect   lpForm.hwnd,   tmpRect2  
   
          GetWindowCaptionWidth   =   (tmpRect.Bottom   -   tmpRect.Top   -   tmpRect2.Bottom   +   tmpRect2.Top)   -   GetWindowBoardWidth(lpForm)   *   2  
  End   Function  
   
   
   
  在窗体中  
  Private   sub   Form_Click()  
          Msgbox   GetWindowCaptionWidth(me)  
  End   SubTop

相关问题

  • 怎样得到标题栏高度?
  • 如何得到标题栏高度?
  • 怎么得到标题栏的大小?
  • 急!怎么改变标题栏的高度及字体大小?
  • 怎么重画标题栏?
  • ::::如何改变标题栏的高度?::::
  • 怎么移动无标题栏窗体
  • 一个Dialog怎么去掉标题栏
  • pb中如何改变标题栏的高度?
  • 高分相求:如何改变标题栏的高度

关键词

  • 客户
  • tmprect
  • 窗体
  • lpform
  • 宽度
  • 标题栏
  • 高度
  • getwindowboardwidth
  • getwindowcaptionwidth
  • getwindowrect

得分解答快速导航

  • 帖主:FrankWang
  • good_sun

相关链接

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

广告也精彩

反馈

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