resizeadble CDialogBar
От: Vis Украина  
Дата: 15.10.04 12:28
Оценка:
Возникла неоходимость сделать CDialogBar изменяемого размера.

Стандартная реализация CDialogBar предполагает, что DialogBar имеет размеры даилога, заданного в ремурсах.
Обработка сообщения WM_SIZE результатов не принесла.

Как решить мою проблему, не прибегая к множеству шаблонов диалога?
Re: resizeadble CDialogBar
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 15.10.04 12:41
Оценка:
Здравствуйте, Vis, Вы писали:

Vis>Возникла неоходимость сделать CDialogBar изменяемого размера.


Vis>Стандартная реализация CDialogBar предполагает, что DialogBar имеет размеры даилога, заданного в ремурсах.

Vis>Обработка сообщения WM_SIZE результатов не принесла.

Vis>Как решить мою проблему, не прибегая к множеству шаблонов диалога?


CSizingControlBar — a resizable control bar не подойдет?
Если нет — посмотрите здесь.
- Искренне ваш, Поросенок Пафнутий
Re: resizeadble CDialogBar
От: random_name  
Дата: 15.10.04 14:35
Оценка:
Здравствуйте, Vis, Вы писали:

Vis>Возникла неоходимость сделать CDialogBar изменяемого размера.


Vis>Стандартная реализация CDialogBar предполагает, что DialogBar имеет размеры даилога, заданного в ремурсах.

Vis>Обработка сообщения WM_SIZE результатов не принесла.

Vis>Как решить мою проблему, не прибегая к множеству шаблонов диалога?


Ну блин не знаю как там с множеством шаблонов, но если в свойствах твоего диалога -> в поле Border -> поставить resizing, то он ресайзится будет точно, но тебе наверняка необходим пропорциональный resize и этого недостаточно, то тогда в OnSize чё то типа такого:

HWND hWndChild = ::GetDlgItem(m_hWnd, IDC_PICTURE_PREVIEW);
while (hWndChild != NULL)
{
::GetWindowRect(hWndChild, ElementRect);
.................
// здесь типа вычисление новых координат заресайзенного объекта
.................
::MoveWindow(hWndChild, /*здесь новые координаты*/, TRUE);
hWndChild = ::GetNextWindow(hWndChild, GW_HWNDNEXT);
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.