Если вы продолжаете доказывать то, что другие уже сделали, приобретая уверенность, увеличивая
сложность ваших решений просто ради интереса, - в один прекрасный день вы оглянетесь вокруг и
увидите, что никто в действительности не делал этого!
Ричард Фейнманн
Доброй ночи, сегодня я хочу рассказать о типах данных и именах переменных при программировании под Windows.
Типы данных.
В Windows-программах вместо стандартных типов данных из C/C++
(int, long, и т.д.) применяются типы данных, определённые в различных
заголовочных файлах. Наиболее часто используемые: HANDLE, HWND, BYTE, WORD,
DWORD, UNIT, LONG, BOOL, LPSTR и LPCSTR. Тип HANDLE обозначает 32-разрядное
целое, используемое в качестве дескриптора. Есть несколько похожих типов данных,
которые имеют ту же длину, что и HANDLE, и начинаются с символа Н. Дескриптор -
это просто число, определяющее некоторый ресурс. Например, тип HWND обозначает
32-разрядное целое - дескриптор окна. Тип BYTE обозначает 8-разрядное беззнаковое
символьное значение, тип WORD - 16-разрядное беззнаковое короткое целое, тип
DWORD - 32-разрядный целочисленный беззнаковый тип, тип UNIT - беззнаковое 32-разрядное целое.
Тип LONG эквивалентен типу long. Тип BOOL обозначает целое и используется,
когда значение может быть либо истинным, либо ложным. Тип LPSTR определяет
указатель на строку, а LPCSTR - константный (const) указатель на строку.
LPTSTR - это TCHAR *, а LPCTSTR - const TCHAR *. Для стандартных типов Microsoft
C не применяется оператор *.
Переменные.
Для имён переменных Microsoft предлагает систему, предусматривающую
обозначение именуемых типов данных (используется префикс).Само имя переменной
начинается с заглавной буквы.
Типы префиксов:
b - BOOL
c - символ (байт)
s - строка (char или CString)
dw - DWORD
f - 16-битный флаг (битовая карта)
fn - функция
h - HANDLE
l - LONG
i - int
lp - длинный указатель
n - целое (16 бит)
p - указатель
pt - точка (два 32-битных целых)
w - WORD
sz - указатель на строку с завершающим нулём
lpsz - длинный указатель на строку с завершающим нулём
fdw - двойное слово, содержащее флаги доступа к файлу
rgb - длинное целое, содержащее комбинацию цветов RGB
Использование префиксов необходимо далеко не всегда, поэтому пишите так, как
вам удобно.
Для именования функций используются имена, состоящие из глаголов или существительных, первая буква слова - заглавная.
В статье использована информация из MSDN и windef.h
Dmitri Alenitchev, Copyright © 2004