On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
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 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


Dima
администратор




Пост N: 4484
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.02.15 23:06. Заголовок: gfilatov2002 Понял...


gfilatov2002
Понял. Спасибо

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




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


gfilatov2002 пишет:

 цитата:
Для этого надо сделать само-нарисованным (Ownerdraw) только этот конкретный участок статусной строки.



Блин, а я StatusBar делал самописный из LABEL....
Столько кода написать пришлось для пересчета при изменение размеров окна....




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




Пост N: 3948
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.02.15 23:31. Заголовок: А если сделать так: ..


А если сделать так:
LOCAL aBackColor := {0,64,80}
....
DEFINE WINDOW Win_1 ;
BACKCOLOR aBackColor ;
.....


Как тогда фон всего STATUSBAR сделать цветом aBackColor ?

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




Пост N: 718
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 13.02.15 14:25. Заголовок: Andrey пишет: Как т..


Andrey пишет:

 цитата:
Как тогда фон всего STATUSBAR сделать цветом aBackColor ?


Планирую добавить новые свойства BACKCOLOR и FONTCOLOR для STATUSITEM в следующей сборке.

Тогда можно будет записать так:

#include "minigui.ch" 

#define APP_TITLE "Hello World!"

Function Main
LOCAL aBackColor := {0,64,80}

DEFINE WINDOW Win_1 ;
AT 0,0 ;
WIDTH 400 ;
HEIGHT 400 ;
TITLE APP_TITLE ;
MAIN ;
BACKCOLOR aBackColor

DEFINE STATUSBAR FONT "Arial" SIZE 10
STATUSITEM "Item 0" BACKCOLOR aBackColor
STATUSITEM "Item 1" WIDTH 92 BACKCOLOR aBackColor FONTCOLOR YELLOW
STATUSITEM "Item 2" WIDTH 92 BACKCOLOR aBackColor
END STATUSBAR

END WINDOW

CENTER WINDOW Win_1
ACTIVATE WINDOW Win_1

Return Nil


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




Пост N: 4488
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 13.02.15 14:28. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Планирую добавить новые свойства BACKCOLOR и FONTCOLOR для STATUSITEM




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




Пост N: 719
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 13.02.15 16:26. Заголовок: Dima Хочу уточнить,..


Dima
Хочу уточнить, что я имел в виду следующую сборку 2.4.5, поскольку эти новые свойства требуют дополнительного тестирования.
Уже сейчас вижу, что они НЕ совместимы с классом ICON для STATUSITEM

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




Пост N: 3951
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.02.15 16:39. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:

Хочу уточнить, что я имел в виду следующую сборку 2.4.5


Подождем !
Спасибо !

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




Пост N: 3960
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.02.15 12:14. Заголовок: В терминалке на хХар..


В терминалке на хХарборе использую базы в 866 кодировке.
Символы CHR(250)-CHR(253) пишутся в текстовые поля базы нормально !

Пытаюсь то же самое сделать под МиниГуи не выходит, коды другие:


Как записать в поле базы символы CHR(250)-CHR(253) ?

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



Пост N: 159
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 18.02.15 16:24. Заголовок: Repl pole with chr(2..


Repl pole with chr(250)+ chr(253) не пробовал? На всякий случай попробуй

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




Пост N: 3981
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.02.15 15:08. Заголовок: Всем привет. Делал о..


Всем привет.
Делал окошко для проверки базы с двумя бегунками.
Причем второй бегунок использовал два раза ( с разными цветами) на копирование файла (синий) и переброску записей с одной базы в другую (зеленый).
И столкнулся с непоняткой, при переброске записей (зеленый цвет) вылазит синий цвет ?
Наверно нужно как то объект чистить (хотя пользуюсь только DRAW RECTANGLE ) ...
А может и не надо...

Подскажите как убрать паразитирующий цвет (синий) ?

Исходник CheckDbf.7z здесь - https://cloud.mail.ru/public/5d315f972a72/MiniGui-Error


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




Пост N: 4523
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.02.15 18:53. Заголовок: Andrey пишет: И сто..


Andrey пишет:

 цитата:
И столкнулся с непоняткой, при переброске записей (зеленый цвет) вылазит синий цвет ?


Собрал пример и такого эффекта не увидел.
Нижний бегунок меняется нормально с синего на зеленый , потом снова синий потом зеленый.
Единственно что когда рисуется зеленый бегунок то он дергается как не нормальный )))))
Синий идет красиво.

PS
Чем принципиально отличается InkeyGUI() от Inkey() ?

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




Пост N: 3982
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.02.15 03:13. Заголовок: Dima пишет: Единств..


Dima пишет:

 цитата:
Единственно что когда рисуется зеленый бегунок то он дергается как не нормальный )))))


Вот это и есть фигня ! Как убрать и в чём дело не знаю !!!

Dima пишет:

 цитата:
Чем принципиально отличается InkeyGUI() от Inkey() ?



Inkey() только для задержки форма висит и всё !
А InkeyGUI() нужно использовать чтобы на форме объекты перерисовались.

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




Пост N: 4524
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 24.02.15 09:53. Заголовок: Andrey Закоменти в ..


Andrey
Закоменти в функции MyCopyBase
строки
cSay := "БД: " + cFile + " " + HB_NtoS(nJ) + "/" + HB_NtoS(nRecnoAll) + " - прошло ХХ:ХХ / осталось ХХ:ХХ"
SetProperty(cStForm,"Label_File2","Value", cSay )

и дергаться перестанет.

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




Пост N: 468
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 24.02.15 13:38. Заголовок: Andrey пишет: Вот э..


Andrey пишет:

 цитата:
Вот это и есть фигня ! Как убрать и в чём дело не знаю



Эта фигня возникает из-за "непрофильного" использования DRAW да еще в цикле.
По сути происходит следующее :
Каждый вызов DRAW помимо того что рисует кусок псевдопрогрессбара на форме, так еще и запоминает в системной переменной MiniGui блок вызова этого самого DRAW с указанными параметрами ( что рисуем, по каким координатам, каким цветом, в каком окне ... )
Это нужно для того чтобы при изменении видимости окна - восстанавливать на нем все эти художества автоматически по сабытиям ( перемещение , прорисовка окна и пр ).
Теперь что происходит в программе ( на пальцах):
Каждый вызов DRAW - запоминает свой кодовый блок , при выводе Label идет перерисовка области окна и .....автоматом идет выполнение ВСЕХ предыдущих прорисовок DRAW отсюlа и моргание.
Достаточно посмотреть исходники h_draw.prg и h_events.prg

это в h_draw
FUNCTION drawrect( window, row, col, row1, col1, penrgb, penwidth, fillrgb )
...
rectdraw( FormHandle, row, col, row1, col1, penrgb, penwidth, fillrgb, fill )
AAdd ( _HMG_aFormGraphTasks , { || rectdraw( FormHandle,row,col,row1,col1,penrgb,penwidth,fillrgb,fill ) } )
...
RETURN nil

это в h_events
CASE WM_PAINT

FOR EACH r In _HMG_aFormHandles
IF _HMG_aFormDeleted [z] == .F.
a := _HMG_aFormGraphTasks [z]
IF ISARRAY ( a ) .AND. Len ( a ) > 0
AEval ( a, { |x| Eval ( x ) } )
ENDIF
ENDIF

NEXT



убрать просто - использовать штатный прогрессбар, или перед вызовом DRAW влепить костыль вида
ASize ( _HMG_aFormGraphTasks [GetFormIndex ( cWindowName )], 0 ), который просто обнуляет массив кодовых блоков DRAW
и при этом НЕ ГАРАНТИРУЕТСЯ корректная работа в последующих версиях MiniGui, и соответственно ГАРАНТИРУЕТСЯ гемморой с поддержкой такой программы у заказчика







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




Пост N: 3983
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.02.15 16:48. Заголовок: Спасибо БОЛЬШОЕ за р..


Спасибо БОЛЬШОЕ за разъяснения Haz
Можно ли тогда в стандартном штатном прогрессбар изменить цвет бегунка ?

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




Пост N: 470
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 24.02.15 16:53. Заголовок: Andrey пишет: Можно..


Andrey пишет:

 цитата:
Можно ли тогда в стандартном штатном прогрессбар изменить цвет бегунка



Условно да, вот из справки по Minigui
Note: SMOOTH, BACKCOLOR & FORECOLOR has no effect when XP-Style is used

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




Пост N: 471
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 24.02.15 17:45. Заголовок: Andrey Если уж хоч..


Andrey
Если уж хочется нестандарта - то рекомендую прогрессбар рисовать фоном стандартного элемента LABEL это сработает и даже быстрее чем DRAW

как демонстрация поправь в своей проге LABEL_1 ( TRANSPORENT УБРАТЬ )
@ 15,10 LABEL Label_1 ;
WIDTH 0 HEIGHT 20 ; //
VALUE cTitle BOLD ;
FONTCOLOR BLACK ;
BACKCOLOR RED ;
CENTERALIGN VCENTERALIGN

а Перед DRAW в custom progress вставь строку
SetProperty( cWindowName, "Label_1", "Width", nFinishCol )

Дальше уверен сам все увидишь

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




Пост N: 3984
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.02.15 21:26. Заголовок: Haz пишет: Если уж ..


Haz пишет:

 цитата:
Если уж хочется нестандарта - то рекомендую прогрессбар рисовать фоном стандартного элемента LABEL это сработает и даже быстрее чем DRAW



Спасибо за идею. Буду пробовать.

А заодно - насчет нестандарта: а LABEL можно сделать какой нибудь - "заливкой" ?
Типа как шапка заголовка в TBROWSE, там 2 цвета используется.



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




Пост N: 4529
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 24.02.15 21:53. Заголовок: Andrey пишет: а LAB..


Andrey пишет:

 цитата:
а LABEL можно сделать какой нибудь - "заливкой" ?



Не оно ?

 
@ <nRow> ,<nCol> LABEL <ControlName>
[ ID <nId> ]
[ OF | PARENT | DIALOG <ParentWindowName> ]
VALUE <cValue>
[ ACTION | ONCLICK | ON CLICK <ActionProcedureName> | <bBlock> ]
[ ON MOUSEHOVER | ONMOUSEHOVER> <OverProcedureName> | <bBlock>
[ ON MOUSELEAVE | ONMOUSELEAVE > <LeaveProcedureName> | <bBlock> ] ;
[ WIDTH <nWidth> ]
[ HEIGHT <nHeight> ]
[ AUTOSIZE ]
[ FONT <cFontname> SIZE <nFontsize> ]
[ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ]
[ TOOLTIP <cToolTipText> ]
[ BACKCOLOR <anBackColort> ]
[ FONTCOLOR <anFontColor>]
[ BORDER ]
[ CLIENTEDGE ]
[ HSCROLL ]
[ VSCROLL ]
[ TRANSPARENT ]
[ BLINK ]
[ RIGHTALIGN | CENTERALIGN ]
[ HELPID <nHelpId> ]
[ INVISIBLE ]




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




Пост N: 472
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 24.02.15 22:28. Заголовок: Andrey пишет: Типа ..


Andrey пишет:

 цитата:
Типа как шапка заголовка в TBROWSE



ну так и делай прогресс из TsBrowsa...
10 мин потратил на пример, дальше сам

++++++++++++++++++++++++++++++++

#include "minigui.ch"
#include "tsbrowse.ch"




Procedure Main()

Public oBrw1
Public aDatos_origen

DEFINE WINDOW Form1 ;
AT 0,0 ;
WIDTH 840 ;
HEIGHT 480 ;
TITLE "TsBrowse Progressbar Test" ;
MAIN ;
FONT 'Tahoma' SIZE 9

Sample1()

END WINDOW

DEFINE TIMER Timer_1 OF Form1 INTERVAL 100 ACTION TimerProc()

ACTIVATE WINDOW Form1

Return

*--------------------------------------------------------------

Function Sample1()

aDatos_origen := {}

AADD( aDatos_origen, {""} )

IF !_IsControlDefined ("oBrw1", "Form1")

DEFINE TBROWSE oBrw1 ;
AT 60,10 ;
OF Form1 ;
WIDTH 800 ;
HEIGHT 30 ;
FONT "Verdana" ;
SIZE 9 ;
GRID

oBrw1:SetArray( aDatos_origen )
oBrw1:nHeightCell := 29
oBrw1:nHeighthEAD := 0
oBrw1:lNoVScroll := .T.
oBrw1:lNoHScroll := .T.

oBrw1:SetColor( { 2 }, { { Rgb( 255, 250, 205 ), Rgb( 200, 200, 200 ) } } )
oBrw1:SetColor( { 6 }, { { RGB( 43, 149, 168 ), RGB( 0, 74, 104 )} } )

ADD COLUMN TO TBROWSE oBrw1 DATA ARRAY ELEMENT 1 SIZE 1


END TBROWSE


ENDIF

Return Nil


Func TimerProc()
oBrw1:SetColSize( 1, oBrw1:aColSizes[1] +5 )
Return nil


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