Показать сообщение отдельно
  #14  
Старый 14.03.2011, 16:35
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

еще загвоздка,при создании формы я создаю шейп
Код:
var
  Form1: TForm1;
  Sh,Sh1:TShape;
<...>
procedure TForm1.FormCreate(Sender: TObject);

begin
 Sh:=TShape.Create(Self) ;
 Sh.Name:='shape1';
 Sh.Top:=40;
 Sh.left:=60;
 Sh.Height:=100;
 Sh.Width:=100;
 Sh.OnMouseDown:=NewSh;//ВЫЛЕЗАЕТ ОШИБКА!
 Sh.Parent:=Form1;

end;

Код:
procedure Tform1.NewSh(Sender: TObject);
begin
 Sh1:=TShape.Create(Self) ;
 Sh1.Top:=Sh.Top-2; //ЭТО НАДО ИЗМЕНИТЬ
 Sh1.left:=Sh.left-2; //И ЭТО
 Sh1.Height:=104;
 Sh1.Width:=104;
 Sh1.Brush.color:=clred;
 Sh1.Parent:=Form1;
 Sh1.SendToBack;
end;
вот,во первых вылезает ошибка.как исправить?(
во вторых, при вызове процедуры NewSh у создаваемого шейпа, left и Тор должы браться не из Sh а из того компонента,на котором мышка нажималась(процедуру Newsh планирую запускать из нескольких мест,но это всё доработаю..) это както через sender.tobject надо делать.
для начала вот эти два вопроса,помогите пожалуйста
Ответить с цитированием