Русский справочник по Win32 API
Шрифт:
Функция GlobalGetAtomName извлекает копию строки символов, связанной с указанным глобальным атомом.
UINT GlobalGetAtomName (
ATOM nAtom , // идентификатор атома
LPTSTR lpBuffer , // указатель на буфер для строки
int nSize // размер буфера
);
Параметры
nAtom–
lpBuffer– указывает на буфер для строки символов.
nSize– указывает размер буфера в символах.
Возвращаемые значения
В случае успеха возвращается длина строки, в символах, скопированной в буфер, не считая завершающий нулевой символ.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
Комментарии
Строка, возвращаемая для целого атома (атома, созданного макросом MAKEINTATOM ), представляет собой завершающуюся нулем строку, в которой первым символом является символ фунта ('#'), а оставшиеся символы - беззнаковое целое, первоначально переданное в макрос MAKEINTATOM .
См. также
AddAtom, DeleteAtom, FindAtom, GlobalAddAtom, GlobalDeleteAtom, GlobalFindAtom, MAKEINTATOM .
InitAtomTable
Функция InitAtomTable инициализирует таблицу локальных атомов и задает ее размер.
BOOL InitAtomTable (
DWORD nSize // размер таблицы атомов
);
Параметры
nSize– задает размер, в количестве элементов, таблицы атомов. Этот параметр должен представлять собой простое число.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль.
Комментарии
Приложению нет необходимости использовать эту функцию для использования таблицы локальных атомов. Размер по умолчанию таблиц локальных и глобальных атомов составляет 37 элементов. Если приложение использует функцию InitAtomTable , то, впрочем, оно должно вызвать эту функцию перед любой другой функцией управления атомами.
Если приложение использует большое число локальных атомов, оно может уменьшить время, необходимое для добавления атома в таблицу локальных атомов или для поиска атома в таблицы, увеличив
Размер таблицы глобальных атомов не может быть изменен.
См. также
AddAtom, DeleteAtom, FindAtom, GetAtomName, GlobalAddAtom, GlobalDeleteAtom, GlobalFindAtom, GlobalGetAtomName .
Макросы
MAKEINTATOM
Макрос MAKEINTATOM создает целый атом, который представляет символьную строку десятичных цифр.
Целые атомы, созданные этим макросом, могут быть добавлены в таблицу атомов, используя функции AddAtom или GlobalAddAtom .
LPTSTR MAKEINTATOM (
WORD wInteger // целое для создания атома
);
Параметры
wInteger– определяет числовое значение, из которого создается целый атом.
Возвращаемые значения
Возвращается указатель на атом, созданный из данного целого.
Комментарии
Хотя возвращаемое значение макроса MAKEINTATOM приведено к значению LPTSTR, оно не может быть использовано как обычный указатель на строку, кроме случаев, когда возвращаемое макросом значение передается в функции управления атомами, требующими аргумент типа LPTSTR .
Вызовы функций DeleteAtom и GlobalDeleteAtom всегда успешны для целых атомов.
Строка, возвращаемая функциями GetAtomName и GlobalGetAtomName для целых атомов, является завершающейся нулем строкой, в которой первый символ - это символ '#', а оставшиеся символы - десятичные цифры, используемые в макросе MAKEINTATOM .
Макрос MAKEINTATOM определен следующим образом:
#define MAKEINTATOM(i) (LPTSTR) ((DWORD) ((WORD) (i)))
См. также
AddAtom, DeleteAtom, GetAtomName, GlobalAddAtom, GlobalDeleteAtom, GlobalGetAtomName .
Окна
AdjustWindowRect
Функция AdjustWindowRect вычисляет необходимый размер оконного прямоугольника, основываясь на желаемом размере клиентского прямоугольника. Оконный прямоугольник может быть передан в функцию CreateWindowEx для создания окна, чья клиентская область имеет желаемый размер.