掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
子コンポーネントが本来持っていないプロパティを付け加えるには? (ID:33163)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
コンポーネントについて学習を始めたところです。 まず、親子関係なしで、トラックバーだけでやってみました。 トラックバーのスライダーが動くところにある選択領域の表示/非表示をさせるためのプロパティを付け加えたところ、できました。 次に、TPanelの上にTTrackBarを置き、同様に選択領域の表示/非表示ができるか、やってみました。 できませんでした。 自身のときの方法を、親子で用いてもだめなのでしょうか。 どのようにすれば実現できるのでしょうか。 教えてください。 以下がそのソースです。 ------------------------------------- unit PanelTrackBarEx02; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls,ComCtrls,StdCtrls, CommCtrl; type TPanelTrackBarEx02 = class(TPanel) private { Private 宣言 } FTrackBar: TTrackBar; FTrackBarSelectRange: Boolean; procedure SetTrackBarSelectRange(const Value: Boolean); protected { Protected 宣言 } procedure CreateParams(var Params: TCreateParams); override; public { Public 宣言 } constructor Create( AOwner: TComponent); override; published { Published 宣言 } property TrackBarSelectRange: Boolean read FTrackBarSelectRange write SetTrackBarSelectRange; end; procedure Register; implementation procedure Register; begin RegisterComponents('Samples', [TPanelTrackBarEx02]); end; constructor TPanelTrackBarEx02.Create( AOwner: TComponent); begin inherited Create(AOwner); FTrackBar:= TTrackBar.Create(self); FTrackBar.Parent:= self; end; procedure TPanelTrackBarEx02.SetTrackBarSelectRange(const Value: Boolean); begin FTrackBarSelectRange:= Value; ReCreateWnd; end; procedure TPanelTrackBarEx02.CreateParams(var Params: TCreateParams); begin inherited; if not TrackBarSelectRange=true then Params.Style:= Params.Style and not TBS_ENABLESELRANGE; end; end. ---------------------
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.