Кент Рейсдорф. BORLAND C++BUILDER. Раздел 4

Кент Рейсдорф. BORLAND C++BUILDER. Страница 419

Обработка сообщений собственными силами требует применения некото­рой дополнительной техники, о которой вы узнаете из этого раздела.

Более подробно о сообщениях Windows

Каким образом возникают сообщения Windows? Некоторые сообщения посылаются непосредственно Windows для указания окну на необходимость выполнения каких-либо действий или уведомления окна о некотором событии в системе. В других случаях сообщения посылаются программистом или библиотекой, которую он использует (VCL, OWL или MFC). Независимо от того, кто посылает сообщение, можете не сомневаться, что каждую милли­секунду в системе циркулирует множество сообщений.

Типы сообщений

В основном, сообщения делятся на две категории:

? Командные сообщения

? Уведомляющие сообщения

Командные сообщения вызывают какое-то действие либо в Windows, либо внутри определенного элемента управления. Уведомляющие сообщения по­сылаются Windows для того, чтобы информировать вас о некотором событии. Чтобы проиллюстрировать различие между этими двумя типами сообщений, посмотрим на стандартный элемент редактирования.

Стандартный элемент редактирования Windows имеет почти 80 команд­ных сообщений и около 20 уведомляющих сообщений. Удивлены? Это дей­ствительно так, и при этом не забудьте, что элемент редактирования — это только один из множества элементов управления Windows.

Программист, пишущий приложение для Windows на Си, должен посы­лать множество сообщений для выполнения стоящей перед ним задачи. На­пример, чтобы получить значение длины выбранного в данный момент текста в элементе редактирования, необходим следующий код:

int start; int end;

long result = SendMessage(hWndEdit, EM_GETSEL, 0, 0);

start = LOWORD(result); end = HIWORD(result); int length = end - start;

Web-дизайн (с) 2010 All rights reserved