FRACTALS

ѕ даРЪвРЫРе
іРЫХаХп ШЧЮСаРЦХЭШЩ даРЪвРЫЮТ
їаЮУаРЬЬл ФЫп ЯЮбваЮХЭШп даРЪвРЫЮТ
БблЫЪШ ЭР ФагУШХ бРЩвл Ю даРЪвРЫРе
ЅРЯШиШ бТЮШ ТЯХзРвЫХЭШп



 
 

LOGO
Предыдущая Следующая

ФуНКЦия-ЧЛен handlejnessage класса tmdijnaanager обрабатывает сообщения wm_create и wm_destroy сама, так что она может постоянно обновлять свой список активных окон. Сообщения, которые относятся к дочерним окнам, такие как сообщения о прорисовке окна или о перемещениях мыши, пересылаются в активное дочернее окно. Все остальные сообщения обрабатываются по умолчанию стандартным образом.

ФуНКЦИИ-ЧЛеНЫ init_menu И set_frame_menu устанавливают

меню и подменю в дочерних окнах и их взаимосвязи с меню окна фрейма. Эти функции вызываются один раз из функции winMain, сразу после регистрации окна. Идентификатор

menu_rc_name - ЭТО ИМЯ СТроКИ ДЛЯ МеНЮ ОКНа, Как ОНО ВЫГЛЯДИТ в файле ресурсов. Параметр window_submenu_j?os сообщает Windows, где разместить список открытых дочерних окон MDI. Вид этого списка в меню - преимущество, которое вы получаете бесплатно от системы управления MDI Windows.

Класс tmdi_chiid_window является базовым классом ДЛЯ конкретных типов дочерних окон. Он инкапсулирует поведение, общее для всех дочерних окон MDI. Наиболее интересное поведение заключается в том, что меню окна фрейма меняется при активизации нового дочернего окна. Это выполняет функЦИЯ-ЧЛен respond_wm_mdiactivate В ОТВеТ На со-общение wm_md I act i vate. Эта функция использует два макроса: activate_mdi_child_window И mdi_setmenu_msgparams.

Имеется две версии этих макросов, одна для 16-разрядных Windows (такой как Windows 3.1) и одна для 32-разрядных Windows (таких как Windows 95/98/nt). Эти макросы позволяют использовать один и тот же набор исходных кодов, который может компилироваться как в 16-разрядном, так и в 32-разрядном окружении.

274 __Фракталы и вейвлеты для сжатия изображений в Дейстьц

Листинг В.2.3. Опрелеление класса лля окон АЮ1

class tmdi_window: public twindow { public:

// Base class for tmdi_manager and tmdi_child_window tmdi_window (HINSTANCE hlnstance,LRESULT CALLBACK

window_proc, int window_extra, LPCSTR menu^name,

LPCSTR title_name,

LPCSTR class_name,LPCSTR icon^name): twindow (hlnstance, window_jproc, window_extra, menu^name, title_name, class^name, icon__name)

{);

virtual LRESULT CALLBACK default_window_proc (HWND hwnd, UINT message,WPARAM wParam,LPARAM lParam);


Предыдущая Следующая


Галерея фракталов

 

Hosted by uCoz