Автор | Сообщение |
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.
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
SergKis
|
| постоянный участник
|
Пост N: 1770
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.03.18 15:04. Заголовок: rvu пишет Вот что эт..
rvu пишет Без примера, организации вызовов новых окон, трудно понять суть, можно только фантазировать. Посмотрите пример APP_OOPEvens и попробуйте хотя бы новые окна создавать через сообщения. Возможно TEXTBOX заменять на GETBOX/
|
|
|
rvu
|
| |
Пост N: 136
Зарегистрирован: 05.11.05
|
|
Отправлено: 02.03.18 15:17. Заголовок: SergKis пишет: Возм..
SergKis пишет: цитата: | Возможно TEXTBOX заменять на GETBOX |
| В свое время чем-то он мне не понравился.
|
|
|
rvu
|
| |
Пост N: 137
Зарегистрирован: 05.11.05
|
|
Отправлено: 02.03.18 15:20. Заголовок: Я попробую, конечно,..
Я попробую, конечно, разные варианты, просто, может, кто-то уже с таким сталкивался. Или есть догадки.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5746
Зарегистрирован: 12.09.06
|
|
Отправлено: 02.03.18 21:08. Заголовок: rvu пишет: Вот что ..
rvu пишет: Сделать маленький и самодостаточный пример. А на вызовы функций типа: ToOnTablo() - навесить MsgDebug() ! Тогда можно будет понять свой промах. Без этого примера, ничего не выйдет.
|
|
|
rvu
|
| |
Пост N: 138
Зарегистрирован: 05.11.05
|
|
Отправлено: 05.03.18 11:47. Заголовок: Andrey пишет: Сдела..
Andrey пишет: Так в том и проблема, что пока программа маленькая, она работает. Но я для себя проблему решил, просто отказался от этого тулбара, сделал свои кнопки, с ними все нормально.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5771
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.03.18 19:43. Заголовок: Пример \MiniGUI&..
Пример \MiniGUI\SAMPLES\Advanced\Tsb_filter Добавляю строку показа клавиатуры в пример: DEFINE TEXTBOX Text_1 ROW 5 COL 90 WIDTH 345 HEIGHT 21 ON CHANGE {|| RefreshBrowse()} END TEXTBOX @ 5, 450 LABEL Label_KB VALUE '('+KB_LANG()+')' ; WIDTH 50 HEIGHT 21 SIZE 11 BOLD FONTCOLOR BLACK TRANSPARENT // "RUS/LAT" Ну и добавил саму функцию KB_LANG() Скрытый текст /*------------------------------------------------------------------------------ * http://clipper.borda.ru/?1-4-0-00000995-000-0-0-1408978369 * lis_eng := lis_eng_kbd(@rsl) ... KB_ENG() ... KB_RUS() ... */ Function lis_eng_kbd(rsl) rsl:=RASKLADKA() return (rsl== "00000409") //eng Function lis_rus_kbd(rsl) rsl:=RASKLADKA() return (rsl== "00000419") //rus Function KB_LANG() Local rsl, cRet := "???" rsl:=RASKLADKA() IF rsl == "00000409" cRet := "ENG" ELSEIF rsl == "00000419" cRet := "RUS" ENDIF return cRet #pragma BEGINDUMP #include "Windows.h" #include "hbapi.h" HB_FUNC(KB_RUS) { LoadKeyboardLayout("00000419", KLF_ACTIVATE) ; } HB_FUNC(KB_ENG) { LoadKeyboardLayout("00000409", KLF_ACTIVATE) ; } HB_FUNC(RASKLADKA) { TCHAR m_PreviousLayout[KL_NAMELENGTH] ; GetKeyboardLayoutName(m_PreviousLayout); hb_retc(m_PreviousLayout); } #pragma ENDDUMP
| Как заставить правильно отображать клавиатуру находясь в TEXTBOX Text_1 ? А то переходишь на русскую клавиатуру, внизу правильно, а в LABEL Label_KB неправильная, пока не нажмешь любую букву. Для TBROWSE знаю, что нужно добавить: // Вывод подсказки с использованием внутреннего цикла TBrowse oBrw:bEvents := { |a,b| MyEventBrowse(a,b) } .... В KeyUserEdit() добавить: CASE nKey == 16 .OR. nKey == 17 // Shift+Alt Shift+Ctrl "RUS/LAT" SetProperty(cForm, "Label_KB", "Value", '('+KB_LANG()+')' ) lRet := .F. И внести функцию: STATIC FUNCTION MyEventBrowse(oBrw, nMsg) // "RUS/LAT" LOCAL cForm := oBrw:cParentWnd, cAlias := oBrw:cAlias IF _IsControlDefined( "Label_KB", cForm ) .and. !(nMsg==WM_PAINT) SetProperty(cForm, "Label_KB", "Value", '('+KB_LANG()+')' ) ENDIF RETURN 0
|
|
|
Haz
|
| |
Пост N: 1210
Зарегистрирован: 20.02.11
|
|
Отправлено: 10.03.18 22:38. Заголовок: Andrey пишет: Добав..
Andrey пишет: цитата: | Добавляю строку показа клавиатуры в пример: |
| А зачем? Пример показывает как можно обработать фильтр в бровсе и все. Зачем все в один компот сливать? Хочется поупражняться, есть пример( или аппликуха) LangIndicator кажется, так называется. Или сделай новый, хотя и так от tsb_***** в примерах уже в глазах мелькает.
|
|
|
Dima
|
| |
Пост N: 6755
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.03.18 22:43. Заголовок: Haz пишет: LangIndi..
Haz пишет: Есть такой в Advanced\LANG_INDICATOR\ но у меня на семерке работает криво. На переключение раскладки не реагирует , пока хотя бы раз не нажать в трее на этом LANG_INDICATOR
|
|
|
Haz
|
| |
Пост N: 1211
Зарегистрирован: 20.02.11
|
|
Отправлено: 10.03.18 22:46. Заголовок: Dima пишет: На пере..
Dima пишет: цитата: | На переключение раскладки не реагирует , пока хотя бы раз не нажать в трее на этом LANG_INDICATOR |
| Вот тем более. Есть куда приложить руку и приписать свой (с)
|
|
|
Dima
|
| |
Пост N: 6756
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.03.18 23:06. Заголовок: Haz :sm12: ..
Haz
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5772
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.03.18 23:14. Заголовок: Haz пишет: А зачем?..
Haz пишет: цитата: | А зачем? Пример показывает как можно обработать фильтр в бровсе и все. |
| А чтобы понять, как заставить изменить показ клавиатуры для этого фильтра и бровса. Пример выбран специально, чтобы потом посмотреть как это всё вместе будет работать и перенести к себе в проект.
|
|
|
|
Haz
|
| |
Пост N: 1212
Зарегистрирован: 20.02.11
|
|
Отправлено: 11.03.18 00:02. Заголовок: Andrey пишет: чтобы..
Andrey пишет: цитата: | чтобы понять, как заставить |
| Так и спрашивай, как из текстбокса перехватить клаву. С бровсом я так понял проблем нет. А то не понятно, толи ты улучшайзингом примеров занимаешься, толи конкретную свою задачу решаешь. Текстбокс, неполноценный контрол. Замени на гетбокс. Да и способов отобразить какой язык в системе текущий можно без отлова везде горячей комбинации. Самый простой и надёжный это таймер, сложнее это поток. А так появится на форме датапикер, будешь здесь писать как на нем поймать.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5773
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.03.18 00:07. Заголовок: Haz пишет: Так и сп..
Haz пишет: цитата: | Так и спрашивай, как из текстбокса перехватить клаву. С бровсом я так понял проблем нет. А то не понятно, толи ты улучшайзингом примеров занимаешься, толи конкретную свою задачу решаешь. |
| В этом примере с бровсом разобрался, думал не смогу. Вот и остался один объект (текстбокс) где не смог перехватить клаву. Чтобы другой пример не плодить, остался на этом примере. Насчёт гетбокс понял, буду смотреть. Спасибо !
|
|
|
Haz
|
| |
Пост N: 1213
Зарегистрирован: 20.02.11
|
|
Отправлено: 11.03.18 00:23. Заголовок: Andrey пишет: Вот и..
Andrey пишет: цитата: | Вот и остался один объект (текстбокс) где не смог перехватить клаву. |
| А если на форме будет 100 контролов, все перехватывать будешь.? Проще повесить таймер на форму с интервалом 1000 в котором сравнивать текущй язык с твоей лейбой. Не совпало, значит что то из них надо поменять и скорее всего это лейба.
|
|
|
Vlad04
|
| постоянный участник
|
Пост N: 784
Зарегистрирован: 13.10.05
|
|
Отправлено: 13.03.18 09:59. Заголовок: Как заставить правил..
цитата: | Как заставить правильно отображать клавиатуру находясь в TEXTBOX Text_1 |
| Я при входе в Box сам устанавливаю нужную раскладку, чтобы юзер и не парился
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5775
Зарегистрирован: 12.09.06
|
|
Отправлено: 13.03.18 13:57. Заголовок: Vlad04 пишет: Я при..
Vlad04 пишет: цитата: | Я при входе в Box сам устанавливаю нужную раскладку, чтобы юзер и не парился |
| Справочник оборудования, список на русском и английском. Какую тогда раскладку ставить ?
|
|
|
Alex_Cher
|
| |
Пост N: 54
Зарегистрирован: 18.06.15
|
|
Отправлено: 14.03.18 07:21. Заголовок: Vlad04 пишет: Я при..
Vlad04 пишет: цитата: | Я при входе в Box сам устанавливаю нужную раскладку |
| чем, не подскажешь ...
|
|
|
Dima
|
| |
Пост N: 6763
Зарегистрирован: 17.05.05
|
|
Отправлено: 16.03.18 20:50. Заголовок: Вопрос по примеру WE..
Вопрос по примеру WEBCAM_2 Жму кнопку Capture , картинка после первого нажатия не меняется , хотя файл снимок и появляется. Проверял hBitmap в процедуре CaptureImage и он не пустой. Жму повторно на Capture , картинка под этой кнопкой поменялась. Далее сворачиваю окно и после снова его поднимаю а картинки под Capture уже нет. Как лечить ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 1778
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.03.18 21:57. Заголовок: Dima пробни так *-..
Dima пробни так *-----------------------------------------------------------------------------* Procedure Main *-----------------------------------------------------------------------------* SET OOP ON ... ON INIT ( (This.Object):PostMsg(1), DoEvents(), ; (This.Object):PostMsg(1) ) ; // CaptureImage() ; // capture initialization ON RELEASE CloseWebCam() ; ON RESTORE ( (This.Object):PostMsg(1), DoEvents(), ; (This.Object):PostMsg(1) ) (This.Object):Event( 1, {|| CaptureImage() }) ... DEFINE BUTTON Button_3 ROW 80 COL 315 WIDTH 80 CAPTION 'Capture' ACTION ( (ThisWindow.Object):PostMsg(1), DoEvents() ) END BUTTON
|
|
|
Dima
|
| |
Пост N: 6764
Зарегистрирован: 17.05.05
|
|
Отправлено: 16.03.18 22:39. Заголовок: SergKis пишет: проб..
SergKis пишет: Не помогло однако ON INIT сделал такой , но картинка сразу не появляется. ON INIT ( (This.Object):PostMsg(1), DoEvents(CaptureImage()) ,(This.Object):PostMsg(1)) Фокус с ON RESTORE не сработал .... ACTION в Button_3 сделал такой , работает теперь нормально ACTION ( (ThisWindow.Object):PostMsg(1),DoEvents(CaptureImage()) ) PS По большому счету в ON INIT можно и убрать CaptureImage() , как и сам ON INIT
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|