Форум » GUI » CONTEXT MENU и темная тема » Ответить

CONTEXT MENU и темная тема

Andrey: Всем привет ! Сейчас в МиниГуи CONTEXT MENU 2х типов: стандартный и расширенная. А возможно цвет поменять, как у других ? Вот так допустим:

Ответов - 6

Haz: Andrey пишет: А возможно цвет поменять, как у других ? можно на все меню. Петр 4 года назад все сделал. в примеры. MenuEx

Andrey: Haz пишет: можно на все меню. Петр 4 года назад все сделал. в примеры. MenuEx Спасибо ! Пример видел уже давно, но пропустил смену тем. Григорий, а можешь в пример добавить ТЕМНУЮ тему ? Чтобы все могли пользоваться. [pre2] ITEM "Dark 2020 theme" ACTION SetThemes( 3 ) NAME Theme3[/pre2] А как у себя в проге пользоваться темами ? Тащить к себе в проект эту процедуру: [pre2]/*STATIC*/ PROCEDURE SetThemes( type )[/pre2] Попробовал так:[pre2] SetThemes( 2 ) SetProperty( cForm, "Theme2", "Enabled", IsExtendedMenuStyleActive() ) DEFINE CONTEXT MENU OF &cForm[/pre2] Не работает, вылет по ошибке:[pre2] Error MGERROR/0 Control: Theme2 Of test Not defined. Program terminated. --------------------------------- Stack Trace --------------------------------- Called from MSGMINIGUIERROR(100) in module: h_error.prg Called from SETPROPERTY(4005) in module: h_controlmisc.prg Called from MYCELLCLICK(158) in module: demo4.prg Called from (b)MYCLICKTSB(93) in module: demo4.prg Called from TSBROWSE:LBUTTONDOWN(8470) in module: h_tbrowse.prg Called from TCONTROL:HANDLEEVENT(907) in module: TControl.prg Called from TSBROWSE:HANDLEEVENT(8975) in module: h_tbrowse.prg [/pre2] Понимаю что сам не объявил "Theme2", но не знаю как. Помогите пожалуйста.

gfilatov2002: Andrey пишет: можешь в пример добавить ТЕМНУЮ тему ? Так подойдет


Andrey: gfilatov2002 пишет: Так подойдет Да, отлично ! Только фонт сделать совсем белым на активном курсоре (или мне не видно что на картинке). А как включить в свои программы эту тему. У меня не получается. Выше описал.

gfilatov2002: Andrey пишет: как включить в свои программы эту тему На примере menudemo2 из папки samples\Basic\Menu [pre2]/* * MiniGUI Menu Demo */ #include "minigui.ch" PROCEDURE Main LOCAL n LOCAL m_char SET MENUSTYLE EXTENDED DEFINE WINDOW Win_1 ; AT 0, 0 ; WIDTH 400 ; HEIGHT 400 ; TITLE 'Menu Demo 2' ; MAIN DEFINE MAIN MENU POPUP "&Option" FOR n := 1 TO 3 m_char := StrZero( n, 2 ) MENUITEM 'EXE ' + m_char ACTION MenuProc() NAME &m_char NEXT END POPUP END MENU IF IsExtendedMenuStyleActive() SetThemes(3) ENDIF END WINDOW ACTIVATE WINDOW Win_1 RETURN PROCEDURE MenuProc() IF This.Name == '01' MsgInfo ( _HMG_aControlCaption[ This.Index ] ) ELSEIF This.Name == '02' MsgInfo ( This.Caption ) ELSEIF This.Name == '03' MsgInfo ( 'Action 03' ) ENDIF RETURN [/pre2] Результат - на картинке

Andrey: Спасибо ! Получилось. Добавил в пример Tsb_Сlipboard из MiniGUI\SAMPLES\Advanced\MenuEx [pre2]STATIC PROCEDURE SetThemes( type ) .....[/pre2] Внес изменения в функцию: [pre2]STATIC FUNCTION MyCellClick() .... SET MENUSTYLE EXTENDED // switch menu style to advanced SetMenuBitmapHeight( 32 ) // set icon size 32x32 SetThemes(2) DEFINE CONTEXT MENU OF &cForm ...[/pre2] И заработало ! Только можно код PROCEDURE SetThemes( type ) внести в саму библиотеку МиниГуи ? Чтобы не таскать его каждый раз в примеры. Кто захочет поменять, тот добавит к себе эту функцию к себе.



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