Автор | Сообщение |
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.
|
|
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|
Andrey
|
| постоянный участник
|
Пост N: 3444
Зарегистрирован: 12.09.06
|
|
Отправлено: 25.06.14 16:17. Заголовок: Спасибо БОЛЬШОЕ Григ..
Спасибо БОЛЬШОЕ Григорий !
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3445
Зарегистрирован: 12.09.06
|
|
Отправлено: 25.06.14 16:33. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Для этого надо определять дочерние окна без слова CHILD (как определяется стандарное окно при работе в IDE). |
| Для ХР работает, а в Win8 нет. Я понял что сама Win8 группирует по названию ехе-ника. Как это убрать, кто знает ? Хотя это вопрос и не по МиниГуи.... gfilatov2002 пишет: Спасибо БОЛЬШОЕ Григорий !
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3449
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.06.14 10:28. Заголовок: Народ, подскажите кт..
Народ, подскажите кто знает, как лучше сделать меню настроек для своей задачи. Что бы не изобретать велосипед, решил делать в стиле Skype: Какие объекты из МиниГуи лучше использовать ? Про чекбоксы понятно. Как сделать меню слева, из каких объектов ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3460
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.06.14 18:44. Заголовок: Как в МиниГуи зная х..
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3465
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.06.14 23:24. Заголовок: Есть ли функция для ..
Есть ли функция для МиниГуи аналогичной MsgDebug() - но чтобы выводила значения в заданный файл ? Конечно можно сделать и самому, но может готовое есть ?
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 603
Зарегистрирован: 11.02.10
|
|
Отправлено: 01.07.14 11:53. Заголовок: Andrey пишет: чтобы..
Andrey пишет: цитата: | чтобы выводила значения в заданный файл ? |
| Может подойдет такая *-----------------------------------------------------------------------------* PROCEDURE LogFile( cFileName, acInfo ) *-----------------------------------------------------------------------------* LOCAL hFile, cLine := DToC( Date() ) + " " + Time() + " : ", n For n = 1 to Len( acInfo ) cLine += acInfo[ n ] + Chr( 9 ) Next cLine += CRLF if ! File( cFileName ) FClose( FCreate( cFileName ) ) endif if( ( hFile := FOpen( cFileName, FO_WRITE + FO_SHARED ) ) != -1 ) FSeek( hFile, 0, FS_END ) FWrite( hFile, cLine, Len( cLine ) ) FClose( hFile ) endif Return Полный пример использования есть в папке samples\Applications\SendMail
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3466
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.07.14 14:24. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: Спасибо БОЛЬШОЕ ! А как насчет предыдущего вопроса ?
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 604
Зарегистрирован: 11.02.10
|
|
Отправлено: 01.07.14 15:45. Заголовок: Andrey пишет: как н..
Andrey пишет: цитата: | как насчет предыдущего вопроса ? |
| По Вашей ссылке на MSDN лежит функция с хорошим названием, но предназначенная для другого случая. По секрету: ждите следующей сборки. В ней будет пример использования требуемой функции
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 358
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.07.14 07:32. Заголовок: Andrey пишет:чтобы в..
Andrey пишет: цитата: | чтобы выводила значения в заданный файл ? |
| вот еще пару вариантов : Скрытый текст
FUNCTION MsgLog2( ... ) //! все переменные выводятся как : nVar -> "nVar", nVar //! Не нужно писать по два раза имя , значение - достаточно только один раз LOCAL i, k, aParams, nParams, xVal, cTp, cTx LOCAL hFile, cFile:="_MsgLog.txt" aParams := hb_aParams() nParams := PCount() IF nParams < 1 ; RETURN NIL ENDIF hFile := iif( File(cFile), FOpen(cFile,2) , FCreate(cFile) ) FSeek( hFile, 0, 2) k := nParams/2 FOR i := 1 TO k FWrite(hFile, aParams[ i+k ] + Chr(9) + _uVal2Txt( aParams[ i ] ) + Chr(9) ) NEXT FWrite(hFile, Chr(13)+Chr(10), 2 ) FClose( hFile ) RETURN FUNCTION MsgLog( ... ) LOCAL i, k, aParams, nParams, xVal, cTp, cTx LOCAL hFile, cFile:="_MsgLog.txt" aParams := hb_aParams() nParams := PCount() IF nParams < 1 ; RETURN NIL ENDIF hFile := iif( File(cFile), FOpen(cFile,2) , FCreate(cFile) ) FSeek( hFile, 0, 2) FOR i := 1 TO nParams FWrite(hFile, _uVal2Txt( aParams[ i ] ) + Chr(9) ) NEXT FWrite(hFile, Chr(13)+Chr(10), 2 ) FClose( hFile ) RETURN NIL STATIC FUNCTION _uVal2Txt( xVal ) LOCAL cTx, cTp:= ValType( xVal ) IF cTp=='C' ; cTx := AllTrim(xVal) ; RETURN iif(Empty(cTx), "'"+"'", cTx) ELSEIF cTp=='N' ; RETURN LTrim(Str(xVal)) ELSEIF cTp=='L' ; RETURN iif(xVal, ".T.", ".F.") ELSEIF cTp=='D' ; cTx := DToS( xVal ) ; RETURN Right(cTx,2)+'.'+subs(cTx,5,2)+'.'+Left(cTx,4) ELSEIF cTp=='A' ; RETURN "ARRAY[" + hb_NToS( Len(xVal) ) + "]" ELSEIF cTp=='H' ; RETURN "HASH[" + hb_NToS(Len(xVal)) + "]" ELSEIF cTp=='B' ; RETURN "{|| ... }" ELSEIF cTp=='O' ; RETURN "O:"+xVal:ClassName ELSEIF cTp=='T' ; RETURN hb_TSToStr( xVal, .T. ) ELSEIF cTp=='U' ; RETURN 'NIL' ENDIF RETURN "'" + cTp + "'"
|
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3468
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.07.14 11:32. Заголовок: SergKis пишет: вот ..
SergKis пишет: Спасибо БОЛЬШОЕ ! Только хотелось бы имя файла иметь изменяемое !!! Наверно нужно сделать первый параметр ТОЛЬКО для имени файла. Я так у себя сделал уже... Вот еще возник вопрос, а как сделать ниспадающее меню ? Допустим для грида после нажатия мышки ?
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 606
Зарегистрирован: 11.02.10
|
|
Отправлено: 04.07.14 12:33. Заголовок: Andrey пишет: как с..
Andrey пишет: цитата: | как сделать ниспадающее меню ? |
| Посмотри пример menudemo5 в папке samples\Basic\Menu Там используется такая команда: SHOW CONTEXTMENU OF Win_1
|
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3472
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.07.14 12:42. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Посмотри пример menudemo5 в папке samples\Basic\Menu |
| То что надо ! Спасибо БОЛЬШОЕ !
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3475
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.07.14 12:04. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Посмотри пример menudemo5 в папке samples\Basic\Menu |
| Меню сделал, но не совсем то что нужно. Нет возможности использовать крупный шрифт. Подскажите пожалуйста как можно сделать меню с иконкой и названием, типа объекта GRID ? Есть ли еще примеры для меню аналогичные объекту GRID ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 364
Зарегистрирован: 17.02.12
|
|
Отправлено: 05.07.14 14:16. Заголовок: Andrey может это ..
Andrey может это \MiniGUI\SAMPLES\BASIC\MsgMenu
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3476
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.07.14 15:54. Заголовок: SergKis пишет: може..
SergKis пишет: цитата: | может это \MiniGUI\SAMPLES\BASIC\MsgMenu |
| Не совсем то, но попробую. В CONTEXT MENU я смог затолкать картинки 32x32 - выглядит получше ! Но опять беда, фон картинки нужно делать вручную под цвет МЕНЮ, иконка не подходит... На других компах, с другой цветовой темой то что делаю будет выглядеть КОРЯВО... Есть функции определения цвета по координатам окна ? И еще один вопрос, как сделать выход без выбора в CONTEXT MENU ? MENUITEM "Выход" ACTION {|| ?????? } IMAGE "EXIT32"
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3489
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.07.14 12:58. Заголовок: Всем привет. Как пер..
Всем привет. Как переключиться на окно если оно находиться под другими открытыми окнами ? Имею такую конструкцию: IF !IsWindowActive( Form_Config ) DEFINE WINDOW Form_Config ; At 0, 0 ; ....... NOMAXIMIZE NOSIZE ......... END WINDOW // показываем форму ELSE RESTORE WINDOW Form_Config ENDIF // !IsWindowActive( Form_Config ) RESTORE WINDOW - срабатывает если окно свернуто. А если скрыто под другими окнами, то как сделать это окно ПОВЕРХ других окон задач ?
|
|
|
Dima
|
| |
Пост N: 4094
Зарегистрирован: 17.05.05
|
|
Отправлено: 08.07.14 13:05. Заголовок: Andrey пишет: А есл..
Andrey пишет: цитата: | А если скрыто под другими окнами, то как сделать это окно ПОВЕРХ других окон задач ? |
| Фокус ввода сделать на нужном окне
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 367
Зарегистрирован: 17.02.12
|
|
Отправлено: 08.07.14 13:34. Заголовок: Andrey пишет:Как пер..
Andrey пишет: цитата: | Как переключиться на окно |
| IF _IsWindowDefined('Form_Config') Form_Config.SetFocus Form_Config.Browse_1.SetFocus или др. нужный контрол Form_Config.Button_1.SetFocus ENDIF
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3490
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.07.14 14:08. Заголовок: SergKis пишет: IF _..
SergKis пишет: цитата: | IF _IsWindowDefined('Form_Config') Form_Config.SetFocus Form_Config.Browse_1.SetFocus или др. нужный контрол Form_Config.Button_1.SetFocus ENDIF |
| Не совсем понял... Окно уже открыто, но может быть несколько вариантов: 1) окно находиться под другими окнами задачи. 2) свернуто на панели задачи. как сделать код для этих 2х вариантов сразу ? IF _IsWindowDefined('Form_Config') // создание окна // показываем форму ACTIVATE WINDOW Form_Config ELSE // RESTORE WINDOW Form_Config // работает если окно свернуто на панели задач, НЕ работает если под другими окнами // Form_Config.SetFocus // Не работает если окно свернуто на панели задач, работает если под другими окнами ENDIF
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 609
Зарегистрирован: 11.02.10
|
|
Отправлено: 08.07.14 14:23. Заголовок: Andrey пишет: Окно ..
Andrey пишет: цитата: | Окно уже открыто, но может быть несколько вариантов: |
| Попробуй так *----------------------------------- Function SwitchToWin( cForm ) *----------------------------------- If _IsWindowDefined( cForm ) If IsIconic( GetFormHandle(cForm) ) _Restore( GetFormHandle(cForm) ) Else DoMethod( cForm, "SetFocus" ) EndIf EndIf Return Nil
|
|
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|