Показать сообщение отдельно

  #2  
Старый 21.06.2007, 10:07
Xserg
Участник форума
Регистрация: 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;
 
Ответить с цитированием