Результата никакого. Посоветуйте как изменть размер!
Для чего это нужно:
Сейчас у меня сплиттер занимает всю клиентскую часть, мне нужно внизу формы создать окно, соответственно хочу у меньшить на высоту этого окна сплиттер.
Здравствуйте, atrofa, Вы писали:
A>Сейчас у меня сплиттер занимает всю клиентскую часть, мне нужно внизу формы создать окно, соответственно хочу у меньшить на высоту этого окна сплиттер.
Странно ты подходишь как-то. По-моему нужно делать два сплиттера — один горизональный, на все окно. В верхней его части будет второй сплиттер (вертикальный), а в нижней части — твое окно.
E>Странно ты подходишь как-то. По-моему нужно делать два сплиттера — один горизональный, на все окно. В верхней его части будет второй сплиттер (вертикальный), а в нижней части — твое окно.
E>Примерно вот так
ТОгда получиться что мое окно, котороя я создал внизу формы, можно будет изменять( я имею ввиду размер), так как создано оно в сплиттере. А мне нужно что б оно было над статус баром и не менялось.
Или я не правильно понимаю?
Здравствуйте, atrofa, Вы писали:
E>>Странно ты подходишь как-то. По-моему нужно делать два сплиттера — один горизональный, на все окно. В верхней его части будет второй сплиттер (вертикальный), а в нижней части — твое окно.
E>>Примерно вот так
A>ТОгда получиться что мое окно, котороя я создал внизу формы, можно будет изменять( я имею ввиду размер), так как создано оно в сплиттере. А мне нужно что б оно было над статус баром и не менялось. A>Или я не правильно понимаю?
Тогда рассмотри возможность использования CDialogBar. Поищи, возможно на форуме есть примеры.
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Здравствуйте, atrofa, Вы писали:
E>>Тогда рассмотри возможность использования CDialogBar. Поищи, возможно на форуме есть примеры.
A>А просто изменить размеры сплиттера не получиться? и разместить мое окно на главное окно? A>Есть какой то способ изменить размер сплиттера?
AFAIK никак не получится, да и подход неверный. Он всегда будет ресайзиться (автоматически) по клиентской области родительского окна
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Здравствуйте, ekamaloff, Вы писали:
E>Здравствуйте, atrofa, Вы писали:
E>>>Тогда рассмотри возможность использования CDialogBar. Поищи, возможно на форуме есть примеры.
А если использовать CDialogBar то развер будет уже подганяться автоматически правильно?
Здравствуйте, atrofa, Вы писали:
E>>>>Тогда рассмотри возможность использования CDialogBar. Поищи, возможно на форуме есть примеры.
A>А если использовать CDialogBar то развер будет уже подганяться автоматически правильно?
Ну да.
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Здравствуйте, 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).
Впрочем есть и другой вариант. Сделать таки два сплиттера — один горизонтальный, один вертикальный, но для первого запретить изменение размеров панелей. Вот здесь