Русский справочник по 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


Рекомендуем почитать
Главные спортивные события – 2012

Главный редактор «Радио Спорт» Николай Яременко определил два главных маршрута для болельщика на жаркое и богатое событиями лето 2012 года: футбольные баталии континентального первенства на стадионах в Польше и на Украине и основное для летних видов спорта сражение четырехлетия – Олимпиада в Лондоне.В каких городах, на каких стадионах пройдут соревнованиях? На какие результаты стоит рассчитывать? Кто в фаворитах? Где будут жить спортсмены? Как попасть в эпицентр футбольных страстей и олимпийских событий простому болельщику? Исчерпывающие ответы – в книге известного спортивного журналиста.


Как не платить лишнего. Книга 2

Во второй книге серии «Народная безопасность» рассказывается как бороться с напастью, имя которой – расточительность.Десять глав книги расскажут, как избежать лишних трат в различных сферах человеческой жизни.Читатель найдет советы, которые помогут сэкономить электроэнергию и бензин, не разориться на походе к стоматологу, платить меньше налогов, покупать недорого авиабилеты и многое другое.


Медицинские анализы

Всем нам приходится время от времени сдавать медицинские анализы. Реальность такова, что, приходя в поликлинику, мы чаще всего встречаем терапевта, который торопливо пишет и ничего не объясняет, а между тем каждый имеет право знать, для чего он сдает анализ и о чем может сообщить результат. Немаловажно знать и как правильно подготовиться к сдаче анализа: неправильная подготовка может серьезно повлиять на результат.В этой книге собраны полные и современные сведения практически обо всех медицинских анализах: общеклинических, биохимических, гормональных, иммунологических и многих других.


Полный справочник симптомов. Самодиагностика заболеваний

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


Карманный справочник жизненно необходимых лекарственных средств

Перед вами современный путеводитель по лекарственным средствам. Справочник содержит информацию о наиболее важных и популярных отечественных и зарубежных лекарственных средствах, как самых современных, так и проверенных временем. Приведены названия препаратов и их синонимы, состав и описания, включая показания и противопоказания к применению, дозировки. Здесь вы найдете ответы на важнейшие вопросы:— что именно назначил врач?— излечивая один орган, не вредим ли мы другому?— как выбрать среди аналогичных препаратов лучший?Рассматриваемые средства входят в «Перечень жизненно необходимых и важнейших лекарственных препаратов».


Анализы

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