Есть код
| Код | ... var Form1: TForm1; PopupMenuNew:TPopupMenu; bbb,bbb2: Tbitmap;
...
procedure TForm1.Button1Click(Sender: TObject); var I,J: Integer; Items: array of TMenuItem; begin PopupMenuNew := TPopupMenu.Create(Self); SetLength(Items,2); Items[0]:= NewItem('ОДИН', 0, false, true, Button2Click, 0, 'MenuItem1'); Items[1]:= NewItem('ДВА', 0, false, true, Button2Click, 0, 'MenuItem1'); PopupMenuNew.Items.add(NewSubMenu('3344535',0,'MenuSubItem',Items,True)); PopupMenuNew.Items.add(NewLine); PopupMenuNew.Items.add(NewItem('Настройка', 0, false, true,Button2Click , 0, 'SetMenu')); PopupMenuNew.Items.add(NewLine); PopupMenuNew.Items.add(NewItem('Выход', 0, false, true, Button2Click, 0, 'ExitMenu')); PopupMenuNew.AutoPopup:=true; Form1.PopupMenu:=PopupMenuNew; end;
...
procedure TForm1.Button2Click(Sender: TObject);
begin bbb:=Tbitmap.Create; bbb.LoadFromFile('C:\111.bmp'); bbb.Width:=8; bbb.Height:=8; bbb2:=Tbitmap.Create; bbb2.LoadFromFile('C:\112.bmp'); bbb2.Width:=8; bbb2.Height:=8; SetMenuItemBitmaps(PopupMenuNew. Handle, 0, MF_BYPOSITION, bbb.Handle, 0); SetMenuItemBitmaps(PopupMenuNew.Handle, 2, MF_BYPOSITION, bbb2.Handle, 0);
end;
procedure TForm1.FormDestroy(Sender: TObject); begin bbb.free; bbb2.free; end;
...
|
во первых не работает , не добавляет картинки к пунктам ? во ввторых , если заработает , как добавить картинку в SUBMENU ?
еще делал так, но данный код:
| Код | procedure TForm1.Button3Click(Sender: TObject); var hHandle: THandle; x: integer; begin hHandle := GetMenuItemID(PopupMenuNew.handle, 2); ModifyMenu(PopupMenuNew.handle, hHandle, MF_BYPOSITION or MF_BITMAP, hHandle, PChar(bbb.handle)); hHandle := GetMenuItemID(PopupMenuNew.handle, 1); ModifyMenu(PopupMenuNew.handle, hHandle, MF_BYCOMMAND or MF_BITMAP, hHandle, PChar(bbb2.handle)); end;
|
добавляет почему то новый пункт меню, который являеться картинкой
что можно сказать по данному поводу , помогите плиз ? |