« 别离的笙箫 | 首页 | 学习寂寞 »

关于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;



引用:

本篇引用地址:
http://www.vetcafe.net/cgi-bin/mt3/mt-tb.cgi/2396

发表评论

(如果您以前没在这里发表过评论,也许您发表的评论需要Blog主人的审核才能显示在这里,感谢您的静候。)