На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual C++ / MFC / WTL (далее Раздела)
1) На Раздел распространяются все Правила Форума.
2) Перед тем, как создать новый топик, убедитесь, что Вы читали Правила создания тем в Разделе.
3) Вопросы, не связанные с программированием (настройки MS Visual Studio, книги, библиотеки и т.д.),
обсуждаются в разделе C/C++: Прочее
4) Вопросы разработки .NET (Windows Form, C++/CLI и т.п.) приложений на Visual C++/C# обсуждаются в разделе .NET.
5) Нарушение Правил может повлечь наказание со стороны модераторов.

Полезные ссылки:
user posted image FAQ Раздела user posted image Обновления для FAQ Раздела user posted image Поиск по Разделу user posted image MSDN Library Online
Модераторы: ElcnU
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> скрол проблема кнопка нету , нет скрола нет проблем
    Цитата Олег М @
    Цитата Cfon @
    CDC здесь чтобы установить режим преобразования mm_himetric и перевести из логических координат в координаты устройства

    Зачем для SetWindowPos himetric?

    вот именно SetWindowPos нужны координаты устройства, а у меня установлен логич. режим MM_HIMETRIC

    Цитата Олег М @
    Сравни полученную координату c GetClientRect, думаю, будет то же самое значение

    сравнил не то все не то :)
    сам запусти мой код и настрой как ты хотел потом мне покажи :D
      Цитата Cfon @
      сравнил не то все не то

      Т.е. тебе нужно было, чтоб эта кнопка была внизу скроллинга?

      Кстати, если не ставить cs.style |= WS_CLIPCHILDREN | WS_CLIPSIBLINGS;, то она моргает

      Добавлено
      ExpandedWrap disabled
            GetDeviceScrollSizes(cMapMode, sizeTotal, sizePage, sizeLine);
         
            CRect rc;
            mFirstPageButton.GetWindowRect(rc);
         
            mFirstPageButton.SetWindowPos(&wndTop, 0, sizeTotal.cy - rc.Height(), 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW);
        Цитата Олег М @
        Т.е. тебе нужно было, чтоб эта кнопка была внизу скроллинга?

        Кстати, если не ставить cs.style |= WS_CLIPCHILDREN | WS_CLIPSIBLINGS;, то она моргает

        Добавлено
        ExpandedWrap disabled
              GetDeviceScrollSizes(cMapMode, sizeTotal, sizePage, sizeLine);
           
              CRect rc;
              mFirstPageButton.GetWindowRect(rc);
           
              mFirstPageButton.SetWindowPos(&wndTop, 0, sizeTotal.cy - rc.Height(), 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW);

        твой код работает по сути также как и мой с проблемой Алладина :D

        кнопка исчезает если не делать GetScrollPosition, в случае если немного прокрутить скрол и вызвать OnNewDocument, нажав например кнопку New в моем тестовом примере.

        на счет GetDeviceScrollSizes спс думаю так правильнее, чем через
        ExpandedWrap disabled
          CClientDC dc(this);
          dc.SetMapMode(cMapMode);
          .......

        но как ты понял я спрашивал о другом :)

        Добавлено
        хотя я хз как теперь учесть GetScrollPosition в твоем случае, походу всеравно надо мой код вернуть :D

        Добавлено
        а все нашел вместо CScrollView::GetScrollPosition надо юзать CScrollView::GetDeviceScrollPosition :D
        Сообщение отредактировано: Cfon -
          Цитата Cfon @
          кнопка исчезает если не делать GetScrollPosition, в случае если немного прокрутить скрол и вызвать OnNewDocument, нажав например кнопку New в моем тестовом примере.

          По NewDocument исчезает, потому что позиция скроллинга становится какой-то левой, там не с кнопкой проблема. Если сделать в OnInitialUpdate ScrollToPosition(CPoint(0, 0)), то всё будет нормально. Хотя не уверен, что это правильно.

          А в чём проблема с прокруткой?
            почему левые то? сохранились предыдущие значения скрола, не?
            куда ты смотрел раньше? вот про программный вариант возврат скрола в нулевое положение я уже спрашивал см посты выше :)
            и ничего не найдя, нашёл GetScrollPosition ну а дальше ты с курсе ;)

            Добавлено
            Scrolltoposition ещё не чекал, но думаю ты уже чекнул спс :)
            Сообщение отредактировано: Cfon -
              Цитата Cfon @
              почему левые то? сохранились предыдущие значения скрола, не?

              Очевидно, что что-то не так происходит.
              Во-первых, зачем в новом документе сохранять позицию?
              Во-вторых, хрен знает как SetScrollSizes при этом себя ведёт.

              Я никогда не работал с CScrollView, за ненадобностью, поэтому не могу сказать что и когда там нужно делать
                Цитата Олег М @
                Цитата Cfon @
                почему левые то? сохранились предыдущие значения скрола, не?

                Очевидно, что что-то не так происходит.
                Во-первых, зачем в новом документе сохранять позицию?
                Во-вторых, хрен знает как SetScrollSizes при этом себя ведёт.

                Я никогда не работал с CScrollView, за ненадобностью, поэтому не могу сказать что и когда там нужно делать

                ну так то да в onInitialupdate заново устанавливаются параметры скрола, по идее и скрол должен сбрасываться, но ручной scrolltopos меня устроит цель достигнута кнопки на месте все функционирует :)
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0303 ]   [ 16 queries used ]   [ Generated: 25.04.24, 11:48 GMT ]