Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2009, 22:42   #1
Anfall
Форумчанин
 
Регистрация: 10.02.2009
Сообщений: 181
По умолчанию Изменение размера окна


Вот такое окно. Просьба помочь. Надо чтобы можно было менять только ширину (по вертикали) окна. Но только чтобы не появлялись прокрутки по краям, а менялась ширина листбокса. Думаю ясно изложил) Заранее благодарен)
Anfall вне форума Ответить с цитированием
Старый 13.03.2009, 23:03   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Обрабатывайте у формы OnCanResize, а у listBox'a "включите" нужные параметры свойства Anchors
pu4koff вне форума Ответить с цитированием
Старый 13.03.2009, 23:07   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

И что же тут заумного?
Код:
procedure TForm1.FormResize(Sender: TObject);
begin
ListBox1.Width:=ClientWidth-10;
Height:=800;
end;
mihali4 вне форума Ответить с цитированием
Старый 14.03.2009, 09:26   #4
schnaps
Пользователь
 
Регистрация: 13.03.2009
Сообщений: 17
По умолчанию

возможно еще использование панелей, а на них уже размещать компоненты и путем установки свойств Align в панелях и собственно контролах, тогда можно иобойтись без лишнего кода
schnaps вне форума Ответить с цитированием
Старый 14.03.2009, 10:03   #5
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

Правильнее так
Код:

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  protected
    procedure wmwindowposchanging(var msg : TWMWindowPosChanging); message WM_WINDOWPOSCHANGING;
  end;

...

procedure TForm1.wmwindowposchanging(var msg: TWMWindowPosChanging);
begin
  msg.WindowPos.cy := Height;
end;

end.
или
Код:
  Form1.Constraints.MaxHeight := 400;
  Form1.Constraints.MinHeight := 400;
И как сказал pu4koff лучше использовать Anchors
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 14.03.2009, 10:06   #6
Anfall
Форумчанин
 
Регистрация: 10.02.2009
Сообщений: 181
По умолчанию

Спасибо всем! Разобрался. Сделал так:
У формы в свойтсвах (TSizeConstraints) поставил MaxWidth и minWidth =362.

Далее
Код:
procedure TForm1.FormResize(Sender: TObject);
begin
ListBox1.Height:=Form1.Height-216;
ListBox1.Top:=104;
Button1.Top:=ListBox1.Top+ListBox1.Height+8;
sButton2.Top:=ListBox1.Top+ListBox1.Height+8;
Anfall вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по C++ Builder (изменение размера StringGrid) Sad_SmiliK Помощь студентам 2 11.03.2009 18:20
Изменение размера шрифта Nando Microsoft Office Excel 4 07.03.2009 16:45
Мерцание окна при изменении размера zaqer Win Api 2 30.07.2008 23:39
Размер окна в зависимости от размера окна Reverent JavaScript, Ajax 1 02.02.2008 15:49
Изменение размера картинки Борис Низов PHP 6 09.12.2007 16:26