Re[9]: Усталовить размер сплиттера при создании
От: ekamaloff Великобритания  
Дата: 24.01.06 08:07
Оценка:
Здравствуйте, atrofa, Вы писали:

A>Извини за назойливость, прсто не работал с этим


Да ничего

A>Вообщем в OnCreateClient

A>я буду сначала создавать CDialogBar а потом сплиттер так?

Dialog bar обычно создается в перекрытом CFrameWnd::OnCreate(). Там же, где, например, панели инструментов и строка состояния. Для того, чтобы он оказался внизу главного окна, укажи при создании стиль CBRS_BOTTOM

А сплиттер так и создавай в OnCreateClient. Здесь ничего менять не придется.

A>И еще. При создании CDialogBar мне ему нужно подусунуть IDD диалога. Это получаеться что обязательно его в ресурсах создавать?


Ну да, а тебе разве не это надо?
Я думал тебе нужно создать в нижней части главного окна дополнительное окошко, на котором могут располагаться некоторые контролы, и размер которого (точнее наверное только высота, если ты не запретил изменение размеров главного окна) нельзя менять. Для такой цели по-моему хорошо подходит CDialogBar.

Вот так это примерно делается:
1) в ресурсах создаешь заготовку диалога, размещаешь на ней все что надо. Стиль у этого диалога должен быть выставлен в WS_CHILD.
2) создаешь свой класс, унаследованный от CDialogBar (это не обязательно, но таким образом у тебя будет возможность обработки событий дочерних контролов твоего dialog bar-а)
3) в CMainFrame (или что у тебя там унаследованное от CFrameWnd) создаешь переменную-член этого класса
4) в CMainFrame::OnCreate создаешь само окно dialog bar-а (CDialogBar::OnCreate), при этом указываешь идентификатор твоего шаблона диалога (например IDD_MYDIALOGBAR).

Впрочем есть и другой вариант. Сделать таки два сплиттера — один горизонтальный, один вертикальный, но для первого запретить изменение размеров панелей. Вот здесь
Автор: slayeek
Дата: 25.12.03
описано несколько вариантов, как это можно сделать.

A>Спасибо
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.