Форум » GUI » hwgui » Ответить

hwgui

Pasha: Что-то я совсем запутался Сделал svn commit по адресу: https://hwgui.svn.sourceforge.net/svnroot/hwgui Последний коммит был 2012-09-25 19:30 UTC-0300 Luis Fernando Basso <lfbasso at via-rs.net> На сайте проекта и в майл-листе вижу, что коммиты были и после этой даты. Но что-то не найду новый адрес А ветвь, куда я сбросил изменения, заморожена и не развивается ?

Ответов - 300, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All

Vlad04: Да, виноват. Как ни странно, оказывается я его смотрел, раньше и подзабыл( большие перерывы в обновлении системы hwg). Т.е. файл, как я понял, не имеет прямого отношения к GUI интерфейсу. А в чем он создается ? Ручками в редакторе?

AlexMyr: Vlad04 пишет: Т.е. файл, как я понял, не имеет прямого отношения к GUI интерфейсу. А в чем он создается ? Ручками в редакторе? напоминаю, на стр. 7 alkresin пишет: AlexMyr пишет: цитата: А конфигурационные файлы Вы просто в редакторе набираете или есть утилита для этого? В редакторе.

Vlad04: Пример demomaximize.prg из папки samples пытаюсь повторить в Дизайнере. Только вместо меню кнопочки сделал ( но это , думаЮ не принципиально) . Кнопка MaximiZe На событие onClick написал действие oForm:Maximize(). Получаю ошибку Error BASE/1004 Message not found: HFORMTMPL:MAXIMIZE Called from ->__ERRRT_SBASE(0) Called from ../../../tobject.prg->HFORMTMPL:ERROR(0) Called from ../../../tobject.prg->(b)HBOBJECT(0) Called from ../../../tobject.prg->HFORMTMPL:MSGNOTFOUND(0) Called from ../../../tobject.prg->HFORMTMPL:MAXIMIZE(0) Called from source\winapi\hfrmtmpl.prg->(b)COMPILEMETHOD(495) Called from source\winapi\hwindow.prg->ONCOMMAND(516) Called from source\winapi\hwindow.prg->(b)HMAINWINDOW(231) Called from source\winapi\hwindow.prg->HMAINWINDOW:ONEVENT(317) Called from ->HWG_ACTIVATEMAINWINDOW(0) Called from source\winapi\hwindow.prg->HMAINWINDOW:ACTIVATE(306) Called from source\winapi\hfrmtmpl.prg->HFORMTMPL:SHOW(392) Called from source\winapi\hfrmtmpl.prg->(b)HFORMTMPL(135) Called from source\winapi\hfrmtmpl.prg->HFORMTMPL:SHOWMAIN(0) Called from MaxMin.prg->MAIN(6) HWGUI 2.18 Build 1 Date:07/24/13 Time:10:25:31 Все режимы работы с окном не работают, кроме последнего - ОКНО закрывается.


AlexMyr: Vlad04 пишет: Пример demomaximize.prg из папки samples пытаюсь повторить в Дизайнере. пробуйте [pre2] <?xml version="1.0" encoding="UTF-8"?> <part class="form"> <style> <property name="Geometry">{417,204,421,140}</property> <property name="Name">[odlg]</property> <property name="Caption">[Form1]</property> <property name="FormType">[dlgModal]</property> <property name="lClipper">.F.</property> <property name="lExitOnEnter">.F.</property> <property name="lDebug">.F.</property> <property name="FromStyle">[Popup]</property> <property name="Icon">[]</property> <property name="Modal">.F.</property> <property name="SystemMenu">.T.</property> <property name="Minimizebox">.F.</property> <property name="Maximizebox">.F.</property> <property name="AbsAlignent">.T.</property> <property name="SizeBox">.T.</property> <property name="Visible">.T.</property> <property name="3DLook">.F.</property> <property name="Clipsiblings">.F.</property> <property name="Clipchildren">.F.</property> </style> <part class="ownerbutton"> <style> <property name="Geometry">{70,35,109,28}</property> <property name="Name">[oOwnerbutton1]</property> <property name="Caption">[maximize]</property> </style> <method name="onClick"> <![CDATA[odlg:maximize() ]]> </method> </part> <part class="ownerbutton"> <style> <property name="Geometry">{180,35,109,28}</property> <property name="Name">[oOwnerbutton2]</property> <property name="Caption">[exit]</property> </style> <method name="onClick"> <![CDATA[odlg:close() ]]> </method> </part> </part> [/pre2]

alkresin: Vlad04 пишет: На событие onClick написал действие oForm:Maximize() oForm - это не окно, а объект, содержащий описание созданной в дизайнере формы, у него нет метода Maximize() и т.п. Как написал выше Алексей, вам надо использовать oDlg, именно эта переменная указывает на созданное в форме окно.

Vlad04: Все хорошо! Спасибо

