Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2009, 14:38   #1
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию Always on top или как заствить RichEdit стоять смирно

VC++ MFC Dialog-Based
Диалог. На нем есть CVertilcalTree (CTreeCtrl) занимает половину диалога, на нижней половине RichEdit.
Запускаю , всё нормально отображается, но когда я разворачиваю приложение , наблюдается монопольное владение со стороны CVerticalTree над всей областью диалога, короче говоря пропадает RichEdit )
Как заставить RichEdit стоять смирно?
nusik вне форума Ответить с цитированием
Старый 02.07.2009, 14:44   #2
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

OnSize обрабатывать?
vvviperrr вне форума Ответить с цитированием
Старый 02.07.2009, 15:14   #3
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию

Проиходит действие как если бы у CVerticalTree
свойство Align выставили alClient , т.е занимал бы всю свободнию область формы.
Нужно чтобы он не выравнивл ничего,а ещё лучше или можно было бы вручную изменять размеры CVerticalTree и RichEdit-а.
OnSize а когда оно происходит?
на попытку изменения то, или изменяет потом грит "размеры изменились, что мне делать барин"?
nusik вне форума Ответить с цитированием
Старый 02.07.2009, 15:18   #4
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

не припомню, чтобы в мфц были свойства, типа alClient и тп, но не важно. OnSize вызывается всякий раз, когда окно было изменено.
vvviperrr вне форума Ответить с цитированием
Старый 02.07.2009, 15:19   #5
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию

Как сделать так чтобы можно было тянуть за нижний правый угол , изменять размеры контрола (RichEdit, CTreeCtrl)?
Ессено во время выполнения
nusik вне форума Ответить с цитированием
Старый 02.07.2009, 15:32   #6
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию

Код:
void CVerticalTreeDlg::OnSize(UINT nType, int cx, int cy) 
{
	CDialog::OnSize(nType, cx, cy);

	if (!IsWindowVisible())
		return;	

	m_TestTree.MoveWindow(0, 30, cx, cy-250);
	m_richedit.MoveWindow(0,cy-215,cx,240);
}
Работает вроде нормально
Просто чисто спортивный интерес, как можно это(пост #5) сделать.
nusik вне форума Ответить с цитированием
Старый 02.07.2009, 15:43   #7
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

2nusik за нижний правый угол ЧЕГО? диалога? свойство - resizing чтоль. На rsdn.ru как то видел класс, автоматически раздвигал контролы по диалогу, когда тот изменял свой размер.
vvviperrr вне форума Ответить с цитированием
Старый 02.07.2009, 15:54   #8
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию

Цитата:
нижний правый угол ЧЕГО?
нет не диалога, а контрола, РичЕдит-а CTreeCtrl-а неважно чего...

Цитата:
На rsdn.ru как то видел класс, автоматически раздвигал контролы по диалогу, когда тот изменял свой размер.
вроде нашел...

А виджуал студио вообще сплиттер есть ? поставил бы между контролами и все. В Delphi помню есть такой компонент TSplitter кажись...

Последний раз редактировалось nusik; 02.07.2009 в 16:11. Причина: AutoRefresh:)
nusik вне форума Ответить с цитированием
Старый 02.07.2009, 16:27   #9
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию

vvviperrr, спасиб
nusik вне форума Ответить с цитированием
Старый 02.07.2009, 16:44   #10
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

Цитата:
А виджуал студио вообще сплиттер есть ? поставил бы между контролами и все. В Delphi помню есть такой компонент TSplitter кажись...
смотря в чем ты пишешь. в мфц есть класс csplitter. но сплиттер к диалогу - это по меньшей мере странно. почему обычное окно нельзя создать? Окно, сплиттер, 2 вьювера, один наследник от treecontrol, другой - от richedit
vvviperrr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа:Нумерация и отмена нумерации строк в мемо или richedit Obender13 Помощь студентам 4 17.01.2011 15:00
Что лудше RichEdit или Memo для текстового редактора EugeneIsmatulin Общие вопросы Delphi 6 30.05.2009 09:14
Помогите прочитать reg файл в RichEdit или ListBox inndim Общие вопросы Delphi 4 09.06.2008 12:56
Колонки в richedit или memo 2face Компоненты Delphi 1 15.06.2007 15:08
Always on Top Sergant Win Api 2 13.04.2007 01:09