Автор | Сообщение |
|
| постоянный участник
|
Пост 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: 2641
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.07.19 15:52. Заголовок: Andrey пишет Как счи..
Andrey пишет цитата: | Как считать какая обработка была назначена на клавишу ? Можно ее считать, а потом восстановить ? |
| Надо написать ф-ии, к примеру : 1. aKey := SaveHotkeyAll() - получить все назначения на окно 'HOTKEY' тип контрола (HMG_GetControls() функцией) - пробежать по полученному массиву и сохранить в своем данные, см. h_hotkey.prg _DefineHotKey (...) массив назначения _HMG_aControlType [k] := "HOTKEY" _HMG_aControlNames [k] := '' _HMG_aControlHandles [k] := 0 _HMG_aControlParentHandles [k] := nParentForm _HMG_aControlIds [k] := nId _HMG_aControlProcedures [k] := bAction _HMG_aControlPageMap [k] := nMod _HMG_aControlValue [k] := nKey ... - выполнить для полученного массива _ReleaseHotKey ( cParentForm, nMod , nKey ) 2. RestHotkeyAll(aKey) - по массиву aKey выполнить _DefineHotKey ( cParentForm , nMod , nKey , bAction )
|
|
|
|
| постоянный участник
|
Пост N: 2642
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.07.19 16:26. Заголовок: PS правильно HMG_Get..
PS правильно HMG_GetFormControls ( cFormName, cUserType ), вместо HMG_GetControls()
|
|
|
|
| постоянный участник
|
Пост N: 6342
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.07.19 00:09. Заголовок: Всем привет ! Столкн..
Всем привет ! Столкнулся с переполнением в HMG_Alert(). Т.е. если слишком много строк текста, то окно становиться посередине экрана и нет кнопки закрыть. Задачу приходиться снимать. Григорий, добавь пожалуйста в эту функцию закрытие этого окна по Alt+F4 ! MsgStop() закрывается по этой клавише. У себя конечно сделаю свою обработку, но мало ли где ещё такая бяка вылезет. А как посчитать сколько строк влезет в HMG_Alert() ? Не знаю как рассчитывается расстояние между строчками текста в Label в МиниГуи. Остальное знаю.
|
|
|
|
| moderator
|
Пост N: 1521
Зарегистрирован: 11.02.10
|
|
Отправлено: 19.07.19 09:56. Заголовок: Andrey пишет: добав..
Andrey пишет: цитата: | добавь пожалуйста в эту функцию закрытие этого окна по Alt+F4 |
| Такая возможность уже есть (см. последний параметр в определении функции ниже) цитата: | HMG_Alert( cMsg, aOptions, cTitle, nType, xIcon, nSize, aColors, bInit, lClosable ) |
|
|
|
|
|
| постоянный участник
|
Пост N: 2656
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.07.19 10:25. Заголовок: gfilatov2002 пишет а..
gfilatov2002 пишет цитата: | акая возможность уже есть |
| В AlertInfo(), AlertYesNo(), ... нет параметра lClosable
|
|
|
|
| moderator
|
Пост N: 1522
Зарегистрирован: 11.02.10
|
|
Отправлено: 19.07.19 11:29. Заголовок: SergKis пишет: В Al..
SergKis пишет: цитата: | В AlertInfo(), AlertYesNo(), ... нет параметра lClosable |
| Да, верно (этот параметр используется внутри этих функций). Но Андрей ведь спрашивал о функции HMG_Alert()
|
|
|
|
| постоянный участник
|
Пост N: 2657
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.07.19 11:40. Заголовок: gfilatov2002 пишет Д..
gfilatov2002 пишет цитата: | Да, верно (этот параметр используется внутри этих функций). |
| FUNCTION HMG_Alert( cMsg, aOptions, cTitle, nType, cIcoFile, nIcoSize, aBtnColors, bInit, lClosable ) ... DEFAULT cTitle TO "Attention", aOptions TO { "&OK" }, lClosable TO .F. ... STATIC FUNCTION _Alert( cMsg, aOptions, cTitle, nType, nDefault, xIcon, nSize, aColors, lTopMost, bInit, lClosable ) В этой ф-ии желательно сделать DEFAULT lClosable TO .T. тогда Alert... функции будут похожи на Msg... функции - выход по Esc, Alt+F4
|
|
|
|
| moderator
|
Пост N: 1543
Зарегистрирован: 11.02.10
|
|
Отправлено: 31.07.19 17:18. Заголовок: Andrey пишет: SergK..
Andrey пишет: цитата: | SergKis пишет: цитата: Активировать окна в ON RELEASE не разрешено, так вроде переводится. А почему тогда MsgStop работает нормально ? Как сделать, чтобы hmg_Alert() тоже заработал в этом режиме ? |
| Уже сделал: все функции из семейства Alert*() будут работать при ON RELEASE
|
|
|
|
| постоянный участник
|
Пост N: 6376
Зарегистрирован: 12.09.06
|
|
Отправлено: 31.07.19 18:15. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Уже сделал: все функции из семейства Alert*() будут работать при ON RELEASE |
| Спасибо ! А как это делается ?
|
|
|
|
| moderator
|
Пост N: 1544
Зарегистрирован: 11.02.10
|
|
Отправлено: 31.07.19 19:28. Заголовок: Andrey пишет: как э..
Andrey пишет: Эта возможность будет доступна в следующей сборке (если таковая выйдет в будущем)
|
|
|
|
| постоянный участник
|
Пост N: 6481
Зарегистрирован: 12.09.06
|
|
Отправлено: 16.10.19 19:45. Заголовок: Что то не работает п..
Что то не работает правильно функция HMG_Alert() Обрезает текст с длинными строчками и не выводит его полностью. Проект высылал на почту. Кстати и в примере ButtonEx_DynamicMenu(1).7z который высылал ранее, функция MsgInfo(cText,'Menu Array') показывает правильно весь текст, а HMG_Alert(ToDimText(aBtn), , 'Menu Array') - обрезает текст. Можно исправить эту функцию ?
|
|
|
|
|
| moderator
|
Пост N: 1608
Зарегистрирован: 11.02.10
|
|
Отправлено: 16.10.19 21:13. Заголовок: Andrey пишет: Можно..
Andrey пишет: цитата: | Можно исправить эту функцию ? |
| Благодарю за сообщение Эта функция будет исправлена для работы с длинными строками в следующей сборке (уже скоро). P.S. Исправленный вариант функции выслал по почте...
|
|
|
|
| постоянный участник
|
Пост N: 6482
Зарегистрирован: 12.09.06
|
|
Отправлено: 16.10.19 21:52. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | P.S. Исправленный вариант функции выслал по почте... |
| Что-то не пашет... Добавил модуль в проект: # list all files *. p r g hmg_Alert2.prg h_alert.prg Собирается нормально, а при запуске выдаёт ошибку: Error BASE/1449 Синтаксическая ошибка: & --------------------------------- Stack Trace --------------------------------- Called from _DEFINEMODALWINDOW(655) in module: h_windows.prg Called from HMG_ALERT(164) in module: h_alert.prg Called from MAIN(34) in module: hmg_Alert2.prg
|
|
|
|
| moderator
|
Пост N: 1609
Зарегистрирован: 11.02.10
|
|
Отправлено: 16.10.19 21:57. Заголовок: Andrey пишет: при з..
Andrey пишет: цитата: | при запуске выдаёт ошибку |
| Да, Вы правы. Дело в том, что в этой функции использованы новые возможности, которые будут доступны только в следующей сборке. Тогда нужно немного подождать выхода этой сборки...
|
|
|
|
| постоянный участник
|
Пост N: 6483
Зарегистрирован: 12.09.06
|
|
Отправлено: 16.10.19 21:59. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Тогда нужно немного подождать выхода этой сборки... |
| Хорошо, тогда ждем !
|
|
|
|
| moderator
|
Пост N: 1610
Зарегистрирован: 11.02.10
|
|
Отправлено: 16.10.19 22:20. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | в этой функции использованы новые возможности |
|
|
|
|
|
| постоянный участник
|
Пост N: 6516
Зарегистрирован: 12.09.06
|
|
Отправлено: 18.11.19 20:39. Заголовок: Новая версия МиниГуи..
Новая версия МиниГуи - 19.10 (Update 2) Что не все окна при использовании функции HMG_Alert() делаются по центру экрана. У меня стали некоторые окна HMG_Alert() показываться в левом верхнем углу экрана. Почему ? Как сделать что бы окна HMG_Alert() были всегда по центру экрана ? У меня принудительно главное меню скидывается на панель задач, когда нужно. Может быть из-за этого ?
|
|
|
|
| постоянный участник
|
Пост N: 6530
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.11.19 17:45. Заголовок: Всем привет ! А как..
Всем привет ! А как сделать окно HMG_Alert() поверх всех окон ? Что то по старому перестало работать...
|
|
|
|
| постоянный участник
|
Пост N: 2966
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.11.19 20:24. Заголовок: Попробуй _HMG_Inplac..
Попробуй _HMG_InplaceParentHandle := ThisWindow.Handle hmg_Alert(...)
|
|
|
|
| постоянный участник
|
Пост N: 6531
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.11.19 21:42. Заголовок: Что то после переход..
Что то после перехода на последню версию МиниГуи, программа стала падать на HMG_Alert() Вот такая ошибка: Error MGERROR/0 Control: Btn_01 Of Form_CardOpl Not defined. Program terminated. --------------------------------- Stack Trace --------------------------------- Called from MSGMINIGUIERROR(100) in module: h_error.prg Called from SETPROPERTY(3977) in module: h_controlmisc.prg Called from (b)MG_YESNO(149) in module: Source\util_Alert.prg Called from DO_WINDOWEVENTPROCEDURE(82) in module: h_objmisc.prg Called from FILLDLG(355) in module: h_alert.prg Called from HMG_ALERT(166) in module: h_alert.prg Вот мой код: cIcoRes := "Help64" ; nIcoSize := 64 aButton := {"&Продолжить","&Отмена"} " _HMG_ModalDialogReturn := 2 bInit := {|| this.topmost := .t. ,; this.Btn_01.Fontcolor := BLACK ,; this.Btn_02.Fontcolor := BLACK } nK := HMG_Alert( cMsg, aButton, cTitle, NIL, cIcoRes, nIcoSize, aButColor, bInit ) // строка 166 Почему ? Чего перестало хватать ?
|
|
|
Ответов - 194
, стр:
1
2
3
4
5
6
7
8
9
10
All
[только новые]
|
|