失礼します。初投稿です。
TButtonに色をつける方法についてで、過去ログ参照したところできないことが分かったのですがこちらのHP
http://rakasaka.fc2web.com/delphi/odbtn.html
で、やり方が書いてあったので、試そうと思っているんですが、初心者なのでやり方に困っています。どうかご指導のほうよろしくお願いできないでしょうかm_ _m
使っているDelphiのバージョンはTurbo Delphiの無償版です。
上記の懇丁寧なサイトを見て出来ないと言っているのか?
・・・全くトライしてないだろ?
って言うか。
TurboDelphiの無償版ってオリジナルコンポーネント作成できたっけ?
> TurboDelphiの無償版ってオリジナルコンポーネント作成できたっけ?
初期バージョンには、 dclusr.dpkを使用することでコンポーネントの
インストールができてしまうという不具合が・・・
・・・環境によっては・・・ん、ん・・・
ごほごほ。
初心者で何も分からないですみません。
オリジナルコンポーネントはPro版じゃないとインストールできないみたいなので、無償版だとできないです。
いけませんね。
不具合と言えどもライセンス違反です。
Syake おまえは何様だ!!
無償版はコンポのインストールはできませんが、
コード上でCreateすれば使用できます。
OwnerDrawButton1: TOwnerDrawButton;
OwnerDrawButton1 := TOwnerDrawButton.Create;
な感じで。
Delお前こそ何様だ!!!
アナタ、またこれ繰り返すアルか?
https://www.petitmonte.com/bbs/answers?question_id=4213
>で、やり方が書いてあったので、試そうと思っているんですが
試すだけなら、動的な生成でイケルけど、その「色をつけるTButtonコンポ」は
クラシックスタイルの描画なので、XP以降では見栄えが良くないよ。
理解しました。
申し訳ありませんm(__)m
XPスタイルであってもOK。
クリック時、フォーカス時の描画は省略してるけど。
type
TButtonEx = class(TButton)
private
procedure WmPaint(var Msg: TWmPaint); Message WM_PAINT;
published
property Color;
end;
procedure TButtonEx.WmPaint(var Msg: TWmPaint);
var
Rect: TRect;
begin
inherited;
with TCanvas.Create do try
Handle := GetWindowDC(Self.Handle);
Brush.Color := Color;
Rect := ClientRect;
InflateRect(Rect, -3, -3);
FillRect(Rect);
DrawText(Handle, PChar(Caption), -1, Rect,
DT_SINGLELINE or DT_CENTER or DT_VCENTER);
finally
ReleaseDC(Handle, Self.Handle);
Free;
end;
end;
TBitBtnは使えないのですか?
みなさんありがとうございます。
ツイート | ![]() |