掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
プログレスバーの枠だけ使う (ID:38958)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いつもお世話になっております。 プログレスバーの枠の中だけを使い内部の描画を変更する 下コードを書いたのですが、プログレスバーのバーがposition propertyで描画されるのを変更できません。 position propertyはそのまま利用したいのですが、何か良い 方法がありますでしょうか? uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Themes, ComCtrls, XPMan, Commctrls; type TProgressbar = class(ComCtrls.TProgressBar) procedure DrawProgress; end; 省略 Procedure TProgressbar.DrawProgress; var R: TRect; Detail: TThemedElementDetails; aCanvas: TCanvas; begin if not(ThemeServices.ThemesEnabled) then exit; DC := GetDC(Self.Handle); aCanvas := TCanvas.Create; aCanvas.Handle := DC; aCanvas.Font.Assign(Self.Font); R := ClientRect; if not Enabled then FProgressBar := tpbar; Detail := ThemeServices.GetElementDetails(FProgressbar); R := ThemeServices.ContentRect(aCanvas.Handle, Detail, R); ここでCANVASの描画処理 R:=ThemeServices.DrawText(DC, Detail, Caption, R, DT_SINGLELINE or DT_CENTER or DT_VCENTER, 0); ReleaseDC(Self.Handle, DC); aCanvas.Free; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.