当字段很长时,TDBEdit可不可以自动折行显示?(50分)

  • 主题发起人 主题发起人 ttaa
  • 开始时间 开始时间
T

ttaa

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个字段,itme char(100)。
如果用Tdbedit显示。用一行,会很长,不好看。

-----------------------------------------------------------------------------
|1234567890123456789012345678901234567890123456789012345678901234567890......|
------------------------------------------------------------------------------
TDBEdit可不可以自动折行显示?

----------------------
|12345678901234567890|
|12345678901234567890|
|...... |
----------------------
我找了很久都没有找到答案,所以来问,请勿因为简单而糗我。
 
这个问题在TDBEdit是不可能实现的
 
那怎么办呢?用dbmemo代替?
但是dbmemo接受回车。不好。
 
用 DBRichEdit 行不?
 
你试试用drawtext。
下面是一个stringgrid的单元格居中的例子
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
Area: TRect;
begin
with StringGrid1, StringGrid1.Canvas do begin
FillRect(Rect);
Area:= Rect;
InflateRect(Area, -2, -2);
if (ACol=1) or (ACol=3) then DrawText(Handle, PChar(Cells[ACol, ARow]),
Length(Cells[ACol, ARow]), Area, DT_RIGHT)
else TextRect(Rect, Rect.Left + 2, Rect.Top + 2, Cells[ACol, ARow]);
end;
end;
 
//用DbMemo,然后将用户输入的回车去除
//Table1的Name字段连接一个DbMemo,然后写如下代码去除回车符
procedure TForm1.Table1NameSetText(Sender: TField; const Text: string);
begin
if Trim(Text) = '' then
Sender.AsString := ''
else
Sender.AsString := StringReplace(Text, #13#10, '', [rfReplaceAll]);
end;
 
再等多半天,就分分。
看看还有没有什么好方法。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部