16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"TListBoxの特定項目をグレイアウト"
この発言に対し以下のコメントが寄せられています
#01184 H-Triton さん RE:TListBoxの特定項目をグレイアウト
リストボックスの2番目の項目の文字色をグレーに変更するとともにクリ
ックした時の選択状態化(反転表示)を抑制し、あたかもその項目が無効化
されているような外観を与えるサンプルコードです。
リストボックスのStyleプロパティをlbOwnerDrawFixedに設定し、
OnDrawItemイベントハンドラーのコードを以下のように記述します。
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with ListBox1 do
begin
if Index = 1 then // 2番目の項目はグレイアウトの配色
begin
Canvas.Brush.Color:= clWindow;
Canvas.Font.Color:= clGray;
end else
begin // 2番目以外の項目は通常の配色
if odSelected in State then
begin // 項目が選択されている場合
Canvas.Brush.Color:= clHighlight;
Canvas.Font.Color:= clHighlightText;
end else
begin // 項目が選択されていない場合
Canvas.Brush.Color:= clWindow;
Canvas.Font.Color:= clWindowText;
end;
end;
// キャンバスへの描画処理
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left+2, Rect.Top+2, Items[Index]);
end;
end;
http://member.nifty.ne.jp/h-triton/
○ 快速・大容量テキストエディタ「えるの〜と」公開中 ○
Avalon's Friendly Crew #80008 H-Triton (^^) since 1996
- FDELPHI MES(16):玉石混淆みんなで作るSample蔵【見本蓄積】 00/10/21 -
Original document by H-Triton 氏 ID:(QZV11422)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|