Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
WinAPI & Visual C++
(Модератор:
Вад
) > Тема:
Изменение размеров окна?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Изменение размеров окна? (Прочитано 14503 раз)
0 Пользователей и 1 Гость смотрят эту тему.
asker
Помогающий
Offline
Пол:
Изменение размеров окна?
«
:
26-04-2006 08:10 »
Перехватываю WM_SIZE, меняю размер, но ни чего не происходит.
Код:
void CGraphicEditorView::OnSize(UINT nType, int cx, int cy)
RECT rect;
bool isRectLess = false;
GetWindowRect(&rect);
if (cx < 400) {
cx = 400;
isRectLess = true;
}
if (cy < 400) {
cy = 400;
isRectLess = true;
}
if (isRectLess)
SetWindowPos(&wndTopMost, 0, 0, cx, cy, SWP_SHOWWINDOW);
else
CFormView::OnSize(nType, cx, cy);
}
Что я делаю не правильно?
Записан
С уважением, asker
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: Изменение размеров окна?
«
Ответ #1 :
26-04-2006 09:17 »
в OnSize размеры вроде бы уже помененые, попробуй в OnSizing
(вечером, если что разберёмся)
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
asker
Помогающий
Offline
Пол:
Re: Изменение размеров окна?
«
Ответ #2 :
26-04-2006 09:55 »
Пробовал, не помогает
Добавил в карту сообщений:
afx_msg void OnSizing(UINT nSide, LPRECT lpRect);
Установил связь между сообщением и обработчиком
ON_WM_SIZING()
А вот и текст
Код:
void CGraphicEditorView::OnSizing( UINT nSide, LPRECT lpRect )
{
#define SIZE_AREA
400
if (lpRect->right - lpRect->left < SIZE_AREA) {
lpRect->right = lpRect->left + SIZE_AREA;
}
if (lpRect->bottom - lpRect->top < SIZE_AREA) {
lpRect->bottom = lpRect->top + SIZE_AREA;
}
CFormView::OnSizing(nSide, lpRect);
}
Он в Sizing даже не заходит
Записан
С уважением, asker
Malaja
Команда клуба
Offline
Пол:
Re: Изменение размеров окна?
«
Ответ #3 :
26-04-2006 11:00 »
asker,
проблема в том, что View находится внутри рамки, т.е. это белое поле внутри, а сама рамка - это CMainFrame, поэтому все это надо делать в CMainFrame.
Записан
холоднокровней, Маня, Ви не на работе
---------------------------------------
четкое определение сущности бытия:
- А мы в прошлом или в будущем?- спросила Алиса.
- Мы в жопе, - ответил кролик.
- А "жопа" - это настоящее? - спросила Алиса.
- А "жопа" - это у нас символ вечности.
asker
Помогающий
Offline
Пол:
Re: Изменение размеров окна?
«
Ответ #4 :
26-04-2006 14:42 »
Malaja спасибо, все получилось.
Записан
С уважением, asker
asker
Помогающий
Offline
Пол:
Re: Изменение размеров окна?
«
Ответ #5 :
26-04-2006 15:31 »
Алексей1153, также спасибо за участие в решение проблемы.
Кстати, classWizard отражает все сообщения, которые может обрабатывать объект (искл.: user's msg). Просто, скажем для моего класса, производного от CFormView, CW как раз и не отразил WM_SIZING. И VC во время отладки даже не заходил в обработчик WM_SIZING, почему?
«
Последнее редактирование: 19-12-2007 21:55 от Алексей1153++
»
Записан
С уважением, asker
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: Изменение размеров окна?
«
Ответ #6 :
26-04-2006 15:51 »
asker
, та не за что
Я невнимательно ещё прочитал название класса, на обеде был
(пытаюсь оправдываться
))) )
у вьюшки нету боундера, поэтому наверное туда эти сообщения не
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
asker
Помогающий
Offline
Пол:
Re: Изменение размеров окна?
«
Ответ #7 :
27-04-2006 03:00 »
Оправдываться не стоит, всякое бывает
А что такое боундер?
Записан
С уважением, asker
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: Изменение размеров окна?
«
Ответ #8 :
27-04-2006 09:18 »
ну бордер то есть - вот у диалога, к примеру, ты наверняка видел край, за который можно менять размер окна
стиль WS_BORDER
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
asker
Помогающий
Offline
Пол:
Re: Изменение размеров окна?
«
Ответ #9 :
28-04-2006 12:53 »
Понятно, спасибо
Записан
С уважением, asker
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
WinAPI & Visual C++
(Модератор:
Вад
) > Тема:
Изменение размеров окна?
Загружается...