Автор | Сообщение |
|
| постоянный участник
|
Пост 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: 471
Зарегистрирован: 13.10.05
|
|
Отправлено: 07.01.15 21:04. Заголовок: Мечты, мечты ..... Я..
Мечты, мечты ..... Я хотел -бы чтобы работа в Ide МиниГуи была похожа на работу в дизайнере Делфи или V.Basic, чтобы поддерживались основные необходимые компоненты и их свойства( позиционирование, контейнера и т.д.). а программирование поддерживало все приемы ОПП, без псевдо GetProperty, SetProperty..
|
|
|
|
| moderator
|
Пост N: 705
Зарегистрирован: 11.02.10
|
|
Отправлено: 07.01.15 21:21. Заголовок: Vlad04 пишет: чтобы..
Vlad04 пишет: цитата: | чтобы работа в Ide МиниГуи была похожа на работу в дизайнере Делфи или V.Basic |
| Ide МиниГуи имеет открытые исходники - Вы можете добавлять недостающий функционал самостоятельно Vlad04 пишет: цитата: | программирование поддерживало все приемы ОПП |
| Существует незавершенный открытый проект от автора Minigui, датированный 2010 годом, под названием HMG OBJECTS, который поддерживает полноценное ОПП Пример использования: /* HMG Nice OOP! Demo(Full OOP syntax) (c) 2010 Roberto Lopez <mail.box.hmg@gmail.com> - HMG OBJECTS is designed to give to the programmers a similar experience as one using Clipper's predefined classes - Windows and its controls are created at window activation unless 'Create()' method is invoked. - Create() method is available for windows and controls. - Control's 'Parent' property is optional. If not specified, the last window defined is its default value. - xBase and alternate syntax can be used. - Control's 'Name' property (optional): At control creation, an instance variable is dynamically added to its parent window object. The name of this instance variable, is the control's name and its content is the control object. So, you could access a particular control (ie) in the following way: oWindow:Frame_1:Caption := 'New Caption' MsgInfo ( oWindow:Frame_1:Caption ) Look at \samples\button for working samples. */ #include "..\..\include\objects.ch" Set Procedure To ..\..\source\objects Function Main Local oWindow , oButton1 With Object oWindow := Window():New() :Row := 10 :Col := 10 :Width := 400 :Height := 400 :Title := 'Nice OOP Demo!!!' :Type := WND_MAIN :OnInit := { || oWindow:Center() } With Object oButton1 := Button():New() :Row := 40 :Col := 40 :Caption := 'OOP Button!!!' :OnClick := { || Button1Click() } End With End With oWindow:Activate() Return Procedure Button1Click() Local oStandard With Object oStandard := Window():New() :Row := 10 :Col := 10 :Width := 600 :Height := 300 :Title := 'Nice OOP Standard Window!!!' :Type := WND_STANDARD :OnInit := { || ( oStandard:Center() ) } End With oStandard:Activate() Return
|
|
|
|
| постоянный участник
|
Пост N: 452
Зарегистрирован: 17.02.12
|
|
Отправлено: 07.01.15 22:04. Заголовок: Andrey пишет: Как с..
|
|
|
|
| постоянный участник
|
Пост N: 453
Зарегистрирован: 17.02.12
|
|
Отправлено: 07.01.15 22:08. Заголовок: Vlad04 пишет:програм..
Vlad04 пишет: цитата: | программирование поддерживало все приемы ОПП |
| сам напиши классы, обвесив функции окон, контролов MiniGui - не так и сложно
|
|
|
|
| |
Пост N: 4396
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.01.15 18:04. Заголовок: Andrey пишет: 2.2. ..
Andrey пишет: цитата: | 2.2. Как из shell32.dll (она содержит все размеры иконок) можно выбрать и показать иконку отличную от размера 32х32 ? |
| Вероятно надо глянуть пример MiniGUI\SAMPLES\BASIC\ExtractIcon\demo2.prg + MiniGUI\SAMPLES\Advanced\IconView\IcoView.prg а в нем параметры передаваемые функции EXTRACTICONEX (EXTRACTICON) PS Если есть непонятки спросить у gfilatov
|
|
|
|
| |
Пост N: 4397
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.01.15 18:22. Заголовок: Dima пишет: EXTRACT..
Dima пишет: возможно вместо нее нужно использовать SHGetFileInfo , так как у EXTRACTICONEX только 2 варианта или маленькая иконка или большая. PS Просто погуглил
|
|
|
|
| постоянный участник
|
Пост N: 3888
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.01.15 20:42. Заголовок: Dima пишет: возможн..
Dima пишет: цитата: | возможно вместо нее нужно использовать SHGetFileInfo |
| Вот я и об этом и пишу, что нет функций в МиниГуи для работы с иконками... Если была, то я бы закатал все ресурсы в отдельную DLL (уж больно большим мой ехе-ник стал) и выводил на кнопку или форму нужные мне/ВСЕМ иконки (заданного размера). Вот единственный пример с функцией SHGetFileInfo который помог мне сделать Григорий. А SergKis переделал под универсальную форму просмотра. Прикольный получился пример. Жалко, что нет его в библиотеке... Но эта функция используется для других целей. Вот пример IconAssociatedFile_4.7z - https://cloud.mail.ru/public/56155cb9fec5/MiniGui-Sample
|
|
|
|
| |
Пост N: 10
Зарегистрирован: 14.10.08
|
|
Отправлено: 03.02.15 14:59. Заголовок: хотелось бы увеличить функциональность SplitBox
В принципе можно строить отличный интерфейс, но возможнось таскать панели и невозможность указать минимальный (максимальный) размер удручает.
|
|
|
|
| постоянный участник
|
Пост N: 4458
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.08.15 10:33. Заголовок: Как в Минигуи сделат..
Как в Минигуи сделать МойПроект.hbp для сборки нескольких .prg в МояБиблиотека.lib, чтобы потом прилинковывать к своему проекту ?
|
|
|
|
| постоянный участник
|
Пост N: 796
Зарегистрирован: 17.02.12
|
|
Отправлено: 20.08.15 11:44. Заголовок: Andrey пишет:Как в М..
Andrey пишет: цитата: | Как в Минигуи сделать МойПроект.hbp для сборки нескольких .prg в МояБиблиотека.lib, чтобы потом прилинковывать к своему проекту ? |
| Ты уверен, что при каждой компиляции, надо собирать lib ? Проект еще не отлажен, lib для работы не годится. Когда довел до ума, тогда и собирай ((пополняй lib), т.е. запустил bat\cmd и собрал new версию lib : SET HB_INS_BCC=<путь к BCC> SET HBMK2_OBJ=<путь к объектникам проекта, создаваемых hbmk2> SET MYLIB_OUT=<путь и имя своей библиотеки> if not exist %MYLIB_OUT% goto Crt :Upd for %%i in ( %HBMK2_OBJ%\*.obj ) Do %HB_INS_BCC%\bin\tlib.exe %MYLIB_OUT -+%%i > nul goto e :Crt for %%i in ( %HBMK2_OBJ%\*.obj ) Do %HB_INS_BCC%\bin\tlib.exe %MYLIB_OUT %%i > nul :e
|
|
|
|
| постоянный участник
|
Пост N: 4459
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.08.15 12:19. Заголовок: SergKis пишет: Ты у..
SergKis пишет: цитата: | Ты уверен, что при каждой компиляции, надо собирать lib ? Проект еще не отлажен, lib для работы не годится. |
| Да я понимаю, что не нужно при каждой компиляции собирать свою lib. Просто хочу собрать уже свои отлаженные модули в lib. Вот и вопрос возник: Как в Минигуи сделать МойПроект.hbp для сборки нескольких .prg в МояБиблиотека.lib ?
|
|
|
|
|
| moderator
|
Пост N: 817
Зарегистрирован: 11.02.10
|
|
Отправлено: 20.08.15 13:30. Заголовок: Andrey пишет: Как в..
Andrey пишет: цитата: | Как в Минигуи сделать МойПроект.hbp для сборки нескольких .prg в МояБиблиотека.lib ? |
| Посмотри мой проект, которым я сейчас собираю библиотеку: Скрытый текст
# # hmg.hbp # -hblib -inc -o../lib/minigui -I../include -w3 -es2 -ko -q0 -hbx=../include/hmg.hbx -cflag=-DWIN32_LEAN_AND_MEAN c_bitmap.c c_browse.c c_btntextbox.c c_button.c c_checkbox.c c_chklabel.c c_chklistbox.c c_combo.c c_controlmisc.c c_crypt.c c_cursor.c c_datepicker.c c_dialog.c c_dialogs.c c_editbox.c c_folder.c c_font.c c_frame.c c_getbox.c c_graph.c c_grid.c c_help.c c_hotkey.c c_hotkeybox.c c_image.c c_imagelist.c c_ini.c c_ipaddress.c c_label.c c_listbox.c c_media.c c_menu.c c_monthcal.c c_msgbox.c c_pager.c c_progressbar.c c_radio.c c_registry.c c_resource.c c_richeditbox.c c_scrsaver.c c_slider.c c_spinner.c c_status.c c_tab.c c_textbox.c c_timer.c c_toolbar.c c_tree.c c_winapimisc.c c_windows.c c_windowsMDI.c c_winprop.c c_winxp.c ErrorSys.prg h_activex.prg h_browse.prg h_btntextbox.prg h_button.prg h_checkbox.prg h_chklabel.prg h_chklistbox.prg h_combo.prg h_controlmisc.prg h_crypt.prg h_datepicker.prg h_dialog.prg h_dialogs.prg h_draw.prg h_edit.prg h_edit_ex.prg h_editbox.prg h_error.prg h_events.prg h_folder.prg h_font.prg h_frame.prg h_getbox.prg h_gradient.prg h_graph.prg h_grid.prg h_help.prg h_hotkey.prg h_hotkeybox.prg h_hyperlink.prg h_image.prg h_imagelist.prg h_ini.prg h_init.prg h_ipaddress.prg h_label.prg h_listbox.prg h_media.prg h_menu.prg h_monthcal.prg h_mru.prg h_msgbox.prg h_pager.prg h_progressbar.prg h_radio.prg h_registry.prg h_report.prg h_richeditbox.prg h_scrsaver.prg h_slider.prg h_socket.prg h_spinner.prg h_status.prg h_tab.prg h_textbox.prg h_timer.prg h_toolbar.prg h_tree.prg h_wbrush.prg h_winapimisc.prg h_windows.prg h_windowsMDI.prg h_winprop.prg
|
|
|
|
|
| постоянный участник
|
Пост N: 4460
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.08.15 13:37. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Посмотри мой проект, которым я сейчас собираю библиотеку: |
| Спасибо БОЛЬШОЕ ! И поясни пожалуйста вот про эти 2 флага: -hbx=../include/hmg.hbx -cflag=-DWIN32_LEAN_AND_MEAN
|
|
|
|
| постоянный участник
|
Пост N: 4461
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.08.15 14:00. Заголовок: Поиск в гугле по: hb..
Поиск в гугле по: hmg.hbx выдаёт: HBX- бризантные высоковзрывчатые вещества. HE- фугасный снаряд. ... головной частью. HMG- тяжелый(станковый крупнокалиберный) пулемет.
|
|
|
|
| moderator
|
Пост N: 818
Зарегистрирован: 11.02.10
|
|
Отправлено: 20.08.15 14:17. Заголовок: Andrey пишет: поясн..
Andrey пишет: цитата: | поясни пожалуйста вот про эти 2 флага: -hbx=../include/hmg.hbx -cflag=-DWIN32_LEAN_AND_MEAN |
| Ключ -hbx указывает утилите hbmk2 путь к файлу .HBX, который нужен для декларации всех функций библиотеки как EXTERNAL. Примечание. Используется в заголовке minigui\include\mgextern.ch Ключ -cflag указывает Си-компилятору дополнительный пользовательский переключатель. В данном случае это позволяет генерировать .OBJ модули меньшего размера. Если в твоей библиотеке НЕТ сишных модулей, то он НЕ нужен
|
|
|
|
| постоянный участник
|
Пост N: 4463
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.08.15 14:24. Заголовок: Спасибо ! :sm36: ..
Спасибо !
|
|
|
|
| постоянный участник
|
Пост N: 498
Зарегистрирован: 13.10.05
|
|
Отправлено: 03.09.15 12:06. Заголовок: gfilatov2002 цитат..
gfilatov2002 цитата: | цитата: программирование поддерживало все приемы ОПП Существует незавершенный открытый проект от автора Minigui, датированный 2010 годом, под названием HMG OBJECTS, который поддерживает полноценное ОПП |
| Это , наверно было очень давно. В версиях hmg.3.4.1 и предыдущих нет следов HMG OBJECTS. Или я плохо искал ?
|
|
|
|
| постоянный участник
|
Пост N: 499
Зарегистрирован: 13.10.05
|
|
Отправлено: 03.09.15 12:10. Заголовок: SergKis цитата: пр..
SergKis цитата: | цитата: программирование поддерживало все приемы ОПП сам напиши классы, обвесив функции окон, контролов MiniGui - не так и сложно |
| А примерчик небольшой можно? Окно с Бровсом и кнопочками
|
|
|
|
| |
Пост N: 5268
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.09.15 12:11. Заголовок: Vlad04 Да вот оно в..
|
|
|
|
| постоянный участник
|
Пост N: 814
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.09.15 13:01. Заголовок: Vlad04 лови test ..
|
|
|
Ответов - 202
, стр:
1
2
3
4
5
6
7
8
9
10
11
All
[только новые]
|
|