Автор | Сообщение |
Andrey
|
| постоянный участник
|
Пост N: 1929
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.11.11 21:36. Заголовок: Примеры из Минигуи -ошибки, вопросы..... (продолжение)
Всем привет. Взялся смотреть примеры из МиниГуи, так не все работают. Может кто подскажет что там "допилить" нужно ? А заодно может и исправить и добавить новые.... Очень красочный пример: \MiniGUI\SAMPLES\Advanced\AVI_Animation - не работает под Win7 (наверно AVI-шки нет в ресурсах) Предложение Григорию: Можно ли добавить еще один пример с отдельным AVI-файлом в ресурсах проекта и показом такого же бегунка ? Пример: \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
|
| постоянный участник
|
Пост N: 3491
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.07.14 15:52. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: То что надо ! Спасибо ! А как насчет этого вопроса: Есть ли функции определения цвета по определённым координатам ?
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 610
Зарегистрирован: 11.02.10
|
|
Отправлено: 08.07.14 17:24. Заголовок: Andrey пишет: Есть ..
Andrey пишет: цитата: | Есть ли функции определения цвета по определённым координатам ? |
| Да, есть. Это WinAPI функция GetPixel(). Рабочий пример ее использования см. в папке samples\Advanced\FillTriangle 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
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3492
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.07.14 18:17. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Рабочий пример ее использования см. в папке samples\Advanced\FillTriangle |
| Спасибо БОЛЬШОЕ ! То что надо !!! Единственно что, если определение цвета нужно в дочернем окне, то наверно нужно сделать параметр для изменения _HMG_MainHandle ? Как написать вместо _HMG_MainHandle - хендл текущего окна ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 368
Зарегистрирован: 17.02.12
|
|
Отправлено: 08.07.14 19:11. Заголовок: Andrey пишет:Как нап..
Andrey пишет: цитата: | Как написать вместо _HMG_MainHandle - хендл текущего окна ? |
| по ситуации: Form_1.Handle ThisWindow.Handle GetFormHandle (cFom)
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3493
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.07.14 19:41. Заголовок: Спасибо !!! :sm36: ..
Спасибо !!! Подскажите еще пожалуйста, как передать кодовый блок в объект кнопку ? Вот имею такой кодовый блок: 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
|
| постоянный участник
|
Пост N: 369
Зарегистрирован: 17.02.12
|
|
Отправлено: 08.07.14 21:38. Заголовок: Andrey пишет:как пер..
Andrey пишет: цитата: | как передать кодовый блок в объект кнопку ? |
| если aDim[11] := 'MyZip(), Form_Config.Release()', то ACTION &( aDim[11] ) в твоем случае можно DEFINE BUTTONEX &cObject PARENT &cForm ... END BUTTON _HMG_aControlProcedures [ GetControlIndex(cObject, cForm) ] := bAction
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 370
Зарегистрирован: 17.02.12
|
|
Отправлено: 08.07.14 21:42. Заголовок: вдогонку SetProperty..
вдогонку SetProperty(cForm, cObject, bAction) или Form_1.Button_1.Action := bAction
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 611
Зарегистрирован: 11.02.10
|
|
Отправлено: 08.07.14 21:55. Заголовок: Andrey пишет: Funct..
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
|
| постоянный участник
|
Пост N: 371
Зарегистрирован: 17.02.12
|
|
Отправлено: 08.07.14 22:13. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: оно так конечно, но блок кода на блок кода ...
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3495
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.07.14 22:19. Заголовок: SergKis пишет: оно ..
SergKis пишет: цитата: | оно так конечно, но блок кода на блок кода ... |
| Вот и я тоже об этом подумал... Работает, а вдруг не так нужно было делать...
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3498
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.07.14 11:11. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | По Вашей ссылке на MSDN лежит функция с хорошим названием, но предназначенная для другого случая. По секрету: ждите следующей сборки. В ней будет пример использования требуемой функции |
| А где искать в новой сборке эту функцию ?
|
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 614
Зарегистрирован: 11.02.10
|
|
Отправлено: 10.07.14 11:32. Заголовок: Andrey пишет: где и..
Andrey пишет: цитата: | где искать в новой сборке эту функцию ? |
| В новом примере External Application Control из папки samples\Advanced\ExternalApp_2 есть функция GetFullFileNameByHandle() Вызывать так: GetFullFileNameByHandle( hWin , @cFullFileName )
|
|
|
Dima
|
| |
Пост N: 4100
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.07.14 15:04. Заголовок: gfilatov2002 а где ..
gfilatov2002 а где то можно увидеть какие новые примеры добавились по сравнению с предыдущей сборкой ?
|
|
|
santy
|
| |
Пост N: 304
Зарегистрирован: 16.12.08
|
|
Отправлено: 10.07.14 15:28. Заголовок: ChangelogHMG2_37.doc..
ChangelogHMG2_37.doc - скачай с сайта Григория.
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 615
Зарегистрирован: 11.02.10
|
|
Отправлено: 10.07.14 15:30. Заголовок: Dima пишет: какие н..
Dima пишет: цитата: | какие новые примеры добавились |
| См. последние изменения в файле changelog.txt, который находится в папке minigui\Doc
|
|
|
Dima
|
| |
Пост N: 4101
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.07.14 16:38. Заголовок: упс а слона то я и н..
упс а слона то я и не заметил
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3499
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.07.14 01:55. Заголовок: gfilatov2002 пишет: ..
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
|
| moderator
|
Пост N: 616
Зарегистрирован: 11.02.10
|
|
Отправлено: 11.07.14 14:10. Заголовок: Andrey пишет: для к..
Andrey пишет: цитата: | для кнопок (BUTTONEX) тоже непонятно как делать ? |
| Для кнопок можно использовать следующую функцию: *-----------------------------------------------------------------------------* 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
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3500
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.07.14 14:58. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Для кнопок можно использовать следующую функцию: |
| Спасибо БОЛЬШОЕ !!! А как иконки/bmp -ки добавлять в меню ?
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 618
Зарегистрирован: 11.02.10
|
|
Отправлено: 11.07.14 15:32. Заголовок: Andrey пишет: как и..
Andrey пишет: цитата: | как иконки/bmp -ки добавлять в меню ? |
| Попробуй использовать для bmp в меню функцию ниже *--------------------------------------------------------* 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)
|
|
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|