Автор | Сообщение |
|
| постоянный участник
|
Пост 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. Как вывести на форму ( не на кнопку) иконку заданного размера ? Вот пока часть чего хочется... Может на Рождество желания сбудутся ?
|
|
|
Ответов - 202
, стр:
1
2
3
4
5
6
7
8
9
10
11
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 500
Зарегистрирован: 13.10.05
|
|
Отправлено: 04.09.15 07:16. Заголовок: Да....Совсем не прос..
Да....Совсем не просто!
|
|
|
|
| постоянный участник
|
Пост N: 819
Зарегистрирован: 17.02.12
|
|
Отправлено: 04.09.15 07:43. Заголовок: Vlad04 пишет:Совсем ..
Vlad04 пишет: В чем затруднения ? Знать классы в рамках описания от А. Кресина надо, понимания MiniGui тоже, это минимум от которого плясать. В примере еще много мусора (пробы разные), а так до PVN*.PRG - это базовые (абстрактные) заготовки классов, а PVN*.PRG - уже наследование и сама задача, там 2-окна (mdi main и mdi child) и 3-и browse в child, отображаемые по одному в зависимости от режима.
|
|
|
|
| |
Пост N: 6
Зарегистрирован: 10.01.15
|
|
Отправлено: 27.09.15 10:23. Заголовок: есть ли onKeyDown в ..
есть ли onKeyDown в TSBrowse?
|
|
|
|
| |
Пост N: 667
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.09.15 12:56. Заголовок: digikv пишет: есть ..
digikv пишет: цитата: | есть ли onKeyDown в TSBrowse |
| в исходнике ... METHOD KeyChar( nKey, nFlags ) METHOD KeyDown( nKey, nFlags ) METHOD KeyUp( nKey, nFlags )
|
|
|
|
| |
Пост N: 7
Зарегистрирован: 10.01.15
|
|
Отправлено: 27.09.15 13:08. Заголовок: Я ищу event onKeyDow..
Я ищу event onKeyDown в TSBrowse нет Method
|
|
|
|
| |
Пост N: 668
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.09.15 13:51. Заголовок: digikv пишет: Я ищу..
digikv пишет: цитата: | Я ищу event onKeyDown в TSBrowse |
| В TSBrowse есть method KeyDown , в этом методе есть обработка ::bUserKeys. event onKeyDown можно отловить через ::bUserKeys. Использование ::bUserKeys есть в примерах по TSBrowse Примерно так : где xRet - это или код клавиши которую обработает метод ::KeyDown() или логическое значение ( см обработку в исходнике ::KeyDown() ) oBrw:bUserKeys := { || onKeyDown(nKey, nFlag, oBrw) } FUNCTION onKeyDown( nKey, nFlag, oBrw ) local xRet DO CASE CASE nKey == ... END RETURN xRet
|
|
|
|
| |
Пост N: 8
Зарегистрирован: 10.01.15
|
|
Отправлено: 27.09.15 15:55. Заголовок: благодарю вас..
благодарю вас
|
|
|
|
| |
Пост N: 9
Зарегистрирован: 10.01.15
|
|
Отправлено: 27.09.15 17:20. Заголовок: Почему nRecNo всегда..
Почему nRecNo всегда 0 в LOCAL nRecNo := GetProperty( "oDlg", 'oBrw', 'VALUE' ) #include "minigui.ch" #include "tsbrowse.ch" STATIC oDlg, oFind, nOrd, nRet FUNCTION dbChoice( cAlias, bBlock, cTitle, bWork, cOrder ) Local oFont nOrd := (cAlias)->( ordSetFocus( cOrder ) ) DEFINE WINDOW oDlg AT 0,0 WIDTH 410 HEIGHT 510 TITLE cTitle ICON "KASA" CHILD DEFINE LABEL oFind ROW 0 COL 0 WIDTH 410 HEIGHT 24 FONTNAME 'Times New Roman' FONTSIZE 14 VALUE "" END LABEL @ 25,0 TBROWSE oBrw ALIAS cAlias; OF oDlg ; WIDTH 380; HEIGHT 400 ; HEADERS "" ; WIDTHS 400; FIELDS (cAlias)->Naziv; FONT 'Times New Roman' SIZE 12 oBrw:bUserKeys := { |nKey, nFlag| onKeyDown(nKey, nFlag, cAlias ) } END WINDOW oDlg.Center ACTIVATE WINDOW oDlg RETURN nRet FUNCTION onKeyDown( nKey, nFlag, cAlias ) LOCAL cFind := GetProperty( "oDlg", 'oFind', 'VALUE' ) LOCAL nRecNo := GetProperty( "oDlg", 'oBrw', 'VALUE' ) IF nKey==VK_RETURN (cAlias)->(dbGoTo(nRecNo)) nRet := (cAlias)->Sifra msginfo('nRet='+STR(nRet)+' RecNo()='+STR(nRecNo) ) (cAlias)->(ordScope( 0, )) (cAlias)->(ordScope( 1, )) (cAlias)->( ordSetFocus( nOrd ) ) RELEASE WINDOW oDlg ELSEIF nKey==VK_ESCAPE nRet:=0 (cAlias)->(ordScope( 0, )) (cAlias)->(ordScope( 1, )) (cAlias)->( ordSetFocus( nOrd ) ) RELEASE WINDOW oDlg ELSEIF nKey == VK_UP ELSEIF nKey == VK_LEFT ELSEIF nKey == VK_RIGHT ELSEIF nKey == VK_DOWN ELSEIF nKey == VK_NEXT ELSEIF nKey == VK_PRIOR ELSEIF nKey == VK_END ELSEIF nKey == VK_HOME ELSEIF nKey == VK_INSERT ELSEIF nKey == VK_BACK SetProperty( "oDlg", 'oFind', 'VALUE', LEFT( cFind, LEN( cFind ) - 1) ) oDlg.oFind.REFRESH() cFind := GetProperty( "oDlg", 'oFind', 'VALUE' ) (cAlias)->(ordScope( 0, cFind )) (cAlias)->(ordScope( 1, cFind )) oDlg.oBrw.REFRESH() ELSEIF nKey >= 32 .AND. nKey <= 255 SetProperty( "oDlg", 'oFind', 'VALUE', cFind+UPPER(CHR( nKey )) ) oDlg.oFind.REFRESH() cFind := GetProperty( "oDlg", 'oFind', 'VALUE' ) (cAlias)->(ordScope( 0, cFind )) (cAlias)->(ordScope( 1, cFind )) oDlg.oBrw.REFRESH() ENDIF RETURN .T.
|
|
|
|
| |
Пост N: 669
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.09.15 18:04. Заголовок: digikv пишет: Почем..
digikv пишет: в TS нет Value == Recno() Попробуйте так nRecNo := (oBrw:cAlias)->(RecNo()) PS dbGoTo(nRecNo) - не приведет к установке бровса на нужную запись, для этого там есть метод :GotoRecNo()
|
|
|
|
| |
Пост N: 10
Зарегистрирован: 10.01.15
|
|
Отправлено: 27.09.15 18:19. Заголовок: Я читал в MiniGui.ch..
Я читал в MiniGui.chm PROPERTIES: · Value Set / Gets browse value - selected record number Теперь все работает правильно. Еще раз спасибо за вашу помощь.
|
|
|
|
| |
Пост N: 670
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.09.15 18:28. Заголовок: digikv пишет: Я чит..
digikv пишет: цитата: | Я читал в MiniGui.chm PROPERTIES: · Value Set / Gets browse value - selected record number |
| Это правильно для BROWSE , а не для TSBROWSE
|
|
|
|
|
| постоянный участник
|
Пост N: 4572
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.11.15 20:52. Заголовок: Григорий ! Возвраща..
Григорий ! Возвращаюсь к вопросу по иконкам. Будут ли какие то улучшения в библиотеке для иконок ? Можно примерно так: Для любой иконки содержащиеся в своих ресурсах @ 10,10 ICON Icon_1 PICTURE "Calc64x1" WIDTH 64 HEIGHT 64 RESTYPE INTERNAL Для любой иконки содержащиеся в чужих ресурсах cFile := System.SystemFolder + "\shell32.dll" @ 10,10 ICON Icon_1 PICTURE "Icon_164" WIDTH 128 HEIGHT 128 RESTYPE EXTERNAL FILE cFile Можно и короче ( WIDTH 128 HEIGHT 128) -> ( SIZE 128) Народ, кто что думает по этому вопросу ? Кому не хватает простого вывода иконки на ЦВЕТНУЮ форму ?
|
|
|
|
| |
Пост N: 177
Зарегистрирован: 17.10.05
|
|
Отправлено: 13.11.15 15:17. Заголовок: SergKis пишет: лови..
SergKis пишет: Тоже хотел посмотреть, но ссылка битая. Файлообменник уже удалил... Andrey пишет: цитата: | Кому не хватает простого вывода иконки на ЦВЕТНУЮ форму ? |
| Я бы от такого тоже не отказался, поддерживаю.
|
|
|
|
| постоянный участник
|
Пост N: 837
Зарегистрирован: 17.02.12
|
|
Отправлено: 13.11.15 16:24. Заголовок: krutoff пишет: Тоже ..
|
|
|
|
| moderator
|
Пост N: 852
Зарегистрирован: 11.02.10
|
|
Отправлено: 15.11.15 15:52. Заголовок: Andrey пишет: Будут..
Andrey пишет: цитата: | Будут ли какие то улучшения в библиотеке для иконок ? |
| Мечты сбываются Прямо сейчас прорабатываю новую команду с таким синтаксисом цитата: | #xcommand DRAW ICON IN WINDOW <windowname> AT <row>,<col> ; PICTURE <filename> ; [ WIDTH <w> ] ; [ HEIGHT <h> ] ; [ COLOR <rgb> ] ; [ <transparent: TRANSPARENT> ] ; => ; drawicon(<"windowname">,<filename>,<row>,<col>,[<w>],[<h>],[<rgb>],<.transparent.>) |
| где filename - это имя файла на диске или внутреннего ресурса программы Примечание. Вскрытие показало, что WinAPI-функция ExtractIcon() возвращает иконки только стандартного размера 32х32
|
|
|
|
| постоянный участник
|
Пост N: 4573
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.11.15 17:12. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Прямо сейчас прорабатываю новую команду с таким синтаксисом |
| Ура !
|
|
|
|
| постоянный участник
|
Пост N: 4588
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.11.15 00:42. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | DRAW ICON IN WINDOW <windowname> AT <row>,<col> ; PICTURE <filename> ; [ WIDTH <w> ] ; [ HEIGHT <h> ] ; [ COLOR <rgb> ] ; [ <transparent: TRANSPARENT> ] ; |
| Что то не пашет, если на форме лежит ещё цветной LABEL ! Пример отправил на почту... И ещё одно - синтаксис урезать можно ? Сделать без "IN WINDOW Forma_1" и с ним ?
|
|
|
|
| постоянный участник
|
Пост N: 633
Зарегистрирован: 13.10.05
|
|
Отправлено: 07.12.16 08:58. Заголовок: Похоже MiniGui дост..
Похоже MiniGui достиг своего Эльбруса (вершины). Идет неспешное причесывание небольшой лохматости.
|
|
|
|
| moderator
|
Пост N: 1052
Зарегистрирован: 11.02.10
|
|
Отправлено: 07.12.16 12:34. Заголовок: Vlad04 пишет: MiniG..
Vlad04 пишет: цитата: | MiniGui достиг своего Эльбруса |
| Это невозможно, поскольку WinAPI продолжает развиваться (особенно, с выходом Win10) Например, в библиотеке напрочь отсутствует поддержка toast-сообщений, основанных на вызове WinRT методов
|
|
|
|
| постоянный участник
|
Пост N: 5234
Зарегистрирован: 12.09.06
|
|
Отправлено: 07.12.16 14:17. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | оддержка toast-сообщений, основанных на вызове WinRT методов |
| Это для чего ? Нам инструмент нужен для создания полноценных приложений для бухов и т.д. Чего не хватает: 1) Редактора форм (то что есть уж очень негибкие), посмотрет тот же хХарбор - там редактор форм получше. 2) Работа с Png - чтобы картинки на форме не выглядели обгрызано !!! И можно тогда отказаться от иконок (.ico) 3) Работа с Png в Tsbrowse. Там вообще с png-непонятно... 4) Раздела (доки или примеров) работы с DLL. 4) Ну наверное в хелпер нужно дать короткое описание примеров, кто зачем и почему.
|
|
|
Ответов - 202
, стр:
1
2
3
4
5
6
7
8
9
10
11
All
[только новые]
|
|