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




Пост N: 3882
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.01.15 18:29. Заголовок: Чего мне не хватает в МиниГуи....


Всех с праздниками !!!
Предлагаю тем кто использует МиниГуи высказать свои предложения по улучшению данного продукта, да и в какую сторону двигаться дальше....

Вот то что мне не хватает (я имею в виду примеров):
1. Очень мало примеров для работы с DLL (хотя это и не относиться к МиниГуи, но как делать не знаю).
1.1 Как собирать свои ресурсы к программе в отдельную dll-ку. Как подключать её при запуске, показ картинок из dll (я может и догадываюсь, но пока не могу сделать этого) ?
1.2. Как сделать отдельный свой ехе-ник, а Харбор и Минигуи затолкать в отдельную dll-ку, ну и LetoDB в отдельную dll.
Как подключать при запуске эти отдельные dll и пользоваться функциями из этих dll ?
1.3. Как использовать чужие dll (допустим на Дельфи) в своих программах на МиниГуи (хотя FastReport'ом пользуюсь, но он специально сделан под Харбор) ?
Разные примеры из МиниГуи на эту тему смотрел, кое что понятно, кое что нет.

2. Полноценная работа с иконками
2.1. Сейчас приходиться каждый размер иконки (16х16, 32х32 и т.д.) хранить отдельно в ресурсном файле и выводить на кнопки по отдельности.
Нужна функция вывода из ОДНОГО файла иконки (содержащий все размеры от 16х16 до 128х128) выбранного размера.
2.2. Как из shell32.dll (она содержит все размеры иконок) можно выбрать и показать иконку отличную от размера 32х32 ?
2.3. Как вывести на форму (не на кнопку) иконку заданного размера ?

Вот пока часть чего хочется... Может на Рождество желания сбудутся ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 201 , стр: 1 2 3 4 5 6 7 8 9 10 11 All [только новые]


moderator




Пост N: 2069
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 17.11.22 16:14. Заголовок: Andrey пишет: А на ..


Andrey пишет:

 цитата:
А на МиниГуи можно сделать так же ?


Да, это возможно с использованием моей библиотеки shell32, которая есть в дистрибутиве Минигуи вместе с исходниками.
См. пример в папке \samples\Basic\Shell32
Сначала запусти тест 1, а затем тест 2, и увидишь на мгновение этот системный диалог.

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




Пост N: 4181
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.11.22 17:19. Заголовок: Andrey пишет В 1С ис..


Andrey пишет
 цитата:
В 1С используют стандартный/системный бегунок копирования файлов


Для пользователя это "распальцовка" программиста, т.к. нужная инф. только в первых 2-х строках и возможно, в бегунке, если есть %, то и струя не обязательна. Время и скорость это не постоянная величина и может прыгать в процессе как в +, так и в - (особенно во внешней сети и плавающего объема инф.). Для пользователя важнее понимать (если он, как привязанный, вылупив глазки, следит за окном) сколько док-тов скопировано (приход\реализация\перемещения\... например в индикации), справочники (названия и кол-во строк\объектов в них в индикации). Соответственно протокол (возможно dbf), что бы с этого протокола что то вытащить, подав как список для выбора (не как из файла с именем blabla.dbf, а как логической структуры: документ, карточка, справочник, ..., могут располагаться в разных, связанных dbf). Копии можно делать в темную (без индикации), например, перед получением отчетной формы, которую клиент делает с подходящей периодичностью.

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




Пост N: 7262
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.11.22 19:09. Заголовок: SergKis пишет: Для ..


SergKis пишет:

 цитата:
Для пользователя это "распальцовка" программиста, т.к. нужная инф. только в первых 2-х строках


Согласен на 100%
Но пускай будет....

gfilatov2002 пишет:

 цитата:

Да, это возможно с использованием моей библиотеки shell32


СПАСИБО БОЛЬШОЕ !

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




Пост N: 7276
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.01.23 22:27. Заголовок: Опять возвращаюсь к ..


Опять возвращаюсь к большим курсорам.
Можно ли сделать курсор мышки 128х128 (типа движения по кругу, загрузка) ?
Это нужно для ожидания, т.е. пока прога "прочухается", чтобы юзер видел что программа работает.
Видел примеры SAMPLES\BASIC\CURSOR_2 и SAMPLES\BASIC\WindowBackground_2 - но они маленькие...
Помогите пожалуйста !

Или нельзя в своей программе увеличить курсор мышки ?
Пробовал через Настройку - размер увеличивается на все программы.


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




Пост N: 7320
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.03.23 16:03. Заголовок: А как ресурс с кнопк..


А как ресурс (иконка - ассоциация файла) можно записать в поле базы в формате png или bmp ?

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




Пост N: 7356
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.04.23 19:00. Заголовок: А иконку в контекстн..


А иконку в контекстное меню можно сразу выводить ?
gfilatov2002 пишет:

 цитата:

Уже можно...


Посмотрел. Классно !
Только иконка на белом фоне. Можно его (фон иконки) как исправить, чтобы сливался с фоном меню ?


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




Пост N: 2125
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 05.04.23 21:41. Заголовок: Andrey пишет: ак ис..


Andrey пишет:

 цитата:
ак исправить, чтобы сливался с фоном меню ?


Сделал, чтобы убрать белый фон, как было максимально возможно.


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




Пост N: 7357
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.04.23 23:42. Заголовок: Достаточно ! Спасибо..


Достаточно ! Спасибо !
А почему у формы программы МиниГуи углы закруглены ? Это как можно сделать ?
Хочу такие же скруглённые формы у себя в программе....

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




Пост N: 7358
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.04.23 08:04. Заголовок: MENUITEM 'Menu-1..


MENUITEM 'Menu-1' FONT hFont IMAGE "bDel.bmp" ACTION....

MENUITEM "Exit" FONT hFont ICON "iExit32.ico" ACTION...

Имею уже готовые хендлы иконок для ТСБ и отображаю их.
  aContMenu := {}                              // хендл картинки             
AADD( aContMenu, { 1 , "Menu-XXX", GETICONFROMRES("iRun32not") } )
AADD( aContMenu, { 2 , "Menu-XXX", GETICONFROMRES("iRun32intr") } )

Нужно делать контекстное меню по колонке ТСБ с этими хендлами
Можно это сделать, или нужны только имена для контекстного меню ?

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




Пост N: 7407
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.06.23 22:11. Заголовок: Можно ли как то сдел..


Можно ли как то сделать кнопку - мигающей, или gif-ку туда за бабахать ?
Юзера просто тупо не замечают красную кнопку появившуюся на форме.
Блин и как с ними бороться...

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




Пост N: 4294
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.06.23 22:39. Заголовок: Andrey пишет Блин и ..


Andrey пишет
 цитата:
Блин и как с ними бороться...


Если смена BackColor не устраивает, то делаешь мамнадцать кнопок в одних координатах (разные цвета, image ...), только одна видимая, остальные hide и крути их в цикле по очереди hide\show, можешь и Label с кликом так же делать

 цитата:
Юзера просто тупо не замечают красную кнопку появившуюся на форме


А ты оставь только красную кнопку , остальные контролы убери в hide
может заметят !?
PS
Windows update, если не делать, отказываться, через какое то время выключает мышку, клавиатуру ... и пока не начнешь делать перезагрузку (сразу цепляется update) ничего делать не получается.

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




Пост N: 7408
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.06.23 20:16. Заголовок: SergKis пишет: А ты..


SergKis пишет:

 цитата:
А ты оставь только красную кнопку , остальные контролы убери в hide


Да это лучшее решение, не подумал об этом. Спасибо !

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




Пост N: 7409
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.06.23 20:22. Заголовок: Возвращаюсь к функци..


Возвращаюсь к функциям AlertInfo() AlertStop() и т.д.
Хотелось бы ещё добавить возможность к этим функциям, навести окончательную красоту для них.
Хочется гибкости настроек для них и кнопки сделать с градиентом.
Вот примерно так:


Вот примерно код который бы хотелось добавить в СТАНДАРТНУЮ поставку МиниГуи.
          ON KEY F2  ACTION {|| // тест кнопки  
LOCAL aBtnClr := { {189, 30, 73} } // светло-красный
LOCAL aFntClr := MAROON
LOCAL aBckClr := { 255, 178, 178 }
LOCAL cMsg := HB_ValToExp(aTest)+REPL('#;',7)
LOCAL cIco := "iStop64"
LOCAL cTitle := "Ошибка"
LOCAL bInit := Nil, lNoSound := Nil
LOCAL aColors := _SetMsgAlertColors( aBackColor )
LOCAL nOldLine := HMG_Alert_MaxLines(5)
SET MSGALERT FONTCOLOR TO aFntClr // не ставятся числовые цвета - CLR_HRED
SET MSGALERT BACKCOLOR TO aBckClr
AlertStop( cMsg, cTitle, cIco, 64, aBtnClr, .T., bInit, lNoSound ) // это текущий синтаксис
SET MSGALERT BACKCOLOR TO aColors
HMG_Alert_MaxLines(nOldLine)
// ------ добавочные переменные --------
//LOCAL aBtnText := {" &Продолжить "} //, aBtnText := {" &Да "," &Нет "}
//LOCAL aBtnFntClr := BLUE
//SET MSGALERT BTNFONTCOLOR TO BLUE
//SET MSGALERT BTNFONTBOLD TO .T.
//aGrFill := { { 0.5, CLR_HRED , CLR_WHITE }, { 0.5, CLR_WHITE , CLR_HRED } }
//aGrOver := { { 0.5, CLR_RED , CLR_HRED }, { 0.5, CLR_HRED , CLR_RED } }
//SET MSGALERT BTNGradientFill TO aGrFill
//SET MSGALERT BTNGradientOver TO aGrOver
// или новый синтаксис
// aBtnGrClr := { aGrFill, aGrOver }
// lBtnBold := .T.
// AlertStop( cMsg, cTitle, cIco, 64, aBtnGrClr, lTopMost, bInit, lNoSound, aBtnText, aBtnFntClr, lBtnBold )
Return Nil
}
// AlertStop ( Message, Title, Icon, nSize, aColors, lTopMost, bInit, lNoSound , aBtnFntClr )

Григорий, можно это сделать ?
Очень хочется... Синтаксис можно поменять, это просто моё видение синтаксиса.

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




Пост N: 4296
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 11.06.23 20:34. Заголовок: Andrey У тебя есть ..


Andrey
У тебя есть bInit во всех ф-ях
AlertStop ( Message, Title, Icon, nSize, aColors, lTopMost, bInit, lNoSound , aBtnFntClr )
вызывается практически последней командой перед END WINDOW, выглядит
 
IF HB_ISBLOCK( bBlock )
Do_WindowEventProcedure( bBlock, This.Index, 'WINDOW_INIT' )
ENDIF

т.е. блок кода выполняется со средой окна, возьми и замени не устраивающий контрол на свой, которой нравится, можно в тех же координатах, а можно все контролы переставить, поменяв координаты и добавить новые
PS. Блок кода, как в событиях :Event(..., {|| ... }) без параметра. Можешь сделать в блоке, т.е. bInit := {|| my01() }
STAT FUNCT my01()
Local ow := This.Object, aControl
Local cWnd := This.Name, aType
Local hWnd := This.Handle
...
aControl := HMG_GetFormControls (cWnd)
aType := ow:GetListType()
...
Draw_BtnEx( y, x, oBtn, nWBtn, nHBtn, nGBtn, lRow )
...
This.Width := ...
This.Height := ...
RETURN Nil

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




Пост N: 7410
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.06.23 20:58. Заголовок: SergKis пишет: У те..


SergKis пишет:

 цитата:
У тебя есть bInit во всех ф-ях


Хочется ГОТОВУЮ и практичную функцию в составе МиниГуи (из коробки), а не заниматься дописыванием уже имеющих функций.
И самое ГЛАВНОЕ, я отказался ВЕЗДЕ от правки bInit в своих функциях.
Большая прога тупо вылетает на них !!!
Я тебе давал логи вылета и так не смог победить эти вылеты.
Убрал код в bInit и вылеты прекратились.
Так что этим bInit - нельзя пользоваться в БОЛЬШИХ программах, в маленьких работают.

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




Пост N: 4297
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 11.06.23 21:38. Заголовок: Andrey пишет Я тебе ..


Andrey пишет
 цитата:
Я тебе давал логи вылета и так не смог победить эти вылеты.


Так стиль написания такой, что проще заменить, причем весь код, я тебе про это говорил и писал.

 цитата:
Так что этим bInit - нельзя пользоваться в БОЛЬШИХ программах, в маленьких работают


Вся hmg на блоках кода, события окон, контролов и ... А bInit простой код в теле окна и заменить BUTTON, на BUTTONEX в тех же или немного др. координатах + изменить размер окна снизу - это оч. простые действия, ты их постоянно делаешь добавляя ф-ии (список целый) после DEFINE TBROWSE ... до END TBROWSE и все это находится в блоке кода события окна\кнопки ...

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




Пост N: 4298
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.06.23 09:04. Заголовок: Andrey пишет Хочется..


Andrey пишет
 цитата:
Хочется ГОТОВУЮ и практичную функцию


Можно попробовать вариант задания aBtnColors, для BUTTONEXT, каждый элемент массива задавать объектом THmgData.
Тогда код может быть такой
 
...
aBtnColors[ n ] := oHmgData()
aBtnColors[ n ]:cIcon := "..."
aBtnColors[ n ]:aGrFill := { { 0.5, CLR_HRED , CLR_WHITE }, { 0.5, CLR_WHITE , CLR_HRED } }
aBtnColors[ n ]:aGrOver := { { 0.5, CLR_RED , CLR_HRED }, { 0.5, CLR_HRED , CLR_RED } }
или
aBtnColors[ n ]:cIconName := "..."
aBtnColors[ n ]:aGradientFill := { { 0.5, CLR_HRED , CLR_WHITE }, { 0.5, CLR_WHITE , CLR_HRED } }
aBtnColors[ n ]:aGradientOver := { { 0.5, CLR_RED , CLR_HRED }, { 0.5, CLR_HRED , CLR_RED } }
...
*-----------------------------------------------------------------------------*
STATIC FUNCTION FillDlg( cMsg, aOptions, nLineas, cIcoFile, nIcoSize, aBtnColors, bBlock, lClosable, cFont, nMaxLen )
*-----------------------------------------------------------------------------*
...
FOR n := 1 TO nLenaOp

cBtnName := "Btn_" + StrZero( n, 2 )

AAdd( aBut, cBtnName )

IF lExt

IF Valtype( aBtnColors[ n ] ) == "O" // контейнер THmgData
cIcon := aBtnColors[ n ]:cIcon
aBthColor := aBtnColors[ n ]:aGrOver
aGrFill := aBtnColors[ n ]:aGrFill
Default cIcon := aBtnColors[ n ]:cIconName
Default aBthColor := aBtnColors[ n ]:aGradientOver
Default aGrFill := aBtnColors[ n ]:aGradientFill
bGotFocus := aBtnColors[ n ]:bMouseHover
bLostFocus := aBtnColors[ n ]:bMouseLeave
Default bGotFocus := aBtnColors[ n ]:bGotFocus
Default bLostFocus := aBtnColors[ n ]:bLostFocus
ELSE
cIcon := NIL
aBthColor := aBtnColors[ n ]
aGrFill := NIL
bGotFocus := NIL
bLostFocus := NIL
ENDIF

@ 0, 0 BUTTONEX ( cBtnName ) OF ( cForm ) CAPTION aOptions[ n ] ICON cIcon ;
FONTCOLOR aFontColor BACKCOLOR aBtnColor GRADIENTFILL aGrFill NOXPSTYLE HANDCURSOR ;
FONT cFont WIDTH nMaxBoton HEIGHT nVMARGIN_BUTTON + nChrHeight + nVMARGIN_BUTTON ;
ACTION ( _HMG_ModalDialogReturn := This.Cargo, _SetGetGlobal( "_HMG_PressButton", .T. ), ThisWindow.Release() )

IF Valtype( bGotFocus ) == "B" ; SetProperty( cForm, cBtnName, "GOTFOCUS", bGotFocus )
ENDIF

IF Valtype( bLostFocus ) == "B" ; SetProperty( cForm, cBtnName, "LOSTFOCUS", bLostFocus )
ENDIF

ELSE
...
Задаем значения:
aBtnText := {" &Продолжить "}
aBtnText := {" &Да "," &Нет "}
aBtnClr := { oHmgData(), oHmgData() }
aBtnClr[1]:cIcon := "..."
aBtnClr[1]:aGrFill := { { 0.5, CLR_HRED , CLR_WHITE }, { 0.5, CLR_WHITE , CLR_HRED } }
aBtnClr[1]:aGrOver := { { 0.5, CLR_RED , CLR_HRED }, { 0.5, CLR_HRED , CLR_RED } }
aBtnClr[2]:cIcon := "..."
aBtnClr[2]:aGrFill := { { 0.5, CLR_HRED , CLR_WHITE }, { 0.5, CLR_WHITE , CLR_HRED } }
aBtnClr[2]:aGrOver := { { 0.5, CLR_RED , CLR_HRED }, { 0.5, CLR_HRED , CLR_RED } }
...
AlertStop( cMsg, cTitle, cIco, 64, aBtnClr, .T., bInit, lNoSound )


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




Пост N: 4299
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.06.23 21:30. Заголовок: Andrey пишет Хочется..


Andrey пишет
 цитата:
Хочется ГОТОВУЮ и практичную функцию в составе МиниГуи (из коробки)


"Их есть у меня" (c)
Ставим градиент на кнопку[и]. Пример тут https://TransFiles.ru/5n3ae

Запуск:
demo.exe 1
demo.exe 2
demo.exe 3
demo.exe

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




Пост N: 7412
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.06.23 23:11. Заголовок: Спасибо БОЛЬШОЕ ! :..


Спасибо БОЛЬШОЕ !

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




Пост N: 7645
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.12.23 14:43. Заголовок: Сейчас на mail.ru сд..


Сейчас на mail.ru сделано красиво - снежинки падают.
Можно так же сделать на МиниГуи ?

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

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