Главная Обратная связь

Дисциплины:






СТВОРЕННЯ ДІАЛОГОВИХ ВІКОН



 

5.1 Етапи розробки діалогових вікон

Діалогове вікно — особливий тип вікна, яке задає запитання і дозволяє вибрати варіанти виконання дії, або ж інформує користувача. Діалогові вікна зазвичай відображаються тоді, коли програмі або операційній системі для подальшої роботи потрібна відповідь (Рис. 5.1). До основних елементів діалогового вікна відносять:

1) список, що розкривається;

2) перемикач (кружок, з крапкою в центрі — вибраний стан);

3) прапорець (галочка в квадраті — вибраний стан);

4) лічильник;

5) список;

6) регулятор;

7) індикатор;

8) індикатор ходу роботи.

 

Рис. 5.1 – Приклад діалогового вікна

 

Створення діалогового вікна починається з створення класу діалогу. Даний клас є похідним від класу CDialog. В цьому класі мають бути оголошені необхідні змінні і властивості класу діалогу, які відповідають різним елементам керування діалогового вікна. Далі відбувається ініціалізація елементів керування діалогового вікна. Ініціалізація елементів керування відбувається за допомогою стандартного методу OnInitDialog().

Після цього створюється об’єкт власного класу діалогу методом DoModal() та його активувати. Необхідно створити обробку введених користувачем даних в діалоговому вікні. Обробка відбувається після натиснення кнопки Ok та закриття діалогового вікна. [7]

Після цього відбувається передача даних із елементів керування у змінні класу діалогу згідно з DDX-макросами методу DoDatаExchange(). Якщо введені дані не потрібно зберігати або обробляти, тоді діалогове вікно закривається натисненням кнопки Cancel. Введені за допомогою діалогового вікна дані далі можуть бути використані в інших функціях програми.

 

Створення діалогу

Створення діалогово вікна відбувається добавленням нового ресурсу Dialog пункті меню Edit - Add Resource. Діалогове вікно оформляється за допомогою панелі інструментів Toolbox і властивостей даного елементу панелі інструментів. Діалогове вікно запускається по натисненню кнопок Run, Save, Rename, Delete, Draw. Функція виклику діалогового вікна прописана в функцях-обробників даних пунктів меню. [1] Наприклад Save (Рис. 5.2):

void CMyFrameWnd::On Save ()

{

CMyDialog dialog(this);

dialog.DoModal();

}

Рис. 5.2 – Приклад діалогового вікна

Після цього створюється об’єкт власного класу діалогу методом DoModal() та його активація. Необхідно створити обробку введених користувачем даних в діалоговому вікні. Обробка відбувається після натиснення кнопки Save та закриття діалогового вікна. [1]

void CMyFrameWnd::OnFileSave40003()

{

CString string="Виконала студентка групи 1КІ-11Б



\nКолесніченко Марина Андріївна";

CFileDialog DlgSave(FALSE,"txt","",OFN_HIDEREADONLY,

"Text file (*.txt)|*.txt|All Files(*.*)|*.*|",this);

if(DlgSave.DoModal()==IDOK){

CStdioFile File(DlgSave.GetPathName(),

CFile::modeCreate | CFile::modeWrite);

File.WriteString(LPCSTR(string));

}

}

Після цього відбувається передача даних із ЕК у змінні-властивості класу діалогу згідно з DDX-макросами методу DoDataExchange().

void CMyDialog::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

DDX_Control(pDX, IDC_RICHEDIT21, edit2);

}

- DDX_Control – покажчик на об’єкт класу елементаму керування.

В функції OnInitDialog() проведено початкову ініціалізацію для поля edit1, а саме за допомогою методу SetWindowText(CString("0")) значення, яке може вводитись користувачем, в даному випадку початкове значення 0.

За допомогою функції GetWindowText данні з поля Edit зчитуються в змінні типу char – str. Потім за допомогою функції atof перетворюються в дані типу float. [8]

Аналогічно створювалось інше діалогове вікно, в якому виводилась інформація про розробника програми. Зовнішній вигляд показано на рис. 5.3.

 

Рис. 5.3 – Інформація про розробника

 





sdamzavas.net - 2017 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...