Vlad04: Пытаюсь построить brows . За основу беру пример - browse_4.prg. В дизайнере рисую место-положение brows, присваиваю имя. А дальше , я хотел бы , как в примере browse_4, описать brows в программнике. Пишу #include "hwgui.ch" #include "dbstruct.ch" #include "windows.ch" #include "guilib.ch" #include "Directry.ch" #xcommand TRY => BEGIN SEQUENCE WITH s_bBreak #xcommand CATCH [<!oErr!>] => RECOVER [USING <oErr>] <-oErr-> #xcommand FINALLY => ALWAYS static s_bBreak := { |oErr| break( oErr ) } Function Main Local nAdd_Code:=0 lOCAL cCmb1,nCmb2 PUBLIC sPAR1:="" ,mMKB:={},mTarif_Type:={0,1},mLeveL:={1,2},mADD:={},mSpec:={} Private oDlg,oBrw1 Private sPar1:=DISKNAME() +':\'+CURDIR()+'\',oExcel REQUEST DBFCDX , DBFFPT REQUEST HB_CODEPAGE_RU1251 SET DELETED ON SET DATE BRITISH SET CENTURY ON SET EPOCH TO year(Date()) -90 //1925 Select 0 Use (sPar1+"Data\PRICE_S.DBF") Via "DBFCDX" alias Price_s *--------------- oBrw1:alias := "Price_s" oBrw1:aColumns := {} ADD COLUMN FieldBlock(Price_s->(Fieldname(1)) ) TO oBrw1 ; HEADER '№1'; LENGTH 6 ; EDITABLE ; JUSTIFY HEAD DT_CENTER ; JUSTIFY LINE DT_RIGHT .... oForm := HFormTmpl():Read(sPar1+ "Xml\Tarif.xml" ) oForm:ShowMain() Return Nil Не работает, получаю сообщение об ошибке : - Alias, aColumns и т.д. Еще пробовал несколько подобных вариантов

AlexMyr: Vlad04 пишет: Пытаюсь построить brows бросьте сюда файлы, чтоб посмотреть что вы делаете.

Vlad04: Brows

AlexMyr: Proc Brws_Init() заменить на Proc Brws_Init(obrw1) в xml для browse init: Parameters oCtrl Brws_Init(oCtrl) //oBrw1:Refresh() пробуйте.

Vlad04: Brows отображается.!!! oCtrl Это что за параметр, вроде нигде не объявлял. И еще как получить значение элемента комбобокса?

AlexMyr: Vlad04 пишет: Это что за параметр, вроде нигде не объявлял. В окне редактора есть пункт Parameters, при выборе которого вставляется строка "Parameters oCtrl" там где можно, и дальше можна манипулировать oCtrl вместо имени объекта. Vlad04 пишет: И еще как получить значение элемента комбобокса? В object inspector установите параметер для varName, вот его и смотрите.

Vlad04: В object inspector установите параметер для varName Установлено , переменная -cCmb1. Элементы комбокса я заполняю присваивая значения массива - cCmb1:aItems:=mMkb. Далее.. Пользователь выбрал элемент комбокса. Как получить: - позицию , которую выбрали - значение выбранной позиции Вроде GetValue() что-то должна возвращать. Но получаю ошибку

AlexMyr: Vlad04 пишет: Пользователь выбрал элемент комбокса. Как получить: - позицию , которую выбрали - значение выбранной позиции посмотрите пример hwgui\utils\designer\samples\testget1.xml

Vlad04: Вообщем, модефицировал пример - samples , под мои условия , все работает. Значение Varname - это индекс в массиве, oCombo:aItems[cm] - это значение выбранной позиции. Но повторить на моем примере не удается. Может это то же связано с формами - у меня главная , здесь подчиненная? Samples измененный

AlexMyr: Vlad04 пишет: Но повторить на моем примере не удается. Если вы про Tarif, то у вас там есть объект oCombobox1 и переменная cCmb1 и этой cCmb1 вы присваиваете массив cCmb1:aItems:=mMkb, а свойство aItems есть у oCombobox1 и поэтому лучше в методе onInit для комбобокса написать след. Parameters oCtrl cCtrl:aItems:=mMkb Еще раз внимательно посмотрите на Name и VarName в samples и у себя в примере.

Vlad04: Да , программка Tarif Привел наименование переменных , как в samples .: т.е. Name - oCombo, VarName - cm. Прогграмма получилась почти рабочей при следующих назначениях Комбобокс получает значения следующим образом Parameters cm cm:aItems:=mMkb Выбраное значение (по событию чек Фильтр) я получаю , как Local sStr:='' sStr:="cCmb1 MKB - "+ cm hwg_Msginfo('sStr = '+sStr) Что совсем не так как в основном Примере- samples. Осталось проверить в моей программе открытие подчиненной формы. Tarif_130729

AlexMyr: Vlad04 пишет: Tarif_130729 в oCombo cсвойство lText поставить false, затем в Proc StazFiltr() надо не cm а str(cm), т.к. cm в данном случае числовой тип, и return NIL заменить на return .T.

Vlad04: Заключение. Поэксперементировал еще раз с samples. Разместил на главной форме Комбобокс. Если данные загружены а Дизайнере , то разницы нет, где находится Комбобокс - на главной форме или подчиненной. Если данные подгружаются из массива, то почему то нужно загрузку делать через VarName для главной формы с передачай параметров ,а для подчинееной формы через имя объекта Name ,без передачи параметров.Вряд ли это так задумывалось(т.е. разное поведение в зависомости от вида формы).

Vlad04: samples Здесь несколько переименованных файлов example.xml, example2.xml,example3.xml с вариантами анализа



полная версия страницы