喫茶XRAYトップページ
[
▲前のスレッド
]
[13514]
TListView の行の高さを設定
返信
削除
2022/10/14 (金) 11:29:08
Mr.XRAY
TListViewで行の高さを低く設定したときの実際の高さを取得するには
https://
www.
petitmon
te.
com/
bbs/
answers?
question
_id=
29997
某掲示板でレスしたコードの基本形は以下です.
掲示板に提示したコードは,
Button1 クリックで TListView の行の高さを変更できるようにしています.
行の高さは ItemHeight というプロパティにしていますから,
この値を表示すれば「高さの表示」です.
type
TListView = class(Vcl.ComCtrls.TListView)
protected
procedure CNMeasureitem(var Message: TWMMeasureItem); message CN_MEASUREITEM;
end;
TForm1 = class(TForm)
ListView1: TListView;
procedure FormCreate(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
//=============================================================================
// フォーム生成時の処理
//=============================================================================
procedure TForm1.FormCreate(Sender: TObject);
var
LCol : TListColumn;
LItem : TListItem;
LIndex: Integer;
begin
ListView1.ViewStyle := vsReport;
ListView1.OwnerDraw := True;
ListView1.Items.BeginUpdate;
LCol := ListView1.Columns.Add;
LCol.Caption := 'Test Items';
LCol.Width := 200;
for LIndex := 0 to 49 do begin
LItem := ListView1.Items.Add;
LItem.Caption := Format(' %.6d',[LIndex + 1]);
end;
ListView1.Items.EndUpdate;
end;
{ TListView }
//----------------------------------------------- -------------------------
// TListView の CN_MEASUREITEM メッセージ処理
// ItemHeight の値を設定
// OwnerDraw が True でないと機能しない
//----------------------------------------------- -------------------------
procedure TListView.CNMeasureitem(var Message: TWMMeasureItem);
begin
inherited;
Message.MeasureItemStruct.itemHeight := 30;
end;
下図の最初の画像が,質問者が問題としている高さ 10 です.
その下は,高さ 30 の時です.
[13515]
Re:TListView の行の高さを設定
返信
削除
2022/10/14 (金) 11:36:49
Mr.XRAY
TListView の行の高さの設定に TImageList を使用することがあります.
提示したコードで TImageList を使用すると,
CN_MEASUREITEM メッセージによる設定は無視されます.
[13516]
またまた解読に失敗 !!
返信
削除
2022/10/14 (金) 13:45:16
Mr.XRAY
> TListViewで行の高さを低く設定したときの実際の高さを取得するには
>
https://
www.
petitmon
te.
com/
bbs/
answers?
question
_id=
29997
おっ,質問者の反応があり,解決済になつていますね.
何のことはない.単に TListView の行の高さを取得したいだけだったのね.
しかし,まぁ,いろいろと書き込んで・・・
何なんだ,一体.
私の解読能力の絶対的不足なのかしら・・.
[13517]
サンプルとして追加
返信
削除
2022/10/14 (金) 22:20:56
Mr.XRAY
サンプルとして追加しました.
[ 786_TListView の行の高さを設定 ]
http://
mrxray.
on.
coocan.
jp/
Delphi/
plSample
s/
784_TLis
tView_It
emHeight
.
htm
[13518]
TTreeView の行の高さ
返信
削除
2022/10/16 (日) 17:21:42
Mr.XRAY
TTreeView のサンプルも追加しました.
[ 788_TTreeView の行の高さ ( アイテムの高さ ) 設定と取得 ]
http://
mrxray.
on.
coocan.
jp/
Delphi/
plSample
s/
788_TTre
eView_It
emHeight
.
htm
[13522]
TListView のヘッダのカスタム描画
返信
削除
2022/10/24 (月) 21:47:41
Mr.XRAY
以下も追加しました.
[ 786_TListView のカラムヘッダのカスタム描画 ]
http://
mrxray.
on.
coocan.
jp/
Delphi/
plSample
s/
786_TLis
tView_Co
lumnHead
er.
htm
[
▼次のスレッド
]
INCM/CMT
Cyclamen v3.82