Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Delphi
Показать сообщение отдельно

Старожил


Сообщения: 225
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата:
Хочешь "правильно" - обрабатывай сообщения WM_SIZING и WM_MOVING.
хочу, только вот с этим никогда дела не имел и ничего у меня не получается...

это то до чего я дошел, только вот уже сил нет, по крайней мере сегодня, я вообще не могу понять как эта штука работает, вроде все пишется одинаково, а результата никакого

Код: Выделить весь код
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure qwe1(var message :Tmessage); message wm_size;
    procedure mtop(var message:Tmessage); message wmsz_top;
    procedure mleft(var message:Tmessage); message wmsz_left;

                         ...

 procedure Tform1.qwe1(var message:Tmessage);
   var h:integer;
   begin
      if form1.Height<200 then form1.Height:=200;
      if form1.width<200 then form1.width:=200;
   end;

 procedure tform1.mtop(var message:Tmessage);
   var h:integer;
   begin
      h:=form1.height;
      if form1.Height<200 then form1.Height:=200;
      if (200-h)>0 then form1.top:=form1.top-(200-h);
   end;

 procedure Tform1.mleft(var message:Tmessage);
   var w:integer;
   begin
   showmessage('');
      w:=form1.width;
      if form1.width<200 then form1.width:=200;
      if (200-w)>0 then form1.left:=form1.left-(200-w);
   end;
с помощью процедуры qwe1 я добиваюся того же результата, что и при помощи обработчика событий, то есть окно не уменьшается менее заданных размеров, но скачет когда я изменяю его размеры сверху-вниз и слева-направо...

с помощью mtop я добился того чтобы она не скакала при изменении размеров сверху-вниз, думал такое же повторить, для слева-направо с помощью mleft но не прокатило, к тому же моя форма также скачет если ее тащить за углы, в смысле изменять размеры... можно конечно попробовать написать что-то типа mtop и для этого случая, но что если получится также как и с mleft... короче я в тупике... может я все таки не с той стороны подошел, как обычно, не там ищу...

-------
Нет такой плохой ситуации, которая не могла бы стать еще хуже.


Отправлено: 12:57, 23-11-2002 | #7

Название темы: Delphi