Студопедія
рос | укр

Головна сторінка Випадкова сторінка


КАТЕГОРІЇ:

АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія






ROZDZIAŁ 11


Дата добавления: 2015-08-30; просмотров: 508



//}}AFX_DATA_MAP

}

 

Для обновления текстового поля следует вызвать метод UpdateData():

 

void Dlg::OnButton1()

{

m_text = «Текст в диалоговом окне»;

UpdateData(false);

}

 

Вызов этого метода с параметром false заносит в текстовое поле значение переменной m_text. Вызов с параметром true присваивает переменной m_text содержимое текстового поля:

 

UpdateData(false) означает: IDC_EDIT = m_text;

UpdateData(true) означает: m_text = IDC_EDIT;

 

Строка перенесена в текстовое поле, пользователь может отредактировать ее перед нажатием кнопки Ок.

 

Переопределение метода для кнопки ОК

Метод для кнопки ОК добавляется точно так же, как и для любой другой кнопки. Воспользуйтесь ClassWizard и свяжите метод OnOK() с кнопкой ОК, идентификатор которой равен IDOK:

 

void Dlg::OnOK()

{

// TODO: Add extra validation here

CDialog::OnOK();

}

 

Мы хотим занести в переменную m_text содержимое текстового поля, для чего вызовем UpdateData() со значением true:

 

void Dlg::OnOK()

{

// TODO: Add extra validation here

UpdateData(true);

CDialog::OnOK();

}

 

Отображение диалогового окна

Наше диалоговое окно должно появляться при выборе команды File->Show Dialog… Данная команда связана с методом OnFileShowdialog() класса вида:

 

void CDialogsView::OnFileShowdialog()

{

// TODO: Add your command handler code here

}

 

В этом методе создадим новый объект класса Dlg и отобразим его, пользуясь методом DoModal(). Чтобы класс вида мог работать с членами класса Dlg, необходимо включить в него Dlg.h.

Теперь можно воспользоваться классом Dlg в классе вида. Начнем с создания объекта dlg этого класса и отобразим диалог на экране:

 

void CDialogsView::OnFileShowdialog()

{

Dlg dlg;

int result = dlg.DoModal();

}

 

Теперь убедимся, что пользователь нажал кнопку ОК:

 

void CDialogsView::OnFileShowdialog()

{

Dlg dlg;

int result = dlg.DoModal();

 

if (result == IDOK)

{

}

}

 

Если пользователь действительно нажал кнопку ОК, необходимо прочесть содержимое текстовой строки из переменной m_text. Оно хранится в документе, поэтому сначала нужно получить указатель на документ:

 

void CDialogsView::OnFileShowdialog()

{

Dlg dlg;

int result = dlg.DoModal();

 

if (result == IDOK)

{

CDialogDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

}

}

 

Создадим в документе новый объект класса CString с именем StringData. В этот объект будет помещен текст из переменной m_text:

 

void CDialogsView::OnFileShowdialog()

{

Dlg dlg;

int result = dlg.DoModal();

 

if (result == IDOK)

{

CDialogsDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

pDoc->StringData = dlg.m_text;


<== предыдущая лекция | следующая лекция ==>
JAKUB I MATKA | ROZDZIAŁ 12
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <== 11 ==> | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 |
Studopedia.info - Студопедия - 2014-2024 год . (0.366 сек.) російська версія | українська версія

Генерация страницы за: 0.366 сек.
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7