Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.116.42.208] |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Цитата Олег М @ Цитата Cfon @ CDC здесь чтобы установить режим преобразования mm_himetric и перевести из логических координат в координаты устройства Зачем для SetWindowPos himetric? вот именно SetWindowPos нужны координаты устройства, а у меня установлен логич. режим MM_HIMETRIC сравнил не то все не то сам запусти мой код и настрой как ты хотел потом мне покажи |
Сообщ.
#17
,
|
|
|
Цитата Cfon @ сравнил не то все не то Т.е. тебе нужно было, чтоб эта кнопка была внизу скроллинга? Кстати, если не ставить cs.style |= WS_CLIPCHILDREN | WS_CLIPSIBLINGS;, то она моргает Добавлено GetDeviceScrollSizes(cMapMode, sizeTotal, sizePage, sizeLine); CRect rc; mFirstPageButton.GetWindowRect(rc); mFirstPageButton.SetWindowPos(&wndTop, 0, sizeTotal.cy - rc.Height(), 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW); |
Сообщ.
#18
,
|
|
|
Цитата Олег М @ Т.е. тебе нужно было, чтоб эта кнопка была внизу скроллинга? Кстати, если не ставить cs.style |= WS_CLIPCHILDREN | WS_CLIPSIBLINGS;, то она моргает Добавлено GetDeviceScrollSizes(cMapMode, sizeTotal, sizePage, sizeLine); CRect rc; mFirstPageButton.GetWindowRect(rc); mFirstPageButton.SetWindowPos(&wndTop, 0, sizeTotal.cy - rc.Height(), 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW); твой код работает по сути также как и мой с проблемой Алладина кнопка исчезает если не делать GetScrollPosition, в случае если немного прокрутить скрол и вызвать OnNewDocument, нажав например кнопку New в моем тестовом примере. на счет GetDeviceScrollSizes спс думаю так правильнее, чем через CClientDC dc(this); dc.SetMapMode(cMapMode); ....... но как ты понял я спрашивал о другом Добавлено хотя я хз как теперь учесть GetScrollPosition в твоем случае, походу всеравно надо мой код вернуть Добавлено а все нашел вместо CScrollView::GetScrollPosition надо юзать CScrollView::GetDeviceScrollPosition |
Сообщ.
#19
,
|
|
|
Цитата Cfon @ кнопка исчезает если не делать GetScrollPosition, в случае если немного прокрутить скрол и вызвать OnNewDocument, нажав например кнопку New в моем тестовом примере. По NewDocument исчезает, потому что позиция скроллинга становится какой-то левой, там не с кнопкой проблема. Если сделать в OnInitialUpdate ScrollToPosition(CPoint(0, 0)), то всё будет нормально. Хотя не уверен, что это правильно. А в чём проблема с прокруткой? |
Сообщ.
#20
,
|
|
|
почему левые то? сохранились предыдущие значения скрола, не?
куда ты смотрел раньше? вот про программный вариант возврат скрола в нулевое положение я уже спрашивал см посты выше и ничего не найдя, нашёл GetScrollPosition ну а дальше ты с курсе Добавлено Scrolltoposition ещё не чекал, но думаю ты уже чекнул спс |
Сообщ.
#21
,
|
|
|
Цитата Cfon @ почему левые то? сохранились предыдущие значения скрола, не? Очевидно, что что-то не так происходит. Во-первых, зачем в новом документе сохранять позицию? Во-вторых, хрен знает как SetScrollSizes при этом себя ведёт. Я никогда не работал с CScrollView, за ненадобностью, поэтому не могу сказать что и когда там нужно делать |
Сообщ.
#22
,
|
|
|
Цитата Олег М @ Цитата Cfon @ почему левые то? сохранились предыдущие значения скрола, не? Очевидно, что что-то не так происходит. Во-первых, зачем в новом документе сохранять позицию? Во-вторых, хрен знает как SetScrollSizes при этом себя ведёт. Я никогда не работал с CScrollView, за ненадобностью, поэтому не могу сказать что и когда там нужно делать ну так то да в onInitialupdate заново устанавливаются параметры скрола, по идее и скрол должен сбрасываться, но ручной scrolltopos меня устроит цель достигнута кнопки на месте все функционирует |