Форум » 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: БОЛЬШОЕ СПАСИБО за разъяснения ! Буду думать....

Andrey: Читаю хелпер по МиниГуи - CheckBox Хочу задать другой цвет, добавляю в пример: \MiniGUI\SAMPLES\BASIC\checkbox\demo.prg Define CheckBox Check1 Row 40 Col 10 Value .F. Caption 'Simple CheckBox' Width 120 FontColor RED BackColor YELLOW OnChange MsgInfo( "CheckBox 1 Value is Changed!" ) End CheckBox Цвет не меняется ! Фон меняется ! Так должно быть ? Или у меня Win8 глючит ?

Andrey: Всем привет. Пример \MiniGUI\SAMPLES\BASIC\Grid_5 Как поменять цвет выбора (маркера) на другой ? Хочу черный маркер и на нем желтые буквы.... Как поменять цвет заголовка таблицы на другой ? Никак у меня не получается ...


gfilatov2002: Andrey пишет: Как поменять цвет выбора (маркера) на другой ? Такая возможность для стандартного Grid есть (см. пример в папке samples\Advanced\GridColor). Andrey пишет: Как поменять цвет заголовка таблицы на другой ? Для стандартного Grid - никак, в таком случае надо использовать библиотеку TSBrowse с расширенными возможностями (см. элемент управления TBROWSE).

Andrey: gfilatov2002 пишет: Такая возможность для стандартного Grid есть (см. пример в папке samples\Advanced\GridColor). Что-то не получается у меня (для меню из 3-х элементов) ... Если включить CELLNAVIGATION .T. то цвет на одной ячейке появляется... Вот текст примера: /* * MiniGUI Grid Color Demo * * The idea of 2013 Verchenko Andrey <verchenkoag@gmail.com> * Implementation (c) 2013 Grigory Filatov <gfilatov@inbox.ru> */ #include "minigui.ch" Procedure Main LOCAL aColor := {105,182,34} // bright green LOCAL aColor2 := YELLOW LOCAL aColor3 := AQUA LOCAL aBtnColor := WHITE, aBackColor := aColor LOCAL fColor := { | Val, CellRowIndex | IF ( CellRowIndex / 2 == Int( CellRowIndex / 2 ) , RGB( aColor2[1],aColor2[2],aColor2[3] ) , RGB( aColor3[1],aColor3[2],aColor3[3] ) ) } LOCAL fColor2 := { | Val, CellRowIndex | IF ( CellRowIndex / 2 == Int( CellRowIndex / 2 ) , RGB( aColor[1],aColor[2],aColor[3] ) , RGB( aColor[1],aColor[2],aColor[3] ) ) } SET MULTIPLE OFF SET AUTOADJUST ON DEFINE WINDOW Form_2 ; AT 0,0 ; WIDTH 600 ; HEIGHT 400 ; TITLE 'Grid Colors Themes (color style)' ; MAIN ; BACKCOLOR aBackColor ; FONT 'Tahoma' SIZE 14 ; ON INIT OnInitGrid() DEFINE MAIN MENU DEFINE POPUP 'File' MENUITEM 'Exit' ACTION ThisWindow.Release END POPUP END MENU // Title grid {HEADERS} consists of only one line. // The second line is not visible! Limitation grid. DEFINE GRID Grid_2 ROW 10 COL 10 WIDTH 570 HEIGHT 300 WIDTHS { 550 - IF(IsXPThemeActive(), 2, 0) } HEADERS {'No (1)','Menu (2)', 'File (3)' } WIDTHS { 100, 280, 150 } ITEMS MyLoadDim() VALUE 1 ON DBLCLICK Test_Choice(1) ONHEADCLICK { {|| MsgInfo('Header 1 Clicked !')} , { || MsgInfo('Header 2 Clicked !')}, { || MsgInfo('Header 3 Clicked !')} } NOLINES .T. CELLNAVIGATION .F. DYNAMICFORECOLOR { fColor , fColor, fColor } DYNAMICBACKCOLOR { fColor2, fColor2, fColor2 } FONTBOLD .T. FONTCOLOR BLUE BACKCOLOR aBackColor END GRID ON KEY F4 ACTION Test_Choice(2) END WINDOW CENTER WINDOW Form_2 ACTIVATE WINDOW Form_2 Return /////////////////////////////////////////////////////////////////////////// Procedure OnInitGrid() _HMG_GridSelectedCellForeColor := RED _HMG_GridSelectedCellBackColor := BLACK Form_2.Grid_2.Value := 1 Form_2.Grid_2.SetFocus Return /////////////////////////////////////////////////////////////////////////// Function MyLoadDim() Local nI, aRows := {} FOR nI := 1 TO 25 AAdd( aRows, { STR(nI)+".", "Example menu -> "+STR(nI,3), "file"+LTRIM(STR(nI))+".txt" } ) NEXT Return aRows /////////////////////////////////////////////////////////////////////////// Procedure Test_Choice(nVal) Local nMenuNum := Form_2.Grid_2.Value Local cMenuName := GetColValue( "Grid_2", "Form_2", 2 ) Local cFileName := GetColValue( "Grid_2", "Form_2", 3 ) Local cText //MsgDebug(nMenuNum,VALTYPE(nMenuNum)) cText := IIF(nVal==2,"You press F4","") + CRLF + CRLF cText += "Menu selection = " + STR(nMenuNum,2) + CRLF + CRLF cText += "Menu (2): ["+ cMenuName + "]" + CRLF + CRLF cText += "File (3): ["+ cFileName + "]" + CRLF + CRLF MsgInfo(cText) //refresh_it() // не работает что-то Return /////////////////////////////////////////////////////////////////////////// Function GetColValue( xObj, xForm, nCol ) Local nPos:= GetProperty(xForm, xObj, 'Value') Local aRet:= GetProperty(xForm, xObj, 'Item', nPos) Return aRet[nCol] /////////////////////////////////////////////////////////////////////////// Function refresh_it() Local a := Form_2.Grid_2.Value Form_2.Grid_2.Value := iif(a[1] # 1, 1, 2) Form_2.Grid_2.Value := a Return NIL gfilatov2002 пишет: Для стандартного Grid - никак, в таком случае надо использовать библиотеку TSBrowse Понял. Спасибо.

Andrey: Есть ли в МиниГуи окно (не MsgInfo) без остановки программы ? Т.е. на экран вешается ПРОСТОЕ сообщение, а программа выполняется дальше...

Haz: в минигуи пример называется WaitWindow

Andrey: \MiniGUI\SAMPLES\BASIC\WAIT_WINDOW\demo2.prg - подходит, но при нажатии в любом месте мышкой, окно закрывается... Нужно бы кнопку на это окно "Закрыть", тогда юзер успеет посмотреть что за ошибка была ! Да и пример пару раз повисал...

Haz: так это базовый пример, и лучше подходит demo1 - там параметр NOWAIT используется чтоб не ждать any key ... а кнопку в окно добавить легко - в InitWaitWindow до/после LABEL дописать и подвесить на нее событие { || _HMG_CHILDWAITWINDOW.HIDE } PS. Я бы использовал трей для вывода сообщения об ошибке - посмотри пример TrayBalloon_2

Andrey: Haz пишет: Я бы использовал трей для вывода сообщения об ошибке - посмотри пример TrayBalloon_2 Я другое хочу: Т.е. много ошибок или просто сообщений на рабочий стол...

Andrey: Так, с предыдущим примером закончили. Пример сделал с помощью Григория. Теперь другой, вопрос. Как узнать размер desktop toolbars в своей программе ? Для вычисления истинного размера экрана своей проги. Подобный вопрос уже обсуждали в теме: http://clipper.borda.ru/?1-20-0-00000265-000-0-0-1171206710 Но этих функций на С нет в библиотеке МиниГуи. А таскать каждый раз их в другие проекты неудобно. Хотя это отличные функции. Есть ли еще другие варианты решения этой проблемы ?

gfilatov2002: Andrey пишет: Как узнать размер desktop toolbars в своей программе ? Посмотри функцию GetTaskBarHeight()

SergKis: Anderey пишет:Но этих функций на С нет в библиотеке МиниГуи. А таскать каждый раз их в другие проекты неудобно Может стоит создать проект для своей lib и подключать к проектам программ: for %%i in ( OBJ\*.obj ) Do %HB_INS_BCC%\bin\tlib.exe LIB\my_lib1.lib -+%%i > nul

Andrey: SergKis пишет: Может стоит создать проект для своей lib и подключать к проектам программ Да я не любитель своих библиотек. Намаялся в свое время с восстановлением потерянных библиотек и решил не писать их, только библиотека исходников. Просто на маленькие примеры стараюсь пользоваться стандартными функциями.

Andrey: Есть замечательный пример \MiniGUI\SAMPLES\Advanced\TrayBalloon Только иконка на этом "балоне" одна - [ i ] Как бы его можно модифицировать, чтобы можно было задавать типы иконок, как в следующем примере: Кто знает как менять иконки в балоне ?

gfilatov2002: Andrey пишет: как менять иконки в балоне ? Просто посмотри следующий пример Advanced\TrayBalloon_2 в котором можно менять тип иконки

Andrey: gfilatov2002 пишет: Просто посмотри следующий пример Advanced\TrayBalloon_2 в котором можно менять тип иконки Да этот пример - монстр. И библиотеку hbwin цеплять нужно... И угловатый какой то. Первый пример округленький, красивей. В первом так все понятно: MsgBalloon( cMessage, cTitle ) - простота лучший друг понимания. Вот бы сюда добавить тип иконки: MsgBalloon( cMessage, cTitle, nIcon ) Можно добавить этот параметр ?

gfilatov2002: Andrey пишет: Можно добавить этот параметр ? Andrey Сделаю для следующей сборки

Andrey: Спасибо БОЛЬШОЕ Григорий !

Andrey: Если задача вылетает по ошибке, то в файле ошибок ErrorLog.htm есть такая строка: Time from start: 0 days 0 hours 0 mins 3 secs<BR> А как можно получить в программе это значение ? Хочу использовать для отображения на NOTIFYTOOLTIP программы. ?



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