On-line: Haz, гостей 2. Всего: 3 [подробнее..]
АвторСообщение
Andrey
постоянный участник




Пост N: 1929
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.11.11 21:36. Заголовок: Примеры из Минигуи -ошибки, вопросы..... (продолжение)


Всем привет.
Взялся смотреть примеры из МиниГуи, так не все работают. Может кто подскажет что там "допилить" нужно ?
А заодно может и исправить и добавить новые....

Очень красочный пример: \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.



Спасибо: 0 
Профиль
Ответов - 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 пишет:

 цитата:
Попробуй так



То что надо ! Спасибо !

А как насчет этого вопроса:
Есть ли функции определения цвета по определённым координатам ?

Спасибо: 0 
Профиль
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


Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 3492
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.07.14 18:17. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Рабочий пример ее использования см. в папке samples\Advanced\FillTriangle


Спасибо БОЛЬШОЕ !
То что надо !!!
Единственно что, если определение цвета нужно в дочернем окне, то наверно нужно сделать параметр для изменения _HMG_MainHandle ?

Как написать вместо _HMG_MainHandle - хендл текущего окна ?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 368
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.07.14 19:11. Заголовок: Andrey пишет:Как нап..


Andrey пишет:
 цитата:
Как написать вместо _HMG_MainHandle - хендл текущего окна ?


по ситуации:
Form_1.Handle
ThisWindow.Handle
GetFormHandle (cFom)

Спасибо: 1 
Профиль
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 // как здесь написать ?



Спасибо: 0 
Профиль
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


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 370
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.07.14 21:42. Заголовок: вдогонку SetProperty..


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

Спасибо: 0 
Профиль
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


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 371
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.07.14 22:13. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:
 цитата:
ACTION Eval( bAction )


оно так конечно, но блок кода на блок кода ...

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 3495
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.07.14 22:19. Заголовок: SergKis пишет: оно ..


SergKis пишет:

 цитата:
оно так конечно, но блок кода на блок кода ...


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

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 3498
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.07.14 11:11. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
По Вашей ссылке на MSDN лежит функция с хорошим названием, но предназначенная для другого случая.

По секрету: ждите следующей сборки. В ней будет пример использования требуемой функции


А где искать в новой сборке эту функцию ?

Спасибо: 0 
Профиль
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 )


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 4100
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 10.07.14 15:04. Заголовок: gfilatov2002 а где ..


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

Спасибо: 0 
Профиль
santy





Пост N: 304
Зарегистрирован: 16.12.08
ссылка на сообщение  Отправлено: 10.07.14 15:28. Заголовок: ChangelogHMG2_37.doc..


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

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 615
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 10.07.14 15:30. Заголовок: Dima пишет: какие н..


Dima пишет:

 цитата:
какие новые примеры добавились


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

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 4101
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 10.07.14 16:38. Заголовок: упс а слона то я и н..


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

Спасибо: 0 
Профиль
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 ??? ;


Спасибо: 0 
Профиль
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


Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 3500
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.07.14 14:58. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Для кнопок можно использовать следующую функцию:


Спасибо БОЛЬШОЕ !!!

А как иконки/bmp -ки добавлять в меню ?

Спасибо: 0 
Профиль
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)


Спасибо: 0 
Профиль
Ответов - 301 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 86
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет