Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SetMenuItemBitmaps


LDV ©   (2008-12-30 18:39:00) 

Не добавляется иконка к пункту системного меню. Вот код:


B := TPicture.Create;
   try
     B.LoadFromFile('D:\Help.bmp');
     SetMenuItemBitmaps(GetSystemMenu(Handle, False), 5, MF_BYPOSITION, B.Bitmap.Handle, B.Bitmap.Handle);
     DrawMenuBar(Handle);
   finally
     B.Free;
   end;


LDV   (2008-12-31 14:08:00) [1]

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


   hSysMenu := GetSystemMenu(Handle, False);
   
   InsertMenu(hSysMenu, 0, MF_STRING, SC_HELP, PChar(default_name_help));
   
   FBtpHelp := TBitmap.Create;
   FBtpHelp.Width  := default_width_Help;
   FBtpHelp.Height := default_height_Help;
   _GetHelpImage.DrawSize(FBtpHelp.Canvas, -1, -1, FBtpHelp.Width, FBtpHelp.Height, default_index_Help);
   
  FillChar(miInfo, SizeOf(TMenuItemInfo), #0);
   miInfo.cbSize := SizeOf(TMenuItemInfo);
   miInfo.fMask := MIIM_BITMAP;
   miInfo.hbmpItem := FBtpHelp.Handle;
   SetMenuItemInfo(hSysMenu, SC_HELP, False, miInfo);


Johnmen   (2008-12-30 22:36:00) [2]

1. А что ещё ожидать, когда B.Free?
2. Из каких соображений здесь TPicture, а не TBitmap?
3. Пункт пятый - это разделитель :)))


Наверх

Титульная страница Поиск, карта сайта Написать письмо