Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ScrollBar убрать в SDI приложении 
:(
    Опции темы
kurlyak
Дата 5.3.2013, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 7.11.2007

Репутация: 1
Всего: 3



Вобщим пишу программу MFC, SDI на базе CFormView. Мне нужно что бы в окне после запуска не отображались скроллбары, и полоски после них. Как реализовать. Пробывал 

ShowScrollBar(SB_BOTH, FALSE);

и пробовал

ModifyStyle(WS_HSCROLL|WS_VSCROLL, 0, 0);

Только вот что- то у меня это не работает. Куда их вставлять, в какую функцию какого класса CMainFrame или CMyProgView?
PM MAIL   Вверх
Earnest
Дата 5.3.2013, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Убирать надо у того, у кого стиль WS_HSCROLL. Это можно посмотреть Спаем.
Кроме того, при удалении\добавлении таких стилей нужно обязательно передавать флаг swp_framechanged последним параметром.
А еще возникает вопрос - зачем убирать, когда можно создавать без оных сразу. Просто стиль соответствующий поставь, и у фрейма и у вида.



--------------------
...
PM   Вверх
kurlyak
Дата 5.3.2013, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 7.11.2007

Репутация: 1
Всего: 3



Спасибо за ответ, я ограничился таким кодом:

void CMyView::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS* lpncsp)
{
    // TODO: Add your message handler code here and/or call default
    ModifyStyle(ES_AUTOHSCROLL|WS_HSCROLL|WS_VSCROLL,0,0);

    CFormView::OnNcCalcSize(bCalcValidRects, lpncsp);
}
PM MAIL   Вверх
Earnest
Дата 5.3.2013, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Лучше все-таки ModifyStyle (... SWP_FRAMECHANGED) и не вызывать OnNcCalcSize руками, это некошерно


--------------------
...
PM   Вверх
YDean
Дата 8.3.2013, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 7.9.2009

Репутация: нет
Всего: 1



проще всего
Код

void CMyFormView::OnSize(UINT nType, int cx, int cy) 
{
   CView::OnSize(nType, cx, cy);    
   // было CFormView::OnSize(nType, cx, cy);
}

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0426 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.