|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Обработчик события OnMouseDown в созданого програмно компонента TShape?
Люди подскажыте как правильно написать обработчик события OnMouseDown для програмно созданого компонента TShape?
Пример кода как я создаю компонент! Shape:TShape; Shape:=TShape.Create(Form1); Shape.Parent:=Form1; Теперь надо написать Shape.onmousedown:=mymousedown и этот mymousedown надо как то обявить, а как ? Пробовал некоторые варианты выдает ошыбку. Черезх гугл так и нешол решения. Может кто знает помогите! Зарание благодарен! |
#2
|
||||
|
||||
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } AShape: TShape; procedure ShapeMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); public end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ShapeMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ShowMessage('ShapeMouseDown'); end; procedure TForm1.FormCreate(Sender: TObject); begin AShape:=TShape.Create(Self); AShape.Parent:=Self; AShape.OnMouseDown:=ShapeMouseDown; end; end. Пишу программы за еду. __________________ |
#3
|
|||
|
|||
А вот допустим если у нас создается несколько shape автоматически, и нужно скажем по клацанью на любом из них записывать в label1.caption имя shape по которому кликнули? просто когда делал по аналогии, записывалось только одно значение имени
|
#4
|
||||
|
||||
Код:
procedure ShapeMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Label1.Caption:=TShape(Sender).Name; end; |