Форум » GUI » Примеры из Минигуи -ошибки, вопросы..... (продолжение) » Ответить

Примеры из Минигуи -ошибки, вопросы..... (продолжение)

Andrey: Всем привет. Взялся смотреть примеры из МиниГуи, так не все работают. Может кто подскажет что там "допилить" нужно ? А заодно может и исправить и добавить новые.... Очень красочный пример: \MiniGUI\SAMPLES\Advanced\AVI_Animation - не работает под Win7 (наверно AVI-шки нет в ресурсах) Предложение Григорию: Можно ли добавить еще один пример с отдельным AVI-файлом в ресурсах проекта и показом такого же бегунка ? Пример: \MiniGUI\SAMPLES\Advanced\DisplayMode - не работает под ХР и далее.... Пример: \MiniGUI\SAMPLES\Advanced\Tsb_filter - вылетает на ХР -------------------------------------------------------------------------------- Harbour MiniGUI Errorlog File Harbour MiniGUI Extended Edition 2.0.1 - 2011.09.21 -------------------------------------------------------------------------------- Date: 11/15/2011 Time: 22:13:24 Error BASE/1124 Argument error: LEFT Called from LEFT(0) Called from SCANSOFT(195) Called from MAIN(84) Пример: \MiniGUI\SAMPLES\BASIC\MsgEdit - не собирается... Z:\MiniGUI\SAMPLES\BASIC\MsgEdit>call ..\..\..\batch\compile.bat demo /L shell32 Harbour 3.1.0dev (Rev. 17042) Copyright (c) 1999-2011, http://harbour-project.org/ Compiling 'demo.prg'... Lines 20133, Functions/Procedures 30 Generating C source output to 'demo.c'... Done. Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland demo.c: Error E2141 demo.prg 993: Declaration syntax error *** 1 errors in Compile *** C compile error.

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

SergKis: Andrey пишет:Использовать у себя это меню в программах будете ? у нас (~20 лет) в clipper такое 1 окно в задачах (только 2 ряда и 3 колонки и цвета от задачи) если руки дойдут, то да, надо сделать

Andrey: nick_mi пишет: А вы это исправление делали DEFINE IMAGE Image_1 PARENT Win_1 ROW 200 COL 140 WIDTH nWidth HEIGHT nHeight PICTURE aPicture [ i ] STRETCH lStretch TRANSPARENT .T. BACKGROUNDCOLOR win_1.backcolor ADJUSTIMAGE lAdjustImage END IMAGE у меня с этой строкой берет фон основного окна Перенес эту тему сюда, т.к. там писать не дело... Вот самодостаточный пример. http://files.mail.ru/C0CE5FDAA4764A2F802FDBF99A5B80CE Вокруг картинки ЧЕРНАЯ рамка. Это раз - недостаток, а во вторых, если PNG картинку выводить на фон заливки с градиентом, то вообще фигня получается... Как в таком случае быть ?

Andrey: Andrey пишет: Вокруг картинки ЧЕРНАЯ рамка. Григорий, если не решаемый этот вопрос - то фиг с ним, напишите что пока так будет ! Я понимаю, что одному ОЧЕНЬ тяжело тянуть такую разработку. Просто ответ - пока так будет, до следующих решений и все....


gfilatov2002: Andrey пишет: Просто ответ - пока так будет, до следующих решений Именно так Andrey пишет: Вокруг картинки ЧЕРНАЯ рамка. Эту проблему при прорисовке PNG создает режим HALFTONE, задаваемый Си-функцией SetStretchBltMode()

Andrey: Спасибо Григорий ! Будем ждать исправлений...

Andrey: Вот еще вопрос возник. Для окна есть соответствия: NOMAXIMIZE NOSIZE Form_Main.Sizable := .F. // NOSIZE Form_Main.MaxButton := .F. // NOMAXIMIZE Не могу найти соответствий: NOMINIMIZE NOCAPTION ?

SergKis: Andrey пишет:Не могу найти соответствий: NOMINIMIZE NOCAPTION ? глянь MiniGUI.chm раздел DEFINE WINDOW в самом конце: ... WINDOW METHODS: · Show · Hide · Center · Maximize · Minimize · Activate · Restore · Release · SetFocus · SaveAs

gfilatov2002: Andrey пишет: Не могу найти соответствий: NOMINIMIZE NOCAPTION ? Form_Main.MinButton := .F. // NOMINIMIZE Form_Main.TitleBar := .F. // NOCAPTION

Andrey: Спасибо ! Пытаюсь скрестить примеры \MiniGUI\SAMPLES\BASIC\SPLASHDEMO_3 и \MiniGUI\SAMPLES\Advanced\GetPassword Окно пароля выходит, но при случайном переключении мышкой уходит под окно задачи. Как сделать чтобы окно пароля ВСЕГДА было поверх всех окон ? Пример тут -> http://files.mail.ru/C541D54D08FD4704B8D0521ABE296705

nick_mi: Оказывается для PING черная окантовка - это не только беда MINIGUI. В последнем IrfanView (версия 4.37) есть возможность поменять любой цвет на любой другой выбранный. Так вот, после замены черного цвета на белый, окантовка остается. Похоже, это где-то на Win API уровне.

Vlad04: Andrey Окно пароля выходит, но при случайном переключении мышкой уходит под окно задачи. Я сделал так В Инициализации Главного окна скрываю его и открываю форму с вводом пароля. Если с паролем все Гуд, показываю главное окна, а иначе Конец работы. Окно главое ты можешь спрятать после прогрессБаров

SergKis: gfilatov2002 пишет:Form_Main.MinButton := .F. // NOMINIMIZE Form_Main.TitleBar := .F. // NOCAPTION а MODAL как можно задать таким же образом ?

SergKis: gfilatov2002 [pre2] This.TopMost := lTopMost // TOPMOST This.SysMenu := lSysMenu // NOSYSMENU This.Sizable := lSizable // NOSIZE This.MaxButton := lMaxButton // NOMAXIMIZE This.MinButton := lMinButton // NOMINIMIZE This.TitleBar := lTitleBar // NOCAPTION это нормально, а This.Hide := .F. // NOSHOW ThisWindow.Hide := .F. // NOSHOW выдает: Error E0022 invalid lvalue '()' DoMethod(_HMG_ThisFormName, 'Hide', .F.) // все нормально где я глючу ? [/pre2]

SergKis: SergKis пишет: This.Hide := .F. // NOSHOW ThisWindow.Hide := .F. // NOSHOW допер IF lHide This.Hide ELSE This.Show ENDIF пора выключаться ...

Andrey: Vlad04 пишет: Я сделал так В Инициализации Главного окна скрываю его и открываю форму с вводом пароля. Если с паролем все Гуд, показываю главное окна, а иначе Конец работы. Окно главое ты можешь спрятать после прогрессБаров Ларчик просто открывается оказывается ! Там указаны только ДВА варианта показа окна. Как всегда выбрал самый красивый, но с приключениями (красоту захотел навести при вводе пароля)... 1) GetPassword( , "My Message", "My Caption",.... 2) GetPassword( 0, "My Message", "My Caption", LoadBitmap("LOGO")...... Нолик убрать и будет ВСЕГДА висеть, пока пароль не вобьешь.... Хоть комментарий бы поставили, а то пока разберешься....

Softlog86: Подскажите , есть-ли команда чтоб ВСЕ контролы определенного окна включала/выключала ENABLED = .T. или .F. ?

Andrey: Softlog86 пишет: есть-ли команда чтоб ВСЕ контролы определенного окна включала/выключала Скорей всего нет такой команды. Нужно в цикле обойти все контролы на окне. А как, я тоже не знаю.

gfilatov2002: Andrey пишет: Нужно в цикле обойти все контролы на окне. Именно так [pre]/******************************************************************************/ Function _GetArrayOfAllControlsForForm ( cFormName ) /******************************************************************************/ Local nFormHandle , i , nControlCount , aRetVal := {} , x nFormHandle := GetFormHandle ( cFormName ) nControlCount := Len ( _HMG_aControlHandles ) For i := 1 To nControlCount If _HMG_aControlParentHandles == nFormHandle If ValType( _HMG_aControlHandles ) == 'N' IF ! Empty( _HMG_aControlNames ) If Ascan( aRetVal, _HMG_aControlNames ) == 0 Aadd( aRetVal, _HMG_aControlNames ) EndIf ENDIF ElseIf ValType( _HMG_aControlHandles ) == 'A' For x := 1 To Len ( _HMG_aControlHandles ) IF !Empty( _HMG_aControlNames ) If Ascan( aRetVal, _HMG_aControlNames ) == 0 Aadd( aRetVal, _HMG_aControlNames ) EndIf ENDIF Next x EndIf EndIf Next i Return Asort( aRetVal )[/pre] Полный текст примера см. в папке samples\Basic\Form_Controls

Andrey: 1) Как сделать так, чтобы из главного меню задачи (окно MAIN) другие окна при сворачивании - скидывались на панель задач ОТДЕЛЬНЫМ ОКНОМ со своим заголовком ? 2) А как узнать, есть ли такая функция в ехе-файле в программе на МиниГуи ? Почему то код в МиниГуи не прокатывает: IF .NOT.( cRun == 'UI' .OR. cRun == 'UE' ) MsgStop("Нет такой функции "+cRun+"() в ЕХЕ-нике !") ENDIF

gfilatov2002: Andrey пишет: скидывались на панель задач ОТДЕЛЬНЫМ ОКНОМ Для этого надо определять дочерние окна без слова CHILD (как определяется стандарное окно при работе в IDE). Andrey пишет: как узнать, есть ли такая функция в ехе-файле Надо использовать Харбор-функцию hb_IsFunction(<имя функции>) Пример использования из кода Харбора: [pre2]FUNCTION tip_SSL() RETURN hb_IsFunction( "__HBEXTERN__HBSSL__" )[/pre2]



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