Форум » 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

Andrey: gfilatov2002 пишет: Попробуй так То что надо ! Спасибо ! А как насчет этого вопроса: Есть ли функции определения цвета по определённым координатам ?

gfilatov2002: Andrey пишет: Есть ли функции определения цвета по определённым координатам ? Да, есть. Это WinAPI функция GetPixel(). Рабочий пример ее использования см. в папке samples\Advanced\FillTriangle [pre2] Function ShowRGB() LOCAL hdc, x, y, aColor := {0,0,0} hdc := GetDC( _HMG_MainHandle ) x := _HMG_MouseCol y := _HMG_MouseRow IF GetPixelColor( hdc, x, y, @aColor ) Form_1.Title := "RGB (" ; + " r:" + str(aColor[1], 3 ) ; + " g:" + str(aColor[2], 3 ) ; + " b:" + str(aColor[3], 3 ) ; + " )" ELSE Form_1.Title := "RGB ( CLR_INVALID )" ENDIF ReleaseDC( _HMG_MainHandle, hdc ) Return Nil [/pre2]

Andrey: gfilatov2002 пишет: Рабочий пример ее использования см. в папке samples\Advanced\FillTriangle Спасибо БОЛЬШОЕ ! То что надо !!! Единственно что, если определение цвета нужно в дочернем окне, то наверно нужно сделать параметр для изменения _HMG_MainHandle ? Как написать вместо _HMG_MainHandle - хендл текущего окна ?


SergKis: Andrey пишет:Как написать вместо _HMG_MainHandle - хендл текущего окна ? по ситуации: Form_1.Handle ThisWindow.Handle GetFormHandle (cFom)

Andrey: Спасибо !!! Подскажите еще пожалуйста, как передать кодовый блок в объект кнопку ? Вот имею такой кодовый блок: aObjButton[2,11] := { || MyZip(), Form_Config.Release() } Передаю в функцию прорисовки кнопок: ////////////////////////////////////////////////////////////////////// Function METRO_BUTTON( aDim ) LOCAL bAction := aDim[11] cForm := _HMG_ThisFormName DEFINE BUTTONEX &cObject PARENT &cForm ..... ACTION ??? bAction // как здесь написать ?

SergKis: Andrey пишет:как передать кодовый блок в объект кнопку ? если aDim[11] := 'MyZip(), Form_Config.Release()', то ACTION &( aDim[11] ) в твоем случае можно DEFINE BUTTONEX &cObject PARENT &cForm ... END BUTTON _HMG_aControlProcedures [ GetControlIndex(cObject, cForm) ] := bAction

SergKis: вдогонку SetProperty(cForm, cObject, bAction) или Form_1.Button_1.Action := bAction

gfilatov2002: Andrey пишет: Function METRO_BUTTON( aDim ) LOCAL bAction := aDim[11] cForm := _HMG_ThisFormName DEFINE BUTTONEX &cObject PARENT &cForm ..... ACTION ??? bAction // как здесь написать ? Function METRO_BUTTON( aDim ) LOCAL bAction := aDim[11] cForm := _HMG_ThisFormName DEFINE BUTTONEX &cObject PARENT &cForm ..... ACTION Eval( bAction ) ... END BUTTONEX

SergKis: gfilatov2002 пишет: ACTION Eval( bAction ) оно так конечно, но блок кода на блок кода ...

Andrey: SergKis пишет: оно так конечно, но блок кода на блок кода ... Вот и я тоже об этом подумал... Работает, а вдруг не так нужно было делать...

Andrey: gfilatov2002 пишет: По Вашей ссылке на MSDN лежит функция с хорошим названием, но предназначенная для другого случая. По секрету: ждите следующей сборки. В ней будет пример использования требуемой функции А где искать в новой сборке эту функцию ?

gfilatov2002: Andrey пишет: где искать в новой сборке эту функцию ? В новом примере External Application Control из папки samples\Advanced\ExternalApp_2 есть функция GetFullFileNameByHandle() Вызывать так: GetFullFileNameByHandle( hWin , @cFullFileName )

Dima: gfilatov2002 а где то можно увидеть какие новые примеры добавились по сравнению с предыдущей сборкой ?

santy: ChangelogHMG2_37.doc - скачай с сайта Григория.

gfilatov2002: Dima пишет: какие новые примеры добавились См. последние изменения в файле changelog.txt, который находится в папке minigui\Doc

Dima: упс а слона то я и не заметил

Andrey: gfilatov2002 пишет: GetFullFileNameByHandle( hWin , @cFullFileName ) Спасибо, то что нужно !!! Но дальше облом... Есть ли пример в котором показано: как вместо названия bmp-ки подставить хендл bmp для меню ? Вот например: GetFullFileNameByHandle (hIDWin, @cFullFileName) hIcon := ExtractIcon( cFullFileName, 0 ) hBmp := BmpFromIcon( hIcon ) // a return handle bmp DEFINE CONTEXT MENU OF Form_1 MENUITEM cWinName ...... IMAGE "INFO" MENUITEM cFullFileName ......... IMAGE hBmp Да и для кнопок (BUTTONEX) тоже непонятно как делать ? hIcon := ExtractIcon( System.SystemFolder + "\shell32.dll", 232 ) @ 120, 460 BUTTONEX Button_Refresh ; CAPTION 'Refresh' ; ICON hIcon ??? ;

gfilatov2002: Andrey пишет: для кнопок (BUTTONEX) тоже непонятно как делать ? Для кнопок можно использовать следующую функцию: [pre2] *-----------------------------------------------------------------------------* Procedure SetBtnIcon (cFormName, cBtnName, hIcon) *-----------------------------------------------------------------------------* Local hWnd, k k := GetControlIndex (cBtnName, cFormName) IF k > 0 IF _HMG_aControlBrushHandle [k] <> 0 DeleteObject (_HMG_aControlBrushHandle [k]) ENDIF _HMG_aControlBrushHandle [k] := hIcon hWnd := GetControlHandle (cBtnName, cFormName) #define STM_SETIMAGE 0x0172 #define IMAGE_ICON 1 SendMessage (hWnd, STM_SETIMAGE, IMAGE_ICON, hIcon) #undef IMAGE_ICON #undef STM_SETIMAGE ENDIF Return [/pre2]

Andrey: gfilatov2002 пишет: Для кнопок можно использовать следующую функцию: Спасибо БОЛЬШОЕ !!! А как иконки/bmp -ки добавлять в меню ?

gfilatov2002: Andrey пишет: как иконки/bmp -ки добавлять в меню ? Попробуй использовать для bmp в меню функцию ниже [pre2] *--------------------------------------------------------* Function _SetMenuItemImage( ItemName , FormName , hBitmap ) *--------------------------------------------------------* Local i Local x := GetControlIndex ( ItemName , FormName ) Local h := _HMG_aControlPageMap [ x ] If _HMG_aControlType [ x ] == "MENU" i := _HMG_aControlIds [ x ] ElseIf _HMG_aControlType [ x ] == "POPUP" i := _HMG_aControlSpacing [ x ] EndIf Return SetChevronImage ( h, i , hBitmap ) // SetChevronImage(hMenu, id_Command, image) [/pre2]



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