Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Главная форма как в Delphi IDE


КаПиБаРа ©   (2005-01-31 10:11:00) 

Нужно сделать форму, которяв максимизированном состоянии занимала бы не весь экран, а была бы высотой 60 пикселов.
Есть у кого нибудь наработки?
А то у меня то в одном случае не срабатывает то в другом. В общем прыгаю с бубном :(
В общем не изменяется размер формы, если она создается максимизированной. Если код раскомментировать, проблема устраняется, однако при этом форма разворачивается на весь экран при максимизации из нормального состояния.

procedure WMWindowPosChanging(var Message: TWMWindowPosChanging); message WM_WINDOWPOSCHANGING;
...

procedure TMainForm.WMWindowPosChanging(var Message: TWMWindowPosChanging);
var
 Placement: TWindowPlacement;
begin
 GetWindowPlacement(Handle, @Placement);
{  if ((Message.WindowPos.flags and SWP_SHOWWINDOW) = 0) or ((Message.WindowPos.flags and SWP_FRAMECHANGED) = 0) then
 begin
   inherited;
   Exit;
 end;}
 if (Placement.showCmd = SW_SHOWMAXIMIZED)then
   Message.WindowPos.cy := 60
 else
   inherited;
end;


КаПиБаРа   (2005-01-31 12:21:00) [1]

TUser ©   (31.01.05 10:24) [4]
Этот способ подошол для не главных окон, которые в максимизированном состоянии должны распологаться под главными.

Спасибо всем за помощь.


КаПиБаРа   (2005-01-31 10:45:00) [2]

Вот как все просто. Чесно говоря не думал что Constraints работает при развернутом окне. Спасибо.


TUser   (2005-01-31 10:24:00) [3]

procedure TForm1.WMGETMINMAXINFO(var Msg:TWMGetMinMaxInfo);
begin
  inherited;
  Msg.MinMaxInfo^.ptMaxSize:=Point(Screen.Width,Height);
end;


TUser   (2005-01-31 10:22:00) [4]

Надо перехватить событие WM_GetMinMaxInfo и прописать соотвествующие параметры.


Александр Иванов   (2005-01-31 10:21:00) [5]

Зачем такие сложности? По-моему можно обойтись простым SDI интерфейсом и стандартными констрейтами.


Stanislav   (2005-01-31 10:19:00) [6]

Constraints.MaxHeight:=60.


Наверх

Титульная страница Поиск, карта сайта Написать письмо