发发牢骚,顺便求解~ 为什么Borland总是不将TEdit加上一个Alignment属性?

Vangie 2004-11-25 09:16:55
难道在TEdit中使用靠右对齐输入的机会会少吗?比如输入数字。Delphi5这样,Delphi6这样,Delphi7这样,到了Delphi2005还是这样。难道每次都要自已写这个属性吗?实在是不解,是不是在Delphi自带控件中有其它的控件可以实现这个要求?发发牢骚,顺便求解~

Up 者有分~
...全文
146 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vangie 2004-11-25
  • 打赏
  • 举报
回复
SeaWave(NoSound) 好象说到重点了,可为什么单行就不可以右对齐呢?是Windows规定的吗?可Windows又为什么要这样规定呢?
SeaWave 2004-11-25
  • 打赏
  • 举报
回复
Edit是WINDOWS内置的,虽然有设置对齐方式的属性,但居中和居右对齐都要求是多行方式,而TEDIT是单行方式,所以不行。第三方控件或自己写代码可以做到,但要点是要接管ENTER键的输入,因为是多行方式,用户按回车会导致换行。
3xcom 2004-11-25
  • 打赏
  • 举报
回复
bee2518(迷茫ing)说的也不错啊。
可以这么用。。。
gxgyj 2004-11-25
  • 打赏
  • 举报
回复
可能Borland认为这个不是很有用吧。。
Vangie 2004-11-25
  • 打赏
  • 举报
回复
只是用第三方控件比较麻烦一些,不知道borland为什么不加上~
gxgyj 2004-11-25
  • 打赏
  • 举报
回复
Raize Components 3.0.9下载地址:
http://www.delphibox.com/article.asp?articleid=282
小呆之家 2004-11-25
  • 打赏
  • 举报
回复
Raize控件组里面的TRzEdit有这个属性.
zglwxb 2004-11-25
  • 打赏
  • 举报
回复
哈哈
顶一下
herman~~ 2004-11-25
  • 打赏
  • 举报
回复
呵呵,,事无完美
ICMGDCHN 2004-11-25
  • 打赏
  • 举报
回复
我来蹭分的,帮UP
Vangie 2004-11-25
  • 打赏
  • 举报
回复
送楼上bee2518(迷茫ing)四个字:"误人子弟"

开个玩笑,^_^ ~
bee2518 2004-11-25
  • 打赏
  • 举报
回复
Edit控件是没这个功能,但可以换其他控件
比如用MEMO,大小拉成Edit一样大,哈哈,纯粹骗人
beyondtkl 2004-11-25
  • 打赏
  • 举报
回复
哦 可以去BORLAND社区反应去 哈。。

应该还有别的原因的吧
yinzhiw 2004-11-25
  • 打赏
  • 举报
回复
我也郁闷这个
难道老外不需要这个
HOHO
mastersky 2004-11-25
  • 打赏
  • 举报
回复
SeaWave(NoSound) ( ) 说得对。我以前重载过,但是右对齐后当字符串长度超过Edit的长度后显示方式还是从左往右的。不好用。
redmoon_line 2004-11-25
  • 打赏
  • 举报
回复
其它外挂组件中有,你可以参考,要是没有,我可以给你发一个组件!
SeaWave 2004-11-25
  • 打赏
  • 举报
回复
是WINDOWS规定的,单行不可以右对齐。TEdit本质上是一个Windows内置样式(EDIT)的子窗口,在底层用CreateWindow()这个API来创建,其类名为EDIT,样式可以包含以ES_开头的常量(微软定义),默认为单行、左对齐,如果非要居中或右对齐(ES_CENTER或ES_RIGHT),那么必须同时包含ES_MULTILINE样式(参考API帮助),至于微软为什么要这样规定,只有比尔盖茨知道了。

要自己写控件实现,可以重载CreateParams()这个方法,将ES_MULTILINE和ES_RIGHT样式添加进去,然后重载KeyDown方法,捕获用户按下回车键(#13),免得换行(因为是多行文本)。

要自己在运行时刻实现,可以在窗体创建时用SetWindowLong()这个API来设置ES_MULTILINE和ES_RIGHT样式,同样,需要为该TEDIT控件的OnKeyPress事件里写代码,忽略#13这个键值。
Vangie 2004-11-25
  • 打赏
  • 举报
回复
下午下班结贴~~ 哈哈
dongfanghui 2004-11-25
  • 打赏
  • 举报
回复
SeaWave(NoSound) 有道理,
但是对于开发东西来说,最好用别的控件。
如果没必要的话,我建议还是用这个,因为DELPHI本身的控件和WINDOWS结合还是比较好。

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