Русский справочник по Win32 API - [4]

Шрифт
Интервал

.


GlobalGetAtomName


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


BOOL AdjustWindowRect (


LPRECT lpRect , // указатель на структуру с координатами

// клиентской области

DWORD dwStyle , // стили окна

BOOL bMenu // флаг наличия меню

);


Параметры


lpRect - указатель на структуру типа RECT , которая содержит координаты верхнего левого и нижнего правого углов клиентской области. После выполнения функции эта структура содержит координаты верхнего левого и нижнего правого углов окна, имеющего клиентскую область желаемого размера.

dwStyle - определяет стили окна, размер которого вычисляется.

bMenu - определяет наличие меню у окна.


Возвращаемые значения


В случае успеха возвращается ненулевое значение.

В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .


Комментарии


Клиентский прямоугольник - это наименьший прямоугольник, который полностью содержит в себе клиентскую область окна. Оконный прямоугольник - это наименьший прямоугольник, который полностью содержит в себе само окно.

Функция AdjustWindowRect не добавляет дополнительного пространства, когда строка меню сворачивается в два или более рядов.


См. также


AdjustWindowRectEx, CreateWindowEx, RECT .


AdjustWindowRectEx


Рекомендуем почитать
Российские деятели украинского происхождения

В Справочнике приведены краткие биографии около 1400 российских деятелей украинского происхождения, внёсших свой вклад в развитие России. В нём помещены статьи о государственных, политических, общественных и церковных деятелях, революционерах, декабристах, полководцах, флотоводцах и военачальниках, героях войн, космонавтах, писателях, художниках, скульпторах, архитекторах, артистах театра и кино, режиссёрах, композиторах, искусствоведах, спортсменах, учёных, создателях новых технологий и техники.             Справочник через биографии деятелей освещает историю Украины и России за период с 1654 г.


Германские пехотные противотанковые средства ближнего боя

В брошюре даны описания и способы применения пехотных противотанковых средств немецкой армии, захваченных нашими войсками. Брошюра поможет нашим бойцам и командирам научиться применять эти средства против танков противника. Настоящее пособие составлено инженер-полковником Клюевым при участии инженер-полковника Панкратьева.


Монеты Китая первой половины XX века. Часть 1.

В книге в занимательной форме описывается история чеканки китайских монет с изображением политических деятелей начиная с первых лет революции до прихода к власти коммунистов. В приложении даны советы и рекомендации по переводу надписей на китайских монетах, таблицы наиболее часто встречающихся на монетах иероглифов и примеры их чтения. Книга снабжена большим количеством иллюстраций.


713 секретов производственных технологий

Форматирование файла не завершено (Stribog).Эти не только древние, но и интересные рецепты не потеряли актуальности и в нынешнее время. Правда, хочу заметить, что не все из них безопасны. Особенно те, где используется ртуть и соли тяжелых металлов (в частности это касается раздела «Парфюмерия»). Так что думайте Сами.С уважением, Сергей Каштанов.


Противотанковая мина ТМ-72 и минный взрыватель МВН-72

Руководство предназначается для изучения тактико-технических характеристик, устройства принципа действия, правил применения, хранения и транспортировки противотанковой мины ТМ-72 и минного взрывателя МВН-72.


Учимся читать в три раза быстрее за 20 минут - Лайфхакер

rufb2edit 0.0.908 сен 2015http://lifehacker.ru/2015/01/22/chitat-v-3-raza-bystree/web2fb2_201509080815_87756238791.0Учимся читать в три раза быстрее за 20 минут - ЛайфхакерИя Зорина 22 января 2015Учимся читать в три раза быстрее за 20 минутУмение быстро читать освобождает кучу свободного времени. Только представьте, вы можете в три раза быстрее справляться со всей литературой — технической, профессиональной или художественной. А теперь приятная новость: в отличие от большинства навыков, которые нужно осваивать постепенно, скорочтение доступно вам уже через 20 минут тренировки.