掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
親ウィンドウがないと表示されてしまう自作コンポーネント (ID:19017)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>「このコンポーネントは定義済みです」 内容の変更によっては現れます.前のコンポを削除してください. >とはいうもののコードなんてあれぐらいで、 そんなわけありません.あのコードをUnitに貼り付けてインストールでき ません!! 最低限のコードがない限りアドバイトは不可能ですよ. 神様なら別かもしれませんが.逆の立場になって考えてみましょう. 例を示します.この例のようなコードがないとどうにもなりません. よく検討してください. くどいようですが,簡単なコードを作成して,提示することです.そうしな いと,誰もアドバイスはできませんよ. unit MyTestButton; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls; type TMyTestButton = class(TCustomControl) private procedure CMTextchanged(var Message: TMessage); message CM_TEXTCHANGED; protected procedure Paint; override; public constructor Create(AOwner: TComponent); override; published property Caption; property Color; property Font; property Visible; property OnClick; end; procedure Register; implementation procedure Register; begin RegisterComponents('Samples', [TMyTestButton]); end; // constructor constructor TMyTestButton.Create(AOwner: TComponent); begin inherited; Width := 85; Height := 36; TabStop := True; end; // Paintメソッド procedure TMyTestButton.Paint; var R: TRect; begin inherited; Canvas.Font := Font; Canvas.Brush.Color:=Color; Canvas.FillRect(ClientRect); R:=ClientRect; Canvas.Brush.Style := bsClear; Canvas.Font.Color := clBlack; DrawText(Canvas.Handle, PChar('Delphi'),-1,R,DT_CENTER or DT_SINGLELINE); end; // Captionが変化したら再描画 procedure TMyTestButton.CMTextchanged(var Message: TMessage); begin inherited; Invalidate; end; end.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.