Читаем Delphi. Трюки и эффекты полностью

Листинг 10.13.

Сообщения, поддерживаемые программой

const

mess_first = 0;

mess_last = 15;

var

messages_list: array [mess_first..mess_last] of MessageInfo =

(

(value: WM_DESTROY; name: \'WM_DESTROY\ used: False),

(value: WM_MOVE; name: \'WM_MOVE\ used: False),

(value: WM_SIZE; name: \'WM_SIZE\ used: False),

(value: WM_ACTIVATE; name: \'WM_ACTIVATE\ used: False),

(value: WM_SETFOCUS; name: \'WM_SETFOCUS\ used: False),

(value: WM_KILLFOCUS; name: \'WM_KILLFOCUS\ used: False),

(value: WM_ENABLE; name: \'WM_ENABLE\ used: False),

(value: WM_SETTEXT; name: \'WM_SETTEXT\ used: False),

(value: WM_GETTEXT; name: \'WM_GETTEXT\ used: False),

(value: WM_PAINT; name: \'WM_PAINT\ used: False),

(value: WM_CLOSE; name: \'WM_CLOSE\ used: False),

(value: WM_QUIT; name: \'WM_QUIT\ used: False),

(value: WM_SIZING; name: \'WM_SIZING\ used: False),

(value: WM_MOVING; name: \'WM_MOVING\ used: False),

(value: WM_NOTIFY; name: \'WM_NOTIFY\ used: False),

(value: WM_NCHITTEST; name: \'WM_NCHITTEST\ used: False)

);

Загрузка фильтра (выбранных и невыбранных сообщений в соответствующие списки) производится очень просто (листинг 10.14).

...

Листинг 10.14.

Загрузка фильтра сообщений

procedure TfrmMessages.LoadFilter;

var

i: Integer;

begin

//Загрузка фильтра сообщений

lstAvailMessages.Clear;

lstSelMessages.Clear;

for i := mess_first to mess_last do

if messages_list[i].used then

//Сообщение перехватывается

lstSelMessages.Items.Add(messages_list[i].name)

else

lstAvailMessages.Items.Add(messages_list[i].name);

end;

При обращении к форме f rmMessages, кроме загрузки фильтра, нужно произвести некоторые дополнительные действия. Поэтому работа с этой формой начинается так же, как и в случае формы свойств окна, с вызова ее специального метода (листинг 10.15).

...

Листинг 10.15.

Инициализация формы

procedure TfrmMessages.ShowMessages(wnd: HWND);

begin

self.wnd := wnd;

LoadFilter;

ShowModal;

end;

При нажатии кнопок > (выбрать) и < (отменить выбор) происходит перемещение сообщений между списками фильтра (листинг 10.16).

...

Перейти на страницу:

Похожие книги

Забытое
Забытое

Захватывающая история Сиенны Престон продолжается во второй части головокружительной серии «Игра обмана».Семнадцатилетняя Сиенна не понаслышке знает о душевной боли и потерях. Но на этот раз всё по-другому: кто-то вмешался в воспоминания её возлюбленного, и теперь ей предстоит найти ответы.След ведёт её к сверкающим небоскрёбам и роскоши Рубекса, столицы Пасифики, где она проникает в правительственное Ведомство интеллекта и генетики. Но ответы получить не так-то просто, особенно когда её собственные воспоминания могут быть искажены. К счастью, рядом есть Зейн Райдер, готовый помочь ей сложить вместе кусочки головоломки. Его преданность и забота размывают границу между дружбой и чем-то большим.Когда Сиенна подбирается слишком близко к тёмным секретам Ведомства, её обвиняют в убийстве видного государственного деятеля, и ей приходится пуститься в бега. Как бы ни разрывалось сердце Сиенны в попытке понять, кого она любит, это всё вскоре перестаёт иметь значение — потому что единственное, что её сейчас ждёт, это смертный приговор.

Марина Козикова , Александр Степанович Грин , Марина Суржевская , Кристин Смит

Любовное фэнтези, любовно-фантастические романы / Проза / Классическая проза / Самиздат, сетевая литература / Технические науки / Любовно-фантастические романы