Чтение онлайн

на главную - закладки

Жанры

Русский справочник по 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 для создания окна, чья клиентская область имеет желаемый размер.

Поделиться:
Популярные книги

Идеальный мир для Лекаря 9

Сапфир Олег
9. Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
6.00
рейтинг книги
Идеальный мир для Лекаря 9

Господин моих ночей (Дилогия)

Ардова Алиса
Маги Лагора
Любовные романы:
любовно-фантастические романы
6.14
рейтинг книги
Господин моих ночей (Дилогия)

Мастер Разума VII

Кронос Александр
7. Мастер Разума
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер Разума VII

Аргумент барона Бронина 2

Ковальчук Олег Валентинович
2. Аргумент барона Бронина
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Аргумент барона Бронина 2

Третье правило дворянина

Герда Александр
3. Истинный дворянин
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Третье правило дворянина

Босс для Несмеяны

Амурская Алёна
11. Семеро боссов корпорации SEVEN
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Босс для Несмеяны

Не грози Дубровскому! Том II

Панарин Антон
2. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том II

Сын Петра. Том 1. Бесенок

Ланцов Михаил Алексеевич
1. Сын Петра
Фантастика:
попаданцы
альтернативная история
6.80
рейтинг книги
Сын Петра. Том 1. Бесенок

Чужбина

Седой Василий
2. Дворянская кровь
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чужбина

И только смерть разлучит нас

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
И только смерть разлучит нас

Пипец Котенку!

Майерс Александр
1. РОС: Пипец Котенку!
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Пипец Котенку!

Курсант: Назад в СССР 11

Дамиров Рафаэль
11. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: Назад в СССР 11

Небо для Беса

Рам Янка
3. Самбисты
Любовные романы:
современные любовные романы
5.25
рейтинг книги
Небо для Беса

Попаданка в Измену или замуж за дракона

Жарова Анита
Любовные романы:
любовно-фантастические романы
6.25
рейтинг книги
Попаданка в Измену или замуж за дракона