Отображение графических изображений в меню
-----------------------------------------------------------------
Для отображение графических образов в меню используется функция ModifyMenu. Она меняет существующий элемент меню таким образом, что выводит побитовое отображение вместо текста варианта меню, определенного в редакторе меню. Например, этот конструктор Init добавляет и модифицирует меню окна:
type MyLong = record case Integer of 0: (TheLong: Longint); 1: (Lo: Word; Hi: Word); end;
constructor SampleWindow.Init(AParent: PWindowsObject; ATitle: PChar); var ALong: MyLong; begin TWindow.Init(AParent, ATitle); Attr.Menu := LoadMenu(HInstance, PChar(100)); ALong.Lo := LoadBitmap(HInstance, PChar(503)); ModifyMenu(Attr.Menu, 111, mf_ByCommand or mf_Bitmap, 211, PChar(ALong.TheLong)); . . . end;
В приведенном выше коде 111 - это идентификатор команды ва- рианта меню, который изменяется, а 211 это его новый идентифика- тор. Однако, вы можете использовать один и тот же идентификатор в обоих случаях.
+-----------------------------------------------------------+-+-+ |#=#XXXXXXXXXXXXXXXXXXXXStepsXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|^|v| +-----------------------------------------------------------+-+-| |XXFileXXX Help | +--------------+------------------------------------------------| |XXXXNewXXXXXXX| | | pick | | | me | | | Save | | | Save As | | +--------------+ | | | | | +---------------------------------------------------------------+
Рис. 18.3. Меню, где в качестве одного из пунктов выбора ис- пользовано графическое изображение.