Имя пользователя:
Пароль:
 

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

Старожил


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

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


Код: Выделить весь код
    procedure qwe1(var message :Tmessage); message wm_sizing;

...

 procedure Tform1.qwe1(var message:Tmessage);
   type R=record
        left:Longint;
        top:Longint;
        right:Longint;
        bottom:Longint;
        end;

   var h:integer;
       myRect:^R;        //       longint
       mRect:R;
   begin
{   myRect:=@(message.lparam);} {НЕТРОГАТЬ!!!}
 myRect:=ptr(message.lparam);
 mrect:=Myrect^;
 label1.caption:=inttostr(mRect.Top)+#13+inttostr(mRect.Bottom)+#13+inttostr(mRect.left)+#13+inttostr(mRect.Right);
 label2.caption:=inttostr(mrect.bottom-mrect.top);

 if mrect.bottom-mrect.top<300 then
  begin
   form1.BorderStyle:=bsSingle;
   form1.BorderStyle:=bsSizeAble;
   form1.height:=300;                        //repaint
   form1.invalidate;
   beep;
  end;
 if mrect.right-mrect.left<300 then
  begin
   form1.BorderStyle:=bsSingle;
   form1.BorderStyle:=bsSizeAble;
   form1.width:=300;
   form1.invalidate;
   beep;
  end;
  form1.invalidate; //repaint; refresh;
end;
вроде работает, т.е. форма перестает изменять размеры при достижении одного из недопустимых параметров, но как это коряво все работает просто ужас

Код: Выделить весь код
form1.BorderStyle:=bsSingle;
 form1.BorderStyle:=bsSizeAble;
это чтобы мышка форму отпустила

Код: Выделить весь код
 form1.invalidate; //repaint; refresh;
это я пытаюсь все перерисовать, но все равно все коряво...

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


Отправлено: 09:35, 30-11-2002 | #9

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