Конференция "Компоненты" » Помогите создать 2 компонента
 
  • PATER (29.05.07 22:39) [0]
    Вобщем нужно создать 2 свои кнопки (2 компонента), в первой прописать чтобы она рисовала круг
    во второй чтобы она рисовала квадрат
  • Сергей М. © (30.05.07 08:12) [1]
    И в чем сложности ?
  • PATER (30.05.07 16:35) [2]
    в неумении создавать их)), и в незнании что прописывать в коде, чтобы именно рисовался квадрат и круг
  • Сергей М. © (30.05.07 16:54) [3]
    А посмотреть код любого готового компонента, например, TShape - не царское дело ?
  • vl_chel © (31.05.07 10:08) [4]
    Динамическое создани компонента

    var
     MyComp : TMyComponent; //Нужный класс компонента

    begin
     MyComp := TMyComp.Create(nil);
     MyComp.Name := 'Name***';
     MyComp.Left := .....;
     MyComp.Top := .....;

     .........//другие необходимые свойства

     MyComp.Parent := Form1;

    end;
  • Savek (31.05.07 14:58) [5]
    Где она должна рисовать круг/квадрат?
    И причем тут "Создание компонентов?"
  • {RASkov} © (31.05.07 15:05) [6]
    Помоему ветка не здесь должна быть )
    Из [0] и [2] выходит только это:
    Форма:
    object Form1: TForm1
     Left = 197
     Top = 110
     Width = 266
     Height = 266
     Caption = 'Form1'
     Color = clBtnFace
     Font.Charset = DEFAULT_CHARSET
     Font.Color = clWindowText
     Font.Height = -11
     Font.Name = 'MS Sans Serif'
     Font.Style = []
     OldCreateOrder = False
     PixelsPerInch = 96
     TextHeight = 13
     object Button1: TButton
       Left = 176
       Top = 12
       Width = 75
       Height = 25
       Caption = 'Круг'
       TabOrder = 0
       OnClick = Button1Click
     end
     object Button2: TButton
       Left = 176
       Top = 44
       Width = 75
       Height = 25
       Caption = 'Квадрат'
       TabOrder = 1
       OnClick = Button2Click
     end
    end


    и ее модуль:
    unit Unit1;

    interface

    uses
     Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
     Dialogs, StdCtrls;

    type
     TForm1 = class(TForm)
       Button1: TButton;
       Button2: TButton;
       procedure Button1Click(Sender: TObject);
       procedure Button2Click(Sender: TObject);
     private
       { Private declarations }
     public
       { Public declarations }
     end;

    var
     Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    begin
     Canvas.Ellipse(10, 10, 110, 110);
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    begin
     Canvas.Rectangle(10, 120, 110, 220);
    end;

    end.


    :)

    > [0] PATER   (29.05.07 22:39)

    Или я не прав, а? )
  • TStas © (01.06.07 17:02) [7]
    Метод paint надо перекрыть. Если у предка его нет явно, то надо wm_paint ловить. Если это кнопка, то, вообже-то, хорошо бы, чтобы она умела нажиматься, т. е. надо перекрывать MoudeDown и MouseUp. А еще лучше найти предка достойного, и ничего не перекрывать
 
Конференция "Компоненты" » Помогите создать 2 компонента
Есть новые Нет новых   [119261   +45][b:0][p:0.002]