Trackbarについて


SakTak  2004-06-10 23:36:26  No: 9377

TrackBarについて質問があります。
TrackBarの背景に画像を使って見栄えを良くいしたいのですが
コンポーネントが見つからず、過去ログを検索し探したのですが見つからなかったので
この際、自分で作ってみようと思い勉強しつつチャレンジしています。
コンポーネントを作るのは初めてで、悪戦苦闘しています。

プロパティでbitmapを読み込みするところまでは出来たのですが、読み込んだ画像の表示の部分が出来ません。
paintはオーバーライド出来ないので、表示する為にどのような処理が必要なのでしょうか?
また、上位クラスのTTrackBarを他のクラスにしたほうがいいのでしょうか?
よろしくお願い致します。

unit PictureTrackBar;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls;

type
  TPictureTrackBar = class(TTrackBar)
  private
    { Private 宣言 }
    FBitmap:Tbitmap;
    procedure setbitmap(value:Tbitmap);
  protected
    { Protected 宣言 }
  public
    { Public 宣言 }
    constructor create(aowner:Tcomponent);override;
    destructor  destroy;override;
  published
    { Published 宣言 }
    property bitmap:Tbitmap read Fbitmap write setbitmap;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('MyComp', [TPictureTrackBar]);
end;

{ TPictureTrackBar }

constructor TPictureTrackBar.create(aowner: Tcomponent);
begin
  inherited create(aowner);
  Fbitmap:=Tbitmap.Create;
end;

destructor TPictureTrackBar.destroy;
begin
  Fbitmap.Free;
  inherited destroy;

end;

procedure TPictureTrackBar.setbitmap(value: Tbitmap);
begin
    Fbitmap.Assign(value);
end;

end.


jok  2004-06-11 01:38:03  No: 9378

まず、TTrackBar クラスのインスタンスが作るコントロールはウィンドウズの
コモンコントロールのトラックバーです。ですから、トラックバーの外観を
描いているのはウィンドウズです。Delphi の TTrackbar を継承しただけでは
外観をコントロールする事はできません。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加