关于C++ Builder中DBEdit控件不同类型数值的对齐
在用c++ builder构建窗体的过程中,用DBEdit显示数据的时候,会因为数值类型的不同而自动的左对齐或又对齐,本来很方便,但最近涉及到一些字段实际存储的类型和显示要求的属性不一致的情况,我找遍了DBEdit的属性也没找到,在csdn上发帖子也没有人回。今天在新水木社区 www.newsmth.org bcb 版搜索了一下,看了一个帖子才明白,原来要设置的应该是是Field的Alignment属性。总是静不下心来学习VCL,所以常常闹这样的笑话。
原文是这样的,
引用: 发信人: TwoHundred50 (hengji), 信区: CBuilder 标 题: Re: 如何让DBEdit和DBGrid里面的数字靠左显示? 发信站: BBS 水木清华站 (Sun Mar 7 13:29:42 2004), 转信 enna,是Field的Alignment属性,参看dbctrls.pas 1449行: { AField is needed because TDBLookupComboBox, for its combobox, uses FListField for its alignment characteristics not FField } function DBUseRightToLeftAlignment(AControl: TControl; AField: TField): Boolean; var AAlignment: TAlignment; begin if Assigned(AField) then AAlignment := AField.Alignment else AAlignment := taLeftJustify; Result := (SysLocale.MiddleEast) and (AControl.BiDiMode = bdRightToLeft) and (OkToChangeFieldAlignment(AField, AAlignment)); end; |