Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Типи даних Windows






Windows API визначає істотнечисло типів данихдля позначення параметрів функцій і значень, що повертаються. Ці специфічні типи Windows також поширюютьсяна функції, які визначаються в MFC. Кожен з цих типів Windows відображатиметься на деякий тип C++, але відповідність між типами Windows і типами C++ може змінюватися, тому слід завжди використовувати типи Windows.

Наприклад, в минулому тип Windows WORDбув визначений в одній версії Windows як unsignedshort, а в іншій версії Windows як unsignedint. На 16-бітних машинах ці типи еквівалентні, але на 32-розрядних машинах вони рішуче відмінні, отже використовуючи тип C++ замість типу Windows можна нарватися на проблеми.

Повний перелік типів Windowsможна знайти у документації, а тут подано лише ті, які зустрічаються найчастіше:

DOUBLE

BOOLEAN

BYTE

CHAR

TCHAR

USHORT

WCHAR

WORD

BOOL

DWORD

HANDLE

HBRUSH

HFILE

HINSTANCE

LPARAM

WPARAM

LPCSTR

LPHANDLE

LRESULT

UINT

Усі типи, які використовує Windows та прототипи функцій WindowsAPI містяться в заголовковому файлі windows.h, отже необхідно включати цей файл у програми для Windows.

3.3 Принципи найменування змінних (Угорська нотація).

Windows використовує описові імена змінних, або т.зв. " угорську нотацію". Суть угорської нотації полягає в тому, що перед іменем змінної або функції ставиться префікс із однієї або кількох букв, який говорить про тип цієї змінної.

Так, префікс n позначає цілочисельну змінну, sz – символьний рядок, який закінчується двійковим нулем, h – дескриптор того чи іншого об'єкту. Звідси і беруться дещо незграбні на перший погляд імена змінних програми на кшталт szClassName або szTitle. Угорська система широко використовується в описах внутрішніхструктур Windows. Так, в структурі типу WNDCLASS, із якою має справу функціяRegisterClass(), є члени lpszClassName (l ong p ointertoa z eroterminated s tringwith Name of Class, далекий вказівник на символьний рядокіз нулем в кінці, що містить ім'я класу), lpfnWndProc (l ong p ointertoa f u n ction WndProc, далекий вказівник на функцію вікна).Так само, dwAccess — подвійне слово (32 біта), що містить прапорці прав доступу до файлу, де " dw" означає " Doubleword" — " подвійне слово".Уявлення про угорську нотацію дещо полегшує вивчення вмісту цих структур і використання їхелементів у програмах.

Угорська нотація використовується з метою мінімізації неправильного використання змінних. Кожна змінна повинна трактуватись так, як це було визначено. Неправильне тлумачення легко було зробити у мові C. C++ має сильнішу перевірку відповідності типів, тому проблеми виникають рідше. Компілятор C++ завжди сигналізує помилку при несумісності типів у вашій програмі.З іншого боку, Угорська нотація допомагає зробити програми легшими для розуміння, особливо, коли ви маєте справу із багатьма змінними різних типів, які є параметрами для функцій Windows API.

Угорська нотація у жодному разі не є обов'язковою. Ви, можете не використовувати її взагалі, але у більшості випадків програмується простіше, якщо розумієш, якими є параметри функцій Windows API.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.