On-line: NickSam, гостей 1. Всего: 2 [подробнее..]
АвторСообщение
постоянный участник




Пост 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. )

А по простому нельзя сделать ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 110 , стр: 1 2 3 4 5 6 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 )

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2642
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.07.19 16:26. Заголовок: PS правильно HMG_Get..


PS
правильно HMG_GetFormControls ( cFormName, cUserType ), вместо HMG_GetControls()

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6342
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.07.19 00:09. Заголовок: Всем привет ! Столкн..


Всем привет !
Столкнулся с переполнением в HMG_Alert().
Т.е. если слишком много строк текста, то окно становиться посередине экрана и нет кнопки закрыть.
Задачу приходиться снимать.
Григорий, добавь пожалуйста в эту функцию закрытие этого окна по Alt+F4 !
MsgStop() закрывается по этой клавише.

У себя конечно сделаю свою обработку, но мало ли где ещё такая бяка вылезет.
А как посчитать сколько строк влезет в HMG_Alert() ?
Не знаю как рассчитывается расстояние между строчками текста в Label в МиниГуи.
Остальное знаю.

Спасибо: 0 
ПрофильЦитата Ответить
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 )



Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2656
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.07.19 10:25. Заголовок: gfilatov2002 пишет а..


gfilatov2002 пишет
 цитата:
акая возможность уже есть


В AlertInfo(), AlertYesNo(), ... нет параметра lClosable

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1522
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.07.19 11:29. Заголовок: SergKis пишет: В Al..


SergKis пишет:

 цитата:
В AlertInfo(), AlertYesNo(), ... нет параметра lClosable


Да, верно (этот параметр используется внутри этих функций).

Но Андрей ведь спрашивал о функции HMG_Alert()

Спасибо: 0 
ПрофильЦитата Ответить



Пост 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

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1543
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 31.07.19 17:18. Заголовок: Andrey пишет: SergK..


Andrey пишет:

 цитата:
SergKis пишет:

 цитата:
Активировать окна в ON RELEASE не разрешено, так вроде переводится.


А почему тогда MsgStop работает нормально ?
Как сделать, чтобы hmg_Alert() тоже заработал в этом режиме ?


Уже сделал: все функции из семейства Alert*() будут работать при ON RELEASE

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6376
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.07.19 18:15. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Уже сделал: все функции из семейства Alert*() будут работать при ON RELEASE



Спасибо !
А как это делается ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1544
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 31.07.19 19:28. Заголовок: Andrey пишет: как э..


Andrey пишет:

 цитата:
как это делается ?


Эта возможность будет доступна в следующей сборке (если таковая выйдет в будущем)

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 110 , стр: 1 2 3 4 5 6 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 674
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет