Форум » GUI » SETBITMAPS » Ответить

SETBITMAPS

krutoff: Привет Григорий! Всех с праздниками! Раньше для того, чтобы большую картинку показать в пункте меню в функции MENUITEM_SETBITMAPS в LoadImage изменял размеры на 16 x 16, а сейчас уже используется SET MENUSTYLE EXTENDED изменился код функции - можно ли сделать возможность изменять размер картинки в меню?

Ответов - 4

gfilatov: krutoff пишет: сейчас уже используется SET MENUSTYLE EXTENDED изменился код функции - можно ли сделать возможность изменять размер картинки в меню? Олег! Если используется SET MENUSTYLE EXTENDED, то можно использовать для изменения размера картинки в меню функцию SetMenuBitmapHeight( <size> ) , где size - высота используемых картинок в пикселях

krutoff: Спасибо, Григорий! Буду пробовать. Еще раз спасибо за поддержку.

Петр: В c_menu.c есть небольшая ошибка. HB_FUNC ( APPENDMENUPOPUP ) должна выглядеть так: HB_FUNC ( APPENDMENUPOPUP ) { if ( newStyle ) { MYMENUITEM* lpMenuItem; UINT cch = hb_strnlen( hb_parc( 3 ), 255); lpMenuItem = (MYMENUITEM*) hb_xgrab( ( sizeof( MYMENUITEM ) ) ); ZeroMemory( lpMenuItem, sizeof( MYMENUITEM ) ); lpMenuItem->uiID = hb_parni( 2 ); lpMenuItem->caption = hb_strndup( hb_parc( 3 ), cch ); lpMenuItem->cch = cch; lpMenuItem->hBitmap = (HBITMAP) NULL; lpMenuItem->hFont = (HFONT) NULL; lpMenuItem->uiItemType = hb_parnl( 4 ); hb_retnl ( AppendMenu( (HMENU) hb_parnl( 1 ), MF_POPUP | MF_OWNERDRAW, hb_parni( 2 ), (LPTSTR) lpMenuItem ) ); } else hb_retnl ( AppendMenu( (HMENU) hb_parnl( 1 ), MF_POPUP | MF_STRING, hb_parni(2), hb_parc(3)) ) ; } Это позволит избежать проблем при отображении пунктов меню и удалении меню ( DestroyMenu ).


gfilatov: Петр пишет: В c_menu.c есть небольшая ошибка Большое спасибо! Уже поправил.



полная версия страницы