Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с окнами

436
26 апреля 2005 года
Fevzi
87 / / 02.04.2005
Мне нужно на Visual C++6.0 создать проект MDI.
Я всё сделал,что нужно,но проблема вот в чём:
Вид окна(дочернего)-CEditView.Когда открываем
текстовой файл, появляется окно с содержимым текстового файла,а также нужно,чтобы появлялось второе окно другого вида(CFormView).Я думаю,что нужно использовать CSplitterWnd,но у меня не получается.Хорошим примером программы является
MSDN(спрва окно,в котором задаёшь поисковую строку,а слева отображается результат.)Вот также и мне нужно в моём проекте.Помогите пожалуйста.
7.3K
27 апреля 2005 года
Tneiro
11 / / 22.09.2004
привет, если можеш напиши поподробнее.
1 если тебе надо послать сообшение от дочернего окна в родительское можно так
CCheckListBox::GetOwner()->SendMessage( WM_LBUTTONUP, nFlags, p.x + p.y*65536);
, если тебе надо передовать строку(или что то ещё ) то можна сделать глоб. переменую (extend)
но в любом случае надо унаследовать класс, что бы можно было обрабатывать его сообшения.
А CSplitterWnd можна сделать при создания проекта или объяви его в MainFrame ::OnCreateClient , но я непонимаю интерфейс который ты задумал.
но лучше напиши подробнее. :)
436
28 апреля 2005 года
Fevzi
87 / / 02.04.2005
Привет,дружище!
Я рад,что ты заинтересовался.
Вобщем дело такое:Проект на MFC,MDI.Проект должен открывать(понимать)текстовые документы.При загрузке документа появляется сам документ плюс ещё два окна:одно из них окно вида CFormView,где расположен CEdit и CButton.В CEdit можно будет прописывать поисковую строку,и нажав на CButton появляется третье окно вида CListView,где показывается результат поска в режиме Report.
Окна распологаешь как хочешь.
Заранее спасибо!
7.3K
04 мая 2005 года
Tneiro
11 / / 22.09.2004
привет
1 необезательно создавать MDI можно просно немодальное диалоговое окно (можно создать того типа окна которое тебе больше подойдёт в плане красоты )там проше.для того чтобы получить текст введёный е CEdit в немодальном окне можно использовать функцию GetDlgItemText или чтото типа
таким образом у тебя есть текст поиска потом ищеш что тебе надо обьявляеш глобальную переменную вроде vector CString... ; и выводиш на
2 есть принципиальная разница между view и ctrl ?
если нет могу посоветовать использовать ctrl(для начала) выводиш туда найденое по средсвам DDX в потом обрабатываеш нажатие на item этого СListCtrl
после чего выводиш нужный топик на основной вид
спашивай конкретно :) я же не телепат:)
425
04 мая 2005 года
sq_deep
498 / / 18.02.2005
Цитата:
Originally posted by Fevzi
Мне нужно на Visual C++6.0 создать проект MDI.
Я всё сделал,что нужно,но проблема вот в чём:
Вид окна(дочернего)-CEditView.Когда открываем
текстовой файл, появляется окно с содержимым текстового файла,а также нужно,чтобы появлялось второе окно другого вида(CFormView).Я думаю,что нужно использовать CSplitterWnd,но у меня не получается.Хорошим примером программы является
MSDN(спрва окно,в котором задаёшь поисковую строку,а слева отображается результат.)Вот также и мне нужно в моём проекте.Помогите пожалуйста.


Расскажу, потому что помню, как сложно было сделать самое первое окно со splitter'ом.

Вам надо действовать так.

1. Создать два класса view: один из CFormView, другой из CEditView.

2. В CChildFrame::OnCreateClient() сделать нечто вроде

 
Код:
BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext)
{
    VERIFY(m_wndSplitter.CreateStatic(this,
        2, 1));
    VERIFY(m_wndSplitter.CreateView(0, 0,
        RUNTIME_CLASS(CeditviewView), CSize(1000, 1000), pContext));
    VERIFY(m_wndSplitter.CreateView(1, 0,
        RUNTIME_CLASS(CsplitterViewForm), CSize(1000, 1000), pContext));
    return TRUE;
}
3. Не забыть ResizeParentToFit()
 
Код:
void CsplitterViewForm::OnInitialUpdate()
{
    CFormView::OnInitialUpdate();
    ResizeParentToFit();
}
в обоих view.

Ну, а дальше доделать детали, и всё будет работать и выглядеть примерно так, как на прилагаемой картинке.

Удачи.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог