-
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. А еще лучше найти предка достойного, и ничего не перекрывать