Развёртывание окна
От: double  
Дата: 09.02.06 11:20
Оценка:
У меня следующая проблемма. Есть окно,которое при ресайзе должно сохранять пропорции ширины к высоте (800/600) Мне надо развернуть его на максимально возможнвй размер так что-бы была видна панель задач,независимо от того где она расположена (снизу сверху сбоку).Зарание спасибо
Re: Развёртывание окна
От: ekamaloff Великобритания  
Дата: 09.02.06 11:30
Оценка: 2 (1)
Здравствуйте, double, Вы писали:

D>У меня следующая проблемма. Есть окно,которое при ресайзе должно сохранять пропорции ширины к высоте (800/600) Мне надо развернуть его на максимально возможнвй размер так что-бы была видна панель задач,независимо от того где она расположена (снизу сверху сбоку).Зарание спасибо


Примерно так:

#define RECT_HEIGHT(rc)   ((rc).bottom - (rc).top)
#define RECT_WIDTH(rc)    ((rc).right - (rc).left)

// ...

RECT rect;
SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0);
double fRatio = 4.0 / 3;
if(RECT_HEIGHT(rect) * fRatio < RECT_WIDTH(rect))
  MoveWindow(0, 0, RECT_HEIGHT(rect) * fRatio, RECT_HEIGHT(rect));
else
  MoveWindow(0, 0, RECT_WIDTH(rect), (double)RECT_WIDTH(rect) / fRatio);


Просьба считать это псевдокодом, иллюстрирующим лишь основную идею .
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.