采用简单办法使Edit control中的文本垂直对齐

简介:

 Windows Shell提供的编辑控件Edit Control(注意不是Rich Edit)没有垂直对齐的风格,在这样的控件中显示文本时可以观察到文本总是顶端对齐,虽然说可以在WM_PAINT消息中绘制文本的位置,可以使其垂直对齐,但这样到鼠标的光标也不会垂直对齐,而且文字区域也不是中间对齐的。

  可以采用间接的办法做到使Edit control中的文本垂直对齐,其原理也很简单,创建Edit control的时候,使它的高度等于文本的高度(可以通过GetTextMetrics获取文本高度),这样文字能够充分填充Edit control的垂直空间,任谁也看不出来此刻是垂直对齐还是顶端对齐。
有些拆台的朋友可能会要求创建的Edit control高度( h)大于文本的高度,这种情况下可以先为Edit control创建一个父窗口,编辑控件的高度仍然等于文本的高度,然后将编辑控件放到其父窗口的中间(垂直方向)位置,其父窗口的高度设置为 h,然后Edit control和其父窗口的设置为相同颜色的背景,这样看起来Edit control中的文本还是中间对齐的。观察图(1),文本是垂直对齐吧,而且编辑控件的高度大于文本的高度。再观察图(2),绿色背景其实是Edit control的父窗口,白色背景才是Edit control。
图1
图2]
















本文转自jetyi51CTO博客,原文链接:http://blog.51cto.com/jetyi/594878  ,如需转载请自行联系原作者





相关文章
|
4月前
单元格内容的对齐方式
单元格内容的对齐方式。
34 0
|
3月前
|
前端开发 UED
深入理解CSS中的文本对齐方式:水平对齐与垂直对齐
深入理解CSS中的文本对齐方式:水平对齐与垂直对齐
|
10月前
|
JSON 前端开发 JavaScript
bootstrap table表格内容居中对齐
bootstrap table表格内容居中对齐
78 0
|
10月前
layUI table 内容超出宽度怎么换行显示,而不是显示省略号
layUI table 内容超出宽度怎么换行显示,而不是显示省略号
240 0
|
10月前
设置按钮背景为透明去掉button按钮左右两边的留白
设置按钮背景为透明去掉button按钮左右两边的留白
layout control布局奇怪问题记录
layout control布局奇怪问题记录
布局之悬浮显示更多文本并增加箭头指示效果
布局之悬浮显示更多文本并增加箭头指示效果
115 0
布局之悬浮显示更多文本并增加箭头指示效果
SwiftUI—使用Spacer空格视图撑满布局空间
SwiftUI—使用Spacer空格视图撑满布局空间
858 0
SwiftUI—使用Spacer空格视图撑满布局空间
SwiftUI—使用List列表在垂直方向显示一系列的内容
SwiftUI—使用List列表在垂直方向显示一系列的内容
411 0
SwiftUI—使用List列表在垂直方向显示一系列的内容
|
JavaScript 前端开发
实现 input无内容是缩小居中显示,有内容,有焦点时变长显示
前两天做了一个搜索中间页,有个 input 的效果挺有意思,准备分享一下。
168 0
实现 input无内容是缩小居中显示,有内容,有焦点时变长显示