[BlueLeaf1336]>
PROGRAM>
Natural Born Junk>
オーナードローサンプル(ComboBox版)
2002/10/30:作成
オーナードローのやり方が最初全然わからずに弱ったので記念に。
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
ComboBox: TComboBox;
ComboCanvas: TCanvas;
TextItem: string;
PosX, PosY: integer;
begin
ComboBox := TComboBox(Control);
ComboCanvas := ComboBox.Canvas;
TextItem := ComboBox.Items[Index];
PosX := 5;
PosY := (ComboBox.ItemHeight - ComboCanvas.TextHeight(TextItem)) div 2;
if odSelected in State then
begin
ComboCanvas.Brush.Color := RGB(153, 204, 255);
end else
begin
ComboCanvas.Brush.Color := clWindow;
end;
ComboCanvas.FillRect(Rect);
ComboCanvas.Font.Color := clBlack;
ComboCanvas.TextOut(Rect.Left + PosX, Rect.Top + PosY, TextItem);
end;