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




Пост 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 
ПрофильЦитата Ответить
Ответов - 90 , стр: 1 2 3 4 5 All [только новые]


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


Пост N: 500
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 04.09.15 07:16. Заголовок: Да....Совсем не прос..


Да....Совсем не просто!

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



Пост 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, отображаемые по одному в зависимости от режима.

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



Пост N: 6
Зарегистрирован: 10.01.15
ссылка на сообщение  Отправлено: 27.09.15 10:23. Заголовок: есть ли onKeyDown в ..


есть ли onKeyDown в TSBrowse?


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


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


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



Пост N: 7
Зарегистрирован: 10.01.15
ссылка на сообщение  Отправлено: 27.09.15 13:08. Заголовок: Я ищу event onKeyDow..


Я ищу event onKeyDown в TSBrowse нет Method

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


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



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



Пост N: 8
Зарегистрирован: 10.01.15
ссылка на сообщение  Отправлено: 27.09.15 15:55. Заголовок: благодарю вас..


благодарю вас

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



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


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


Пост N: 669
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 27.09.15 18:04. Заголовок: digikv пишет: Почем..


digikv пишет:

 цитата:
Почему nRecNo всегда 0


в TS нет Value == Recno()
Попробуйте так
nRecNo := (oBrw:cAlias)->(RecNo())

PS dbGoTo(nRecNo) - не приведет к установке бровса на нужную запись, для этого там есть метод :GotoRecNo()

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



Пост N: 10
Зарегистрирован: 10.01.15
ссылка на сообщение  Отправлено: 27.09.15 18:19. Заголовок: Я читал в MiniGui.ch..


Я читал в MiniGui.chm
PROPERTIES:
· Value Set / Gets browse value - selected record number

Теперь все работает правильно.
Еще раз спасибо за вашу помощь.


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


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

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




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

Народ, кто что думает по этому вопросу ? Кому не хватает простого вывода иконки на ЦВЕТНУЮ форму ?

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



Пост N: 177
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 13.11.15 15:17. Заголовок: SergKis пишет: лови..


SergKis пишет:

 цитата:
лови test


Тоже хотел посмотреть, но ссылка битая. Файлообменник уже удалил...

Andrey пишет:

 цитата:
Кому не хватает простого вывода иконки на ЦВЕТНУЮ форму ?


Я бы от такого тоже не отказался, поддерживаю.

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



Пост N: 837
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.11.15 16:24. Заголовок: krutoff пишет: Тоже ..


krutoff пишет:
 цитата:
Тоже хотел посмотреть


тут click here

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

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




Пост N: 4573
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.11.15 17:12. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Прямо сейчас прорабатываю новую команду с таким синтаксисом


Ура !

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




Пост 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" и с ним ?

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


Пост N: 633
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 07.12.16 08:58. Заголовок: Похоже MiniGui дост..


Похоже MiniGui достиг своего Эльбруса (вершины).
Идет неспешное причесывание небольшой лохматости.

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




Пост N: 1052
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 07.12.16 12:34. Заголовок: Vlad04 пишет: MiniG..


Vlad04 пишет:

 цитата:
MiniGui достиг своего Эльбруса


Это невозможно, поскольку WinAPI продолжает развиваться (особенно, с выходом Win10)
Например, в библиотеке напрочь отсутствует поддержка toast-сообщений, основанных на вызове WinRT методов

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




Пост 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) Ну наверное в хелпер нужно дать короткое описание примеров, кто зачем и почему.


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

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