Форум » GUI » Как сделать в меню изменение размера шрифта ? » Ответить

Как сделать в меню изменение размера шрифта ?

Andrey: [pre2] DEFINE POPUP 'Tests-2' MENUITEM 'Change Font Size - 12' ACTION ( Form_1.tab_1.Fontsize := 12, SizeTest(nG) ) MENUITEM 'Change Font Size - 14' ACTION ( Form_1.tab_1.Fontsize := 14, SizeTest(nG) ) MENUITEM 'Change Font Size - 16' ACTION ( Form_1.tab_1.Fontsize := 16, SizeTest(nG) ) MENUITEM 'Change Font Size - 18' ACTION ( Form_1.tab_1.Fontsize := 18, SizeTest(nG) ) MENUITEM 'Change Font Size - 20' ACTION ( Form_1.tab_1.Fontsize := 20, SizeTest(nG) ) MENUITEM 'Change Font Size - 22' ACTION ( Form_1.tab_1.Fontsize := 22, SizeTest(nG) ) MENUITEM 'Change Font Size - 24' ACTION ( Form_1.tab_1.Fontsize := 24, SizeTest(nG) ) END POPUP[/pre2] Можно ли сделать ОДНУ СТРОКУ в МЕНЮ для изменения размера фонта ? Не хочется делать отдельную форму для этого !

Ответов - 21, стр: 1 2 All

SergKis: Andrey пишет Можно ли сделать ОДНУ СТРОКУ в МЕНЮ для изменения размера фонта ? MENUITEM 'Change Font Size - 12' ACTION ( App.FontSize := 12, MsgBox(App.FontName+CRLF+hb_ntos(App.FontSize), "INFO") )

Andrey: Не то ! Нужно чтобы можно в GET или SPINNER задавать размер фонта. Или в ComboBox задавать размер фонта. Главное чтобы потом этот размер показывался в Контекстном меню или POPUP меню в одной строчке. Вот примерно так:

SergKis: Andrey Определись, надо сделать ОДНУ СТРОКУ в МЕНЮ для изменения размера фонта ? или Нужно чтобы можно в GET или SPINNER задавать размер фонта. Или в ComboBox задавать размер фонта. ничего не понял


Andrey: Вот так примерно нужно:

SergKis: Andrey пишет Вот так примерно нужно: Смотри BASIC\Menu\demomenu.prg[pre2] Popup 'Test' Item 'Item 1' Action MsgInfo ( 'Item 1' ) Item 'Item 2' Action MsgInfo ( 'Item 2' ) Popup 'Item 3' Item 'Item 3.1' Action MsgInfo ( 'Item 3.1' ) Item 'Item 3.2' Action MsgInfo ( 'Item 3.2' ) ... т.е. This.Cargo := oKeyData() ; This.Cargo:nFontsize := 18 (This.Object):Event(10, {|ow| // Change Font Size TAB Local nSize := ow:Cargo:nFontsize // This.Cargo:nFontsize ... Return Nil }) DEFINE POPUP 'Tests-2' POPUP 'Change Font Size TAB - '+hb_ntos(This.Cargo:nFontsize) MENUITEM 'Change Font Size - 12' ACTION ( ThisWindow.Cargo:nFontsize := 12, _wPost(10) ) MENUITEM 'Change Font Size - 14' ACTION ( ThisWindow.Cargo:nFontsize := 14, _wPost(10) ) MENUITEM 'Change Font Size - 16' ACTION ( ThisWindow.Cargo:nFontsize := 16, _wPost(10) ) MENUITEM 'Change Font Size - 18' ACTION ( ThisWindow.Cargo:nFontsize := 18, _wPost(10) ) MENUITEM 'Change Font Size - 20' ACTION ( ThisWindow.Cargo:nFontsize := 20, _wPost(10) ) MENUITEM 'Change Font Size - 22' ACTION ( ThisWindow.Cargo:nFontsize := 22, _wPost(10) ) MENUITEM 'Change Font Size - 24' ACTION ( ThisWindow.Cargo:nFontsize := 24, _wPost(10) ) END POPUP ... [/pre2]

Andrey: Классно ! Получилось изменение размера фонта ! Только не получается изменить размер фонта в самом меню. Как это сделать ? Помню, давно что-то такое делал, но забыл уже.

SergKis: Andrey пишет Только не получается изменить размер фонта в самом меню. Как это сделать ? Смотри свои примеры с MENU EXTENDED, там применяешь фонты, в main menu, наверно, не выйдет (или ф-ии применять\смотреть надо), не использую и тоже не помню

Dima: Andrey пишет: Только не получается изменить размер фонта в самом меню. Как это сделать ? [pre2] 2020/04/30: HMG Extended Edition version 20.04. * Enhanced: The FONT clause in the POPUP and MENUITEM commands supports a font name for the fonts which were defined by the command DEFINE FONT <font> FONTNAME <name>. Contributed by Ivanil Marcelino <ivanil/at/linkbr.com.br> (see demo in folder \samples\Advanced\MenuEx) [/pre2]

Andrey: Не надо менять свойство фонта. мне нужно поменять вот здесь: [pre2]POPUP 'Change Font Size TAB - ХХ' [/pre2] где вместо ХХ - писать размер фонта из ThisWindow.Cargo:nFontsize или M->nPubTabFontSize !

SergKis: Andrey POPUP 'Change Font Size TAB - '+hb_ntos(M->nPubTabFontSize ) если через нее работаешь

Andrey: SergKis пишет: если через нее работаешь Не работает. Вот пример - https://cloud.mail.ru/public/EHYk%2FCZ2DQm15u Вот исходник: [pre2] DEFINE POPUP 'Tests-2' POPUP 'Change Font Size Tab - ' + hb_ntos( M->nPubTabFontSize ) MENUITEM '10' ACTION ( M->nPubTabFontSize := 10, _wPost(10) ) MENUITEM '12' ACTION ( M->nPubTabFontSize := 12, _wPost(10) ) MENUITEM '14' ACTION ( M->nPubTabFontSize := 14, _wPost(10) ) .... END POPUP END MENU (This.Object):Event(10, {|ow| // Change Font Size TAB Local nSize := M->nPubTabFontSize ? "---- Event 10 --- nSize=", nSize ?? " NameWin=", ow:Name DO EVENTS Form_1.tab_1.Fontsize := nSize SizeTest() DO EVENTS // Как изменить название в меню ? вот здесь ????? // POPUP 'Change Font Size Tab - ' + hb_ntos( M->nPubTabFontSize ) Return Nil }) SetTab_1() // building a TAB object END WINDOW[/pre2]

Петр: Andrey пишет: // Как изменить название в меню ? вот здесь ????? Функция _ModifyMenuItem Пример basic\menu\menudemo1

Andrey: Петр пишет: Пример basic\menu\menudemo1 Спасибо БОЛЬШОЕ !

SergKis: Один раз меняет только [pre2] POPUP 'Change Font Size Tab - ' + hb_ntos( M->nPubTabFontSize ) NAME I00 ... (This.Object):Event(10, {|ow| // Change Font Size TAB Local nSize := M->nPubTabFontSize Local cCaption := 'Change Font Size Tab - ' + hb_ntos(nSize) ? "---- Event 10 --- nSize=", nSize ?? " NameWin=", ow:Name DO EVENTS _ModifyMenuItem ( "I00", "Form_1", cCaption ) Form_1.tab_1.Fontsize := nSize SizeTest() DO EVENTS Return Nil }) ... [/pre2]

Dima: Петр пишет: Функция _ModifyMenuItem Андрей про неё уже спрашивал в Теме аж в 2016 году , но видать снова забыл

Andrey: Dima пишет: аж в 2016 году , но видать снова забыл Да когда это было то... А поиск по сайту забыл сделать ... Бывает так.

SergKis: Andrey Так работает, ставит\снимает галочку [pre2] POPUP 'Change Font Size Tab ' NAME I00 ITEM '10' ACTION ( M->nPubTabFontSize := 10, _wPost(10) ) NAME I10 ITEM '12' ACTION ( M->nPubTabFontSize := 12, _wPost(10) ) NAME I12 ITEM '14' ACTION ( M->nPubTabFontSize := 14, _wPost(10) ) NAME I14 ITEM '16' ACTION ( M->nPubTabFontSize := 16, _wPost(10) ) NAME I16 ITEM '18' ACTION ( M->nPubTabFontSize := 18, _wPost(10) ) NAME I18 ITEM '20' ACTION ( M->nPubTabFontSize := 20, _wPost(10) ) NAME I20 ITEM '22' ACTION ( M->nPubTabFontSize := 22, _wPost(10) ) NAME I22 ITEM '24' ACTION ( M->nPubTabFontSize := 24, _wPost(10) ) NAME I24 ITEM '28' ACTION ( M->nPubTabFontSize := 28, _wPost(10) ) NAME I28 END POPUP ... END MENU _CheckMenuItem( "I"+hb_ntos(M->nPubTabFontSize), This.Name ) (This.Object):Event(10, {|ow| // Change Font Size TAB Local nSize := M->nPubTabFontSize Local nSold := Form_1.tab_1.Fontsize Local cCaption := 'Change Font Size Tab - ' + hb_ntos(nSize) ? "---- Event 10 --- nSize=", nSize ?? " NameWin=", ow:Name DO EVENTS _UnCheckMenuItem( "I"+hb_ntos(nSold), This.Name ) _CheckMenuItem ( "I"+hb_ntos(nSize), This.Name ) //_ModifyMenuItem ( "I00", "Form_1", cCaption ) Form_1.tab_1.Fontsize := nSize SizeTest() DO EVENTS Return Nil }) ... [/pre2]

Dima: Andrey пишет: Да когда это было то... Было в этой жизни

Andrey: SergKis пишет: Один раз меняет только Опять засада .... Одноразовое меню получается... А почему так ? Если поменять другое меню, без выбора, то работает много раз. [pre2] MENUITEM 'Log Change Font Size Tab - from 5 to 38' ACTION TestSizeFont() NAME MENU538 .... // изменить название в меню _ModifyMenuItem ( "MENU00" , "Form_1", cCapt ) _ModifyMenuItem ( "MENU538", "Form_1", cCapt ) Return Nil }) [/pre2] Что-то в МиниГуи не работает.

SergKis: Andrey В POPUP у меня меняет 1 раз, в MENUITEM несколько раз, но по мне вариант с галочкой в списке размеров фонта, показанный выше лучше смотрится



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