掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ボタンのキャプションで部分的に文字の書式を変更するには? (ID:9991)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
スタテツさん、早速の回答ありがとうございました。 コードを参考にさせていただきました。 おかげさまで、SpeedButtonで試したところ、 計画していたことが実現できました。 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TForm1 = class(TForm) SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; procedure FormCreate(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private 宣言 } bmp:TBitmap; public { Public 宣言 } end; var Form1: TForm1; mousedown_count : integer ; implementation uses Math; {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin bmp := TBitmap.Create ; bmp.Width:=SpeedButton1.Width; bmp.Height:=SpeedButton1.Height; bmp.Canvas.Pen.Color:=clBtnFace; bmp.Canvas.Brush.Color:=clBtnFace; bmp.Canvas.Rectangle(0,0,bmp.Width,bmp.Height); bmp.Canvas.Font.Color:= clBlack ; bmp.Canvas.Font.Size:= 20 ; bmp.Canvas.TextOut(20, 20, 'A'); bmp.Canvas.TextOut(50, 20, 'B'); bmp.Canvas.TextOut(80, 20, 'C'); SpeedButton1.Glyph := bmp ; end; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin bmp.Free; end; procedure TForm1.SpeedButton2Click(Sender: TObject); begin close ; //終了 end; procedure TForm1.SpeedButton1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var j : integer ; begin bmp.Canvas.Font.Color:= clLime ; bmp.Canvas.Font.Size:= 20 ; Inc(mousedown_count) ; j := mousedown_count mod 3 ; case j of 1 : bmp.Canvas.TextOut(20, 20 , 'A'); 2 : bmp.Canvas.TextOut(50, 20 , 'B'); 0 : bmp.Canvas.TextOut(80, 20 , 'C'); end ; SpeedButton1.Glyph := bmp ; end; procedure TForm1.SpeedButton1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin bmp.Canvas.Font.Color:= clBlack ; bmp.Canvas.Font.Size:= 20 ; bmp.Canvas.TextOut(20, 20 , 'A'); bmp.Canvas.TextOut(50, 20 , 'B'); bmp.Canvas.TextOut(80, 20 , 'C'); SpeedButton1.Glyph := bmp ; end; end. //SpeedButton1 のサイズを縦:73 × 横:123 にして実行しました。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.