Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > запрет расширения формы


Автор: AlexDi 17.10.2009, 09:40
 хочется через WM_NCLBUTTONDBLCLK, но что то не идёт.. smile 

Код

procedure TForm1.WMGetSysCommand(var Message: TMessage);
var  Msg: PMsg;
begin
if Msg^.message = WM_NCLBUTTONDBLCLK then
 begin
   if Msg^.wParam = HTCAPTION then
   begin
    MessageDlg('дв клик ',mtInformation,[mbOk],0);
   end;
  end
  else Inherited;
end;

Автор: MetalFan 17.10.2009, 10:01
эм... а может убрать из TForm.BorderIcons biMaximize ?

Автор: Данкинг 17.10.2009, 10:22
BorderStyle = bsSingle ?

Автор: AlexDi 17.10.2009, 10:33
нет нет, кнопки хорошо бы оставить в покое, то то и оно..) 

Автор: Данкинг 17.10.2009, 11:05
А зачем нужны кнопки, если результата от нажатия на них всё равно не будет? Ну, попробуй принудительно размеры задавать:
Код

procedure TForm1.FormResize(Sender: TObject);
begin
form1.Height:=150;
form1.Width:=100;
end;


Автор: AlexDi 17.10.2009, 11:37
принудительное задание размеров всё равно вызывает скачек формы, что тоже не есть хорошо..)

Автор: Keeper89 17.10.2009, 12:53
Код

procedure TForm1.FormCanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
begin
  Resize := False;
end;

Ы?

Автор: AlexDi 17.10.2009, 14:02
а из левого угла кто её будет вытаскивать..?), изменение координат опять же сделает мигание..
тут нужно только через SysCommand, видимо..

Автор: Akella 18.10.2009, 08:48
А как же Constraints?

Автор: THandle 18.10.2009, 09:25
Akella, при использовании этого свойства при нажатии на кнопочку развернуть форма перелетит в верхний левый угол.

Автор: Alexeis 18.10.2009, 16:31
 Можно использовать диалоговый режим формы. У него нет кнопок свернуть развернуть и размер не позволяет менять отродясь. ИМХО для этого и делался такой режим.

Автор: Akella 19.10.2009, 08:51
Цитата(AlexDi @  17.10.2009,  10:33 Найти цитируемый пост)
нет нет, кнопки хорошо бы оставить в покое, то то и оно..) 

А почему? Проку от этих кнопок, если они не работают  smile

Добавлено через 1 минуту и 36 секунд
THandle, 
Цитата(AlexDi @  17.10.2009,  14:02 Найти цитируемый пост)
а из левого угла кто её будет вытаскивать..?), изменение координат опять же сделает мигание..


Ага, я пропустил это сообщение. Но автор темы мог бы сразу озвучить все условия, а то получается, как часто бывает, условия скажут, а потом остальные из автора ещё вытягивают инфу клещами, как будто это нужно им, а не автору smile 

Автор: AlexDi 19.10.2009, 09:08
 спасибо всем, задача решилась вот таким способом..
Код

procedure TForm1.WMGetSysCommand(var Message: TMessage);
begin
         IF (Message.wParam = SC_MAXIMIZE)
     Then {form1.Visible:=False}
     Else begin

     if (Message.wParam = WM_NCLBUTTONDBLCLK) then
      {form1.Visible:=False}
     Else Inherited;
     end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)