【发布时间】:2021-03-16 15:07:15
【问题描述】:
早上好,我正在尝试将网格列的宽度调整为其内容,但我还需要可以手动修改该宽度。网格是一个 TStringGrid,我使用的是 delphi XE7。 我正在尝试使用以下代码:
procedure gDetailDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
var
vWidth : Integer;
begin
if (FormPosition.WMaximized = True) then
begin
vWidth := gDetail.Canvas.TextWidth(gDetail.Cells[ACol, ARow]);
if vWidth > aColWidthExpanded[ACol] then
aColWidthExpanded[ACol] := vWidth+20;
gDetail.ColWidths[ACol] := aColWidthExpanded[ACol];
end;
end;
网格加载正确,列宽已根据内容正确调整,但我无法手动修改列宽。我做错了什么,我无法修改列宽
【问题讨论】:
-
什么是 TStringAlignGrid?它不是 Delphi 提供的组件。
-
真的不知道,但我以为是delphi组件,可能是TStringGrid吧。
-
请检查您的源代码并编辑您的问题以确保正确。
标签: delphi pascal delphi-xe7