On-line: гостей 2. Всего: 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 
ПрофильЦитата Ответить
Ответов - 67 , стр: 1 2 3 4 All [только новые]


постоянный участник


Пост N: 1477
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 11.10.18 17:35. Заголовок: Напиши свою функцию ..


Напиши свою функцию да и всё.

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




Пост N: 6070
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.10.18 18:04. Заголовок: PSP пишет: Напиши с..


PSP пишет:

 цитата:
Напиши свою функцию да и всё.


Да я уже пробовал, не особо красиво получается...
Тем более я думаю это не только у меня такие придирчивые пользователи.
Расширение функционала МиниГуи тоже большой плюс.

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




Пост N: 3807
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 12.10.18 08:00. Заголовок: Так это обертка для ..


Так это обертка для функции winapi
В winapi нет такого функционала. Чтобы его получить, надо делать другую реализацию.
Думается, что многие пользователи захотят использовать именно стандартные средства winapi, так что лучше это сделать отдельными функциями.
Ну а что там такого военного ? Модальное окно с текстом и кнопками, больше ничего.

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

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




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


gfilatov2002 пишет:

 цитата:
Пример использования см. в папке \samples\Basic\WALERT_2



А можно в эту функцию добавить ещё один параметр, отвечающий за иконку из ресурсов ?
Было бы здорово !
И размеры фонта как можно регулировать для этой функции ?
Если нет возможности, то можно ещё добавить параметр фонта ?

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




Пост N: 1377
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 23.10.18 14:49. Заголовок: Andrey пишет: разме..


Andrey пишет:

 цитата:
размеры фонта как можно регулировать для этой функции ?


После изменений, предложенных Сергеем, это будет возможно, если определить свой шрифт DlgFont до вызова функции HMG_Alert()
Такое изменение шрифта будет доступно в следующей сборке библиотеки

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



Пост 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, так зашито в окно

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




Пост N: 1379
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 23.10.18 16:52. Заголовок: SergKis пишет: FUNC..


SergKis пишет:

 цитата:
FUNCTION HMG_Alert( cMsg, aOptions, cTitle, nType, cIcoFile )


Добавил новый параметр в эту функцию.
Спасибо за помощь

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




Пост N: 6076
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.10.18 20:14. Заголовок: SergKis пишет: Икон..


SergKis пишет:

 цитата:
Иконки должны быть 32x32, так зашито в окно


Ну что за невезуха, хотелось бы размер иконок 48 или 64х64 хотя бы.

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



Пост N: 2100
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.10.18 20:48. Заголовок: Andrey пишет Ну что ..


Andrey пишет
 цитата:
Ну что за невезуха


Так текст ф-ии есть, поправь, отладку сделай на разные размеры.
Кто мешает ?

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



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




Пост N: 6077
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.10.18 22:22. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Добавил в функцию еще один параметр nIcoSize.


Ура !
Спасибо большое !

Т.е. если мне всегда нужен постоянный размер фонта в HMG_Alert(), я в MAIN определяю
DEFINE FONT DlgFont FONTNAME "Tahoma" SIZE 18
и больше нигде не забочусь об этом ? Правильно ?

DlgFont - у меня больше ни где не присутствует.

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




Пост N: 1381
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 24.10.18 15:07. Заголовок: Andrey пишет: я в M..


Andrey пишет:

 цитата:
я в MAIN определяю
DEFINE FONT DlgFont FONTNAME "Tahoma" SIZE 18
и больше нигде не забочусь об этом ?


Да, теперь так можно сделать...

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




Пост N: 6078
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.10.18 19:27. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Да, теперь так можно сделать...



Спасибо !
Жду с нетерпением новую версию !

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

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





Пост N: 63
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 25.10.18 07:36. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
работает нормально





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




Пост N: 1383
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 25.10.18 09:37. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
работает нормально


gfilatov2002 пишет:

 цитата:
Осталось потерпеть всего одну неделю




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




Пост 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 := ????? ) ;


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




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

Почему до этого работало, а сейчас нет ?
Я знаю как исключить эту ошибку, но просто понять почему это происходит.

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


Пост N: 1392
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 31.10.18 18:21. Заголовок: Andrey пишет: Почем..


Andrey пишет:

 цитата:
Почему до этого работало, а сейчас нет ?


Видимо новая версия более строга к ошибкам разработчика , Григорий ее постоянно оптимизирует , заставляя внимательнее писать код.
Что само по себе радует.
Andrey пишет:

 цитата:
Я знаю как исключить эту ошибку, но просто понять почему это происходит.


Тебе помогли твой же косяк найти Не ясно как он бы аукнулся в дальнейшем.

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

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