Форум » 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.

Ответов - 300, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All

PSP: Andrey пишет: SetLayeredWindowAttributes( GetFormHandle( "frmCheckUser" ), ( aPicBackColor[1] + ( aPicBackColor[2] * 256 ) + ( aPicBackColor[3] * 65536 ) ), 0, 0x01 ) Я не утверждаю, но может 255 и 65535 надо?

Dima: Andrey пишет: SetLayeredWindowAttributes( GetFormHandle( "frmCheckUser" ), ( aPicBackColor[1] + ( aPicBackColor[2] * 256 ) + ( aPicBackColor[3] * 65536 ) ), 0, 0x01 ) Что то не то ты намутил , примеры то смотрел ? По ходу если такое полупрозрачное окно будет лежать на других окнах с достаточно большим кол-вом контролов (например Tsbrowse как новогодняя ёлка) , то будут тормоза.

Andrey: Dima пишет: Что то не то ты намутил , примеры то смотрел ? Конечно смотрел. Dima пишет: По ходу если такое полупрозрачное окно будет лежать на других окнах с достаточно большим кол-вом контролов (например Tsbrowse как новогодняя ёлка) , то будут тормоза. Я одно окно использую, при логине в программу !


Dima: Andrey Так не устраивает ? #define LWA_ALPHA 0x02 SetLayeredWindowAttributes( GetFormHandle( "frmCheckUser" ) , 0, 150 , LWA_ALPHA )

Andrey: Dima пишет: Так не устраивает ? Нет, не то... Окно целиком видно, т.е. нет прозрачности и сама картинка блёклая выводится...

Andrey: Andrey пишет: И вообще, можно ли изменить aPicBackColor := BLACK на другой цвет, который чаще всего не используется ? Допустим на FUCHSIA ? Но чтобы форма оставалась прозрачной ! Оказывается это можно сделать (Григорий подсказал) ! Добавляем к примеру новую картинку и эти строчки:[pre2] // Другой вариант цветовой палитры для показа картинки без формы окна cPictFNm := "res\FolderLock2.png" aPicBackColor := FUCHSIA[/pre2] Картинку нужно исправить на такую:

Andrey: Опять баг нашёл. Или что-то неправильно делаю. Есть у меня окно для обновления программы. С главного меню вызывается нормально, а с другого меню нет вообще реакции, не вызывается окно. Что только не переделал, MsgDebug() показывается из окна обновления программы, а самого окна нет. Убился пока нашёл в чём дело. Размер высоты окна задаю через переменную: [pre2]nMaxHeight := GetProperty( "Form_Main", "Height" ) - 80[/pre2] В случае вызова окна обновления размер получается правильным, а в случае вызова из другого окна размер получается неправильным, равным -79 ???? Из-за этого окно это и не видно... Почему так ? Что я неправильно делаю ?

Andrey: Всем привет ! Подскажите пожалуйста: 1) Как из самой программы узнать имя - окна процесса, которое есть в диспетчере задач ? 2) Как это имя можно задать/изменить из программы ? Знаю, что это задаётся в ресурсном файле в секции: [pre2] VALUE "FileDescription", "Имя моей программы"[/pre2] 3) Почему в моей программе, я задаю имя MAIN окна, а в Диспетчере задач имя совсем другое - "MiniGUI Extended" ? вот картинка:

Andrey: gfilatov2002 пишет: Я написал для этого функцию FileVersInfo(), которая есть в примере Process Killer Используется она следующим образом: А кроме этого метода есть другие варианты, как узнать имя запущенной программы в Диспетчере задач ? Можно ли по хендлу окна определить Имя программы в Диспетчере задач ? Вот нашёл код для С++ (в самом конце страницы) https://rsdn.org/forum/winapi/2843651.all Кто поможет переделать под Харбор ?

Haz: Andrey пишет: Кто поможет переделать под Харбор ? Все давно переделано и описано в форуме http://clipper.borda.ru/?1-4-0-00001225-000-0-0 Плюс конечно же примеры Григория с его функцией GetExeName( HWND hWnd, char *szFileName )

Andrey: Haz пишет: Все давно переделано и описано в форуме Да не понял я как там написано. Кода нет полного или частичного. Читаешь что вы там писали и НИ ЧЕГО не понимаешь !!! Уровень ещё не тот... Haz пишет: Плюс конечно же примеры Григория с его функцией GetExeName( HWND hWnd, char *szFileName ) Но это же не совсем то что нужно. По пути запуска программы читать ехе-файл и вытаскивать из него имя программы (где то пишут процесса). Программа же загружена в памяти, есть хендл этой программы - вот и прочитать его нужно. Это же более правильно.

Andrey: Всем привет ! Как консольный пример собирать знаю... через Compile.bat Вот как в MiniGUI\SAMPLES\BASIC\ConsoleToGUI А как собрать файл проекта для консольного примера - не знаю... Как сделать demo1.hbp для DEMO1.PRG ? Подскажите пожалуйста.

gfilatov2002: Andrey пишет: Как консольный пример собирать знаю... через Compile.bat HBMK2 Compile batch Based upon an original work of Roberto Lopez for HMG 3.0 Last revised by Grigory Filatov 03/10/2017 Syntax: Build [/d] [/e] [/c] [/i [/nh]] [/r] [/n] <PrgFile>|<filelist.hbp> [config.hbc] [/d] : Debug Mode [/e] : Send Warnings to build.log [/c] : Console mode

Andrey: Спасибо, понял ! А команду в сам demo1.hbp вставить нельзя ? Там вроде есть опции: -gui|-std create GUI/console executable Ставлю в demo1.hbp эту опцию -std, консоль собирается но вывода на экран НЕТУ ! Почему ?

Andrey: gfilatov2002 пишет: Попробуй call ..\..\batch\hbmk2.bat /c demo1.hbp В папке MiniGUI\SAMPLES\BASIC\ConsoleToGUI создал demo1.hbp и запустил на компиляцию. ЕХЕ-ник собрался и запускается - но ТОЛЬКО ЧЕРНЫЙ ЭКРАН !!! Вывода на экране ни какого нет ! Почему ?

gfilatov2002: Andrey пишет: Вывода на экране ни какого нет Добавь в начало файла demo1.prg такую строку REQUEST HB_GT_WIN_DEFAULT [pre]#include "inkey.ch" REQUEST HB_GT_WIN_DEFAULT function Main() ... [/pre]

Andrey: Спасибо !!!

Andrey: Почему в файл пишется фигня дополнительная ? Делаю так: [pre2] // Подпись под таблицей cTitle := "Signature below the table (output example)" cTitle2 := "File - " + cFile aColor := { RED , WHITE } // цвет/фон aTTitle3 := {} AADD( aTTitle3, { "" } ) AADD( aTTitle3, { cTitle , { "Arial", 14, .f. , .f. }, aColor } ) AADD( aTTitle3, { cTitle2, { "Arial", 14, .f. , .f. }, aColor } ) AADD( aTTitle3, { "" } ) hb_MemoWrit("тбл_6Под_таблицей.dim", hb_ValToExp( aTTitle3 )) [/pre2] В результате в файле так записывается: __itemSetRef( {{""}, {"Signature below the table (output example)", {"Arial", 14, .F., .F.}, {..... .F., .F.}, NIL}, {""}}, {{{3,3},{2,3}}} ) Как убрать эту фигню ?

SergKis: Andrey пишет Как убрать эту фигню ? [pre2] LOCAL a,j, cTitle := "Signature below the table (output example)" , ; cTitle2 := "File - " + "тбл_6Под_таблицей.dim" ,; aColor := { RED , WHITE }, ; // цвет/фон aTTitle3 := {} AADD( aTTitle3, { "" } ) AADD( aTTitle3, { cTitle , { "Arial", 14, .f. , .f. }, aColor } ) AADD( aTTitle3, { cTitle2, { "Arial", 14, .f. , .f. }, aColor } ) AADD( aTTitle3, { "" } ) a := CtoA( AtoC( aTTitle3 ) ) hb_MemoWrit('_1.txt', hb_ValToExp( aTTitle3 )) hb_MemoWrit('_2.txt', hb_ValToExp( a )) можно сразу использовать hb_MemoWrit('_1.txt', AtoC( aTTitle3 )) ... aTTitle3 := CtoA( hb_MemoRead('_1.txt') ) ... [/pre2]

Andrey: SergKis СПАСИБО !



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