お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"TEditorオーナードロー(2)"




もうひとつ、TEditorオーナードローのサンプルです。
TopMarginの領域にルーラー(目盛)をけっこうかっこよく描画します。

(1)プロパティ設定
   DrawStyle:dsOwnerDraw

(2)コード
const
  Ruler = '.........1.........2.........3.........4.........5.........6.........7.........8.........9.........';
var
  RRect: TRect;

// ルーラー描画領域を設定する
procedure Form1.FormCreate(Sender: TObject);
begin
  with Editor1 do
  begin
    RRect:= Rect(0, 0, Canvas.TextWidth(Ruler), Canvas.TextHeight(Ruler));
    TopMargin:= Canvas.TextHeight(Ruler) + 6;
  end;
end;

// エディタ−オーナードロー
procedure Form1.Editor1DrawWord(Sender: TObject; WordStr: String;
  Reserved: Boolean; Rect: TRect; X, Y, RowNumber: Integer);
begin
  with Editor1 do
  begin
    // ルーラーの描画
    Canvas.Brush.Color:= clSilver;
    Canvas.Font.Style:= [fsUnderLine];
    Canvas.Font.Color:= clGray;
    Canvas.TextRect(RRect, 0, 0, Ruler);
    // テキストの描画
    Canvas.Brush.Color:= Color;
    Canvas.Font.Style:= Font.Style;
    Canvas.Font.Color:= Font.Color;
    Canvas.FillRect(Rect);
    Canvas.TextRect(Rect, X, Y, WordStr);
  end;
end;


           ○ 極楽通信環境 AvalonU  nifty:FAVALON/LIB/3/59 ○
           ● 極道録眼鏡「えるつぅ」 nifty:FAVALON/LIB/3/60 ●
         Avalon's Friendly Crew #80008  H-Triton (^^) since 1996

Original document by H-Triton        氏 ID:(QZV11422)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum