
21.06.2007, 10:07
|
|
Участник форума
Регистрация: 09.12.2006
Сообщений: 135
Провел на форуме: 426226
Репутация:
726
|
|
Тыкаем по Form DblClick
И редактируем размеры и положение кнопки
Еще раз тыкаем DblClick и используем кнопку как обычно
Код:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if tag=1 then begin
with Sender as Tcomponent do
if tag=555 then begin
with Sender as TButton do begin
SetWindowLong(handle,GWL_STYLE,
GetWindowLong(handle,GWL_STYLE)or WS_BORDER or WS_SIZEBOX);
ReleaseCapture;
Perform(WM_SYSCOMMAND,SC_MOVE+2,0);
end;
end else begin
for i:=0 to form1.ComponentCount-1 do
if form1.Components[i].Tag=555 then
with form1.Components[i] as TButton do begin
SetWindowLong(handle,GWL_STYLE,
GetWindowLong(handle,GWL_STYLE)and not(WS_BORDER or WS_SIZEBOX));
Visible:=false;Visible:=true; ; // так проще
end;
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
// установка обработчика mousevent созданного компонента
Button1.Tag:=555;
Button1.OnMouseDown:=FormMouseDown;
end;
procedure TForm1.FormDblClick(Sender: TObject);
begin
// включение - выключение редактирования компонента
if Form1.Tag=0 then Form1.Tag:=1 else Form1.Tag:=0;
end;
|
|
|