Q&A

  • 스피드버튼과 라벨이 동시에 들어가는 컴포넌트
스피드 버튼과 라벨이 동시에 들어가는 컴포넌트를 만들려고 합니다.



\\

\\ 스피드 \\

라벨 라벨

\\ 버 튼 \\

\\

이렇게 만들려고 하는데 어떤식으로 해야되는지 조언좀 부탁드립니다.



3  COMMENTS
  • Profile
    이채성 2000.11.16 01:03
    간단히 만들었습니다만

    여기에 살을 붙이면 될 것으로 사료됩니다.



    unit SimpleLabelButton;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, extctrls, stdctrls, buttons;



    type

    TSimpleLabelButton = class(TCustomPanel)

    private

    FLabel : TLabel;

    FSpeedButton : TSpeedButton;

    protected

    { Protected declarations }

    public

    constructor Create(AOwner:TComponent); override;

    destructor Destroy; override;

    published

    { Published declarations }

    end;



    procedure Register;



    implementation



    procedure Register;

    begin

    RegisterComponents('MOL', [TSimpleLabelButton]);

    end;



    { TSimpleLabelButton }



    constructor TSimpleLabelButton.Create(AOwner: TComponent);

    begin

    inherited Create(AOwner);



    BoundsRect := Rect(0,0,100,50);



    FLabel := TLabel.Create(Self);

    FSpeedButton := TSpeedButton.Create(Self);

    FLabel.Parent := Self;

    FSpeedButton.Parent := Self;



    FLabel.BoundsRect := Rect(0,0,50,50);

    FSpeedButton.BoundsRect := Rect(51,0,100,50);

    FLabel.Caption := 'Label';

    FSpeedButton.Caption := 'SpeedButton';



    end;



    destructor TSimpleLabelButton.Destroy;

    begin

    inherited Destroy;

    end;



    end.



    이승엽 wrote:

    > 스피드 버튼과 라벨이 동시에 들어가는 컴포넌트를 만들려고 합니다.

    >

    > \\

    > \\ 스피드 \\

    > 라벨 라벨

    > \\ 버 튼 \\

    > \\

    > 이렇게 만들려고 하는데 어떤식으로 해야되는지 조언좀 부탁드립니다.

    >

  • Profile
    이승엽 2000.11.16 02:00
    답변해 주셔서 정말 감사합니다.

    그런데

    private부분에서 에러가 자꾸 나는데 무슨 에런지 도저히 모르겠습니다.

    이제 델파이 시작한지 한달정도 되서...프로그램은 짜야하고...

    급해서 그러는데...도와주세요.....

    private

    FLabel : TLabel;

    FSpeedButton : TSpeedButton;



    이 부분인데..Undeclared Identifier:'TLabel'이라고 나오는데....도대체 무슨 에러인지요.....

    가르쳐 주시겠습니까?

    나머지 소스코드는 모두 이해할 수 있는데....에러가 나니 도무지 모르겠네요...

    그럼 이만...

    좋은 답변....기다리겠습니다.







    >

    > unit SimpleLabelButton;

    >

    > interface

    >

    > uses

    > Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, extctrls, stdctrls, buttons;

    >

    > type

    > TSimpleLabelButton = class(TCustomPanel)

    > private

    > FLabel : TLabel;

    > FSpeedButton : TSpeedButton;

    > protected

    > { Protected declarations }

    > public

    > constructor Create(AOwner:TComponent); override;

    > destructor Destroy; override;

    > published

    > { Published declarations }

    > end;

    >

    > procedure Register;

    >

    > implementation

    >

    > procedure Register;

    > begin

    > RegisterComponents('MOL', [TSimpleLabelButton]);

    > end;

    >

    > { TSimpleLabelButton }

    >

    > constructor TSimpleLabelButton.Create(AOwner: TComponent);

    > begin

    > inherited Create(AOwner);

    >

    > BoundsRect := Rect(0,0,100,50);

    >

    > FLabel := TLabel.Create(Self);

    > FSpeedButton := TSpeedButton.Create(Self);

    > FLabel.Parent := Self;

    > FSpeedButton.Parent := Self;

    >

    > FLabel.BoundsRect := Rect(0,0,50,50);

    > FSpeedButton.BoundsRect := Rect(51,0,100,50);

    > FLabel.Caption := 'Label';

    > FSpeedButton.Caption := 'SpeedButton';

    >

    > end;

    >

    > destructor TSimpleLabelButton.Destroy;

    > begin

    > inherited Destroy;

    > end;

    >

    > end.

    >



  • Profile
    이채성 2000.11.16 03:04
    말씀하신 내용은

    C 프로그램을 치면

    Header파일이 정상적이지 않다는 내용입니다.

    폼에서 TLabel을 하나 선택하신후 Help(F1)을 누르면 TLabel이 어디에 포함되어 있는지

    알 수 있습니다.

    그 파일을 uses절에 넣어주세요.



    저는 5.0으로 샘플을 만들었는 데 제가 컴파일할때는 이상이 없었습니다.

    혹여 옛날버젼을 사용하고 계시지나 않은지 궁금하네요.



    한번 확인해 보시기 바랍니다.



    이승엽 wrote:

    > 답변해 주셔서 정말 감사합니다.

    > 그런데

    > private부분에서 에러가 자꾸 나는데 무슨 에런지 도저히 모르겠습니다.

    > 이제 델파이 시작한지 한달정도 되서...프로그램은 짜야하고...

    > 급해서 그러는데...도와주세요.....

    > private

    > FLabel : TLabel;

    > FSpeedButton : TSpeedButton;

    >

    > 이 부분인데..Undeclared Identifier:'TLabel'이라고 나오는데....도대체 무슨 에러인지요.....

    > 가르쳐 주시겠습니까?

    > 나머지 소스코드는 모두 이해할 수 있는데....에러가 나니 도무지 모르겠네요...

    > 그럼 이만...

    > 좋은 답변....기다리겠습니다.

    >

    >

    >

    > >

    > > unit SimpleLabelButton;

    > >

    > > interface

    > >

    > > uses

    > > Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, extctrls, stdctrls, buttons;

    > >

    > > type

    > > TSimpleLabelButton = class(TCustomPanel)

    > > private

    > > FLabel : TLabel;

    > > FSpeedButton : TSpeedButton;

    > > protected

    > > { Protected declarations }

    > > public

    > > constructor Create(AOwner:TComponent); override;

    > > destructor Destroy; override;

    > > published

    > > { Published declarations }

    > > end;

    > >

    > > procedure Register;

    > >

    > > implementation

    > >

    > > procedure Register;

    > > begin

    > > RegisterComponents('MOL', [TSimpleLabelButton]);

    > > end;

    > >

    > > { TSimpleLabelButton }

    > >

    > > constructor TSimpleLabelButton.Create(AOwner: TComponent);

    > > begin

    > > inherited Create(AOwner);

    > >

    > > BoundsRect := Rect(0,0,100,50);

    > >

    > > FLabel := TLabel.Create(Self);

    > > FSpeedButton := TSpeedButton.Create(Self);

    > > FLabel.Parent := Self;

    > > FSpeedButton.Parent := Self;

    > >

    > > FLabel.BoundsRect := Rect(0,0,50,50);

    > > FSpeedButton.BoundsRect := Rect(51,0,100,50);

    > > FLabel.Caption := 'Label';

    > > FSpeedButton.Caption := 'SpeedButton';

    > >

    > > end;

    > >

    > > destructor TSimpleLabelButton.Destroy;

    > > begin

    > > inherited Destroy;

    > > end;

    > >

    > > end.

    > >

    >