Автор | Сообщение |
|
| постоянный участник
|
Пост N: 6069
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.10.18 17:25. Заголовок: MsgInfo(), MsgStop(), MsgExclamation(), MsgDebug()
Уже скоро 2019 год будет, а эти функции до сих пор неизменны. Экраны большие у пользователей уже давно. Замучили юзера вопросом, а побольше шрифт можно сделать для этих окон ? A то читать приходиться через лупу. Настолько мелкий шрифт в этих сообщениях для больших экранов. Можно ли установить для этих окон при запуске программы РАЗМЕР фонта, ну и до кучи сам фонт ? Типа: SET MSGFUNCT FONT TO cFont, nFontSize Как есть команда: SET FONT TO cFont, nFontSize Ну и до кучи задать другой размер иконки и картинки: SET MSGFUNCT SIZE 256 // или 48, 64, 72, 96, 128 SET MSGINFO SIZE 64 ICO "INFO64.ICO" Тогда за иконку отвечать будет сам программист. Нет иконки в ресурсах, и нет в окошке иконки. И цвета окошек тоже: SET MSGINFO BACKCOLOR aDim1 FONTCOLOR aDim2 SET MSGSTOP BACKCOLOR aDim1 FONTCOLOR aDim2 SET MSGEXCL BACKCOLOR aDim1 FONTCOLOR aDim2 SET MSGDEBUG BACKCOLOR aDim1 FONTCOLOR aDim2 Если это нельзя сделать для этих функций и не хочется увеличивать размер ресурсов для текущей версии МиниГуи, то хотелось бы иметь дополнительную библиотеку MiniguiExt.lib и файл ресурсов miniguiExt.res Т.е. сделать доп.функции: Msg2Info(), Msg2Stop(), Msg2Exclamation(), Msg2Debug() Оставить обычный синтаксис и типа такого: SET MSG2FUNCT FONT TO cFont, nFontSize SET MS2GINFO SIZE 64 ICO "INFO64.ICO" Msg2Info( cMsg , "Инфо", ......, cFont, nFontSize, 64, "INFO64.ICO", aDim1, aDim2 ) ------------------------------------------------------------------ Надоели танцы с бубнами, чтобы сменить иконку в этих функциях !!! Сначала в ресурсном файле объявить: #define MSGINFO 1005 Потом в prg-модуле нужно ставить: #define MSGINFO 1005 и ещё потом уже где тебе нужно: MsgInfo( cMsg , "Инфо", MSGINFO, .F. ) А по простому нельзя сделать ?
|
|
|
Ответов - 194
, стр:
1
2
3
4
5
6
7
8
9
10
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 1477
Зарегистрирован: 27.01.07
|
|
Отправлено: 11.10.18 17:35. Заголовок: Напиши свою функцию ..
Напиши свою функцию да и всё.
|
|
|
|
| постоянный участник
|
Пост N: 6070
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.10.18 18:04. Заголовок: PSP пишет: Напиши с..
PSP пишет: цитата: | Напиши свою функцию да и всё. |
| Да я уже пробовал, не особо красиво получается... Тем более я думаю это не только у меня такие придирчивые пользователи. Расширение функционала МиниГуи тоже большой плюс.
|
|
|
|
| Администратор
|
Пост N: 3807
Зарегистрирован: 23.05.05
|
|
Отправлено: 12.10.18 08:00. Заголовок: Так это обертка для ..
Так это обертка для функции winapi В winapi нет такого функционала. Чтобы его получить, надо делать другую реализацию. Думается, что многие пользователи захотят использовать именно стандартные средства winapi, так что лучше это сделать отдельными функциями. Ну а что там такого военного ? Модальное окно с текстом и кнопками, больше ничего.
|
|
|
|
| moderator
|
Пост N: 1371
Зарегистрирован: 11.02.10
|
|
Отправлено: 12.10.18 09:33. Заголовок: Pasha пишет: Модаль..
Pasha пишет: цитата: | Модальное окно с текстом и кнопками |
| Тем более, что в ядре библиотеки уже есть Клиппер-совместимая по синтаксису и Вин7-10 подобная по виду функция цитата: | HMG_Alert( cText, [<aOptions>], [<cTitle>], [<nType>] ) |
| Пример использования см. в папке \samples\Basic\WALERT_2
|
|
|
|
| постоянный участник
|
Пост N: 6073
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.10.18 19:18. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Пример использования см. в папке \samples\Basic\WALERT_2 |
| А можно в эту функцию добавить ещё один параметр, отвечающий за иконку из ресурсов ? Было бы здорово ! И размеры фонта как можно регулировать для этой функции ? Если нет возможности, то можно ещё добавить параметр фонта ?
|
|
|
|
| moderator
|
Пост N: 1377
Зарегистрирован: 11.02.10
|
|
Отправлено: 23.10.18 14:49. Заголовок: Andrey пишет: разме..
Andrey пишет: цитата: | размеры фонта как можно регулировать для этой функции ? |
| После изменений, предложенных Сергеем, это будет возможно, если определить свой шрифт DlgFont до вызова функции HMG_Alert() Такое изменение шрифта будет доступно в следующей сборке библиотеки
|
|
|
|
| постоянный участник
|
Пост N: 2097
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.10.18 15:07. Заголовок: Andrey пишет А можно..
Andrey пишет цитата: | А можно в эту функцию добавить ещё один параметр, отвечающий за иконку из ресурсов ? |
|
1. В MiniGui\RESORCES есть файлы ico с именами aIcon := { "ALERT", "QUESTION", "INFO", "STOP" }, замени их своими. 2. FUNCTION HMG_Alert( cMsg, aOptions, cTitle, nType, cIcoFile ) LOCAL aIcon := { "ALERT", "QUESTION", "INFO", "STOP" } // LOCAL cIcoFile LOCAL nLineas ... AEval( aIcon, {|x, i| aIcon[ i ] := "ZZZ_B_" + x } ) DEFAULT cIcoFile := aIcon[ nType ] IF ! _IsControlDefined( "DlgFont", "Main" ) ... Иконки должны быть 32x32, так зашито в окно
|
|
|
|
| moderator
|
Пост N: 1379
Зарегистрирован: 11.02.10
|
|
Отправлено: 23.10.18 16:52. Заголовок: SergKis пишет: FUNC..
SergKis пишет: цитата: | FUNCTION HMG_Alert( cMsg, aOptions, cTitle, nType, cIcoFile ) |
| Добавил новый параметр в эту функцию. Спасибо за помощь
|
|
|
|
| постоянный участник
|
Пост N: 6076
Зарегистрирован: 12.09.06
|
|
Отправлено: 23.10.18 20:14. Заголовок: SergKis пишет: Икон..
SergKis пишет: цитата: | Иконки должны быть 32x32, так зашито в окно |
| Ну что за невезуха, хотелось бы размер иконок 48 или 64х64 хотя бы.
|
|
|
|
| постоянный участник
|
Пост N: 2100
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.10.18 20:48. Заголовок: Andrey пишет Ну что ..
Andrey пишет Так текст ф-ии есть, поправь, отладку сделай на разные размеры. Кто мешает ?
|
|
|
|
| moderator
|
Пост N: 1380
Зарегистрирован: 11.02.10
|
|
Отправлено: 23.10.18 22:06. Заголовок: Andrey пишет: разме..
Andrey пишет: цитата: | размер иконок 48 или 64х64 хотя бы |
| Добавил в функцию еще один параметр nIcoSize. Пример вызова: цитата: | DEFINE FONT DlgFont FONTNAME "Tahoma" SIZE 18 HMG_Alert( "MessageBox with user's defined Font and Icon", NIL, "Warning", NIL, "demo.ico", 64 ) RELEASE FONT DlgFont |
|
|
|
|
|
|
| постоянный участник
|
Пост N: 6077
Зарегистрирован: 12.09.06
|
|
Отправлено: 23.10.18 22:22. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Добавил в функцию еще один параметр nIcoSize. |
| Ура ! Спасибо большое ! Т.е. если мне всегда нужен постоянный размер фонта в HMG_Alert(), я в MAIN определяю DEFINE FONT DlgFont FONTNAME "Tahoma" SIZE 18 и больше нигде не забочусь об этом ? Правильно ? DlgFont - у меня больше ни где не присутствует.
|
|
|
|
| moderator
|
Пост N: 1381
Зарегистрирован: 11.02.10
|
|
Отправлено: 24.10.18 15:07. Заголовок: Andrey пишет: я в M..
Andrey пишет: цитата: | я в MAIN определяю DEFINE FONT DlgFont FONTNAME "Tahoma" SIZE 18 и больше нигде не забочусь об этом ? |
| Да, теперь так можно сделать...
|
|
|
|
| постоянный участник
|
Пост N: 6078
Зарегистрирован: 12.09.06
|
|
Отправлено: 24.10.18 19:27. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Да, теперь так можно сделать... |
| Спасибо ! Жду с нетерпением новую версию !
|
|
|
|
| moderator
|
Пост N: 1382
Зарегистрирован: 11.02.10
|
|
Отправлено: 24.10.18 20:10. Заголовок: Andrey пишет: Жду с..
Andrey пишет: цитата: | Жду с нетерпением новую версию |
| Осталось потерпеть всего одну неделю Кстати, мой тестовый пример для проверки этой функции #include "hmg.ch" ANNOUNCE RDDSYS PROCEDURE MAIN SET WINDOW MAIN OFF DEFINE FONT DlgFont FONTNAME "Tahoma" SIZE 12 HMG_Alert( "MessageBox Stop", NIL, "Stop!", ICON_STOP ) HMG_Alert( "MessageBox Alert", NIL, "Alert" ) HMG_Alert( "MessageBox with the user's defined Font and Icon", NIL, "Warning", NIL, "demo.ico" ) RELEASE FONT DlgFont DEFINE FONT DlgFont FONTNAME "Verdana" SIZE 18 HMG_Alert( "MessageBox with the Big Font and Icon Size", NIL, NIL, NIL, "demo.ico", 64 ) HMG_Alert( ; HMG_Alert( "Test Question;Second Line", {"&Yes","&No","Con&tinue","&Cancel"}, "Please, Select", NIL, "demo.ico", 64 ), ; 3 /* timeout in the seconds */, "Information", ICON_INFORMATION ) RETURN работает нормально
|
|
|
|
| |
Пост N: 63
Зарегистрирован: 18.06.15
|
|
Отправлено: 25.10.18 07:36. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет:
|
|
|
|
| moderator
|
Пост N: 1383
Зарегистрирован: 11.02.10
|
|
Отправлено: 25.10.18 09:37. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: gfilatov2002 пишет: цитата: | Осталось потерпеть всего одну неделю |
|
|
|
|
|
| постоянный участник
|
Пост N: 6102
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.10.18 13:25. Заголовок: gfilatov2002 Можно ..
gfilatov2002 Можно кнопочки по высоте сдела раза в ТРИ больше ? Пока юзер по кнопке попадёт, выслушаешь о себе много чего.... И ему без разницы, что я пишу на готовой системе, главное чтобы он по кнопке попадал. Ну и заодно бы смену фона выбранной кнопки сделать, всего несколько строк: NOHOTLIGHT NOXPSTYLE HANDCURSOR ; ON MOUSEHOVER ( This.Backcolor := BLACK , This.Fontcolor := YELLOW ) ; ON MOUSELEAVE ( This.Backcolor := ???? , This.Fontcolor := ????? ) ;
|
|
|
|
| постоянный участник
|
Пост N: 6103
Зарегистрирован: 12.09.06
|
|
Отправлено: 31.10.18 16:39. Заголовок: Перешёл на новую вер..
Перешёл на новую версию МиниГуи. Теперь пример Tsb_menu слетает вот на этой строке: DEFINE FONT DlgFont FONTNAME "Tahoma" SIZE 12 Первый раз срабатывает, на второй раз, вот такая ошибка: Error MGERROR/0 Font: DlgFont Of Main Already defined. Program terminated. Called from MSGMINIGUIERROR(99) in module: h_error.prg Called from _DEFINEFONT(61) in module: h_font.prg Called from RUN_TEST1(570) in module: Tsb_menu.prg Почему до этого работало, а сейчас нет ? Я знаю как исключить эту ошибку, но просто понять почему это происходит.
|
|
|
|
| |
Пост N: 1392
Зарегистрирован: 20.02.11
|
|
Отправлено: 31.10.18 18:21. Заголовок: Andrey пишет: Почем..
Andrey пишет: цитата: | Почему до этого работало, а сейчас нет ? |
| Видимо новая версия более строга к ошибкам разработчика , Григорий ее постоянно оптимизирует , заставляя внимательнее писать код. Что само по себе радует. Andrey пишет: цитата: | Я знаю как исключить эту ошибку, но просто понять почему это происходит. |
| Тебе помогли твой же косяк найти Не ясно как он бы аукнулся в дальнейшем.
|
|
|
Ответов - 194
, стр:
1
2
3
4
5
6
7
8
9
10
All
[только новые]
|
|