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


Andrey
постоянный участник




Пост N: 3523
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.07.14 18:44. Заголовок: Вот это точно новый ..


Вот это точно новый баг !
Если для объекта ставлю TOOLTIP "" то перестают работать Label_Inf1 и Label_Inf2:
@ 40, 120 LABEL Label_Inf1 VALUE MiniGUIVersion() ;
AUTOSIZE ;
ON CLICK MsgInfo('Label-1 Clicked !') ;
ON MOUSEHOVER ( Rc_Cursor( "MINIGUI_FINGER" ), Form_Main.Label_Inf1.Value := MiniGUIVersion(), ;
iif(lOver, , (Form_Main.Label_Inf1.FontBold := .t., lOver := .T.)) ) ;
ON MOUSELEAVE ( Form_Main.Label_Inf1.FontBold := .f., Form_Main.Label_Inf1.Value := MiniGUIVersion(), lOver := .f. ) ;
FONT 'Arial' SIZE 14 FONTCOLOR YELLOW BACKCOLOR COLOR_BLUE_BLUE


Новый пример тут: https://cloud.mail.ru/public/d17fa3f4f9c1/Menu_ButtonEx_2.7z

Наверно что-то с наложением объектов....
Можно исправить ошибку до выхода новой версии (или всё таки у меня что-то не то в коде) ?

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




Пост N: 630
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 01.08.14 10:24. Заголовок: Andrey пишет: Можно..


Andrey пишет:

 цитата:
Можно исправить ошибку до выхода новой версии (или всё таки у меня что-то не то в коде) ?


Ошибки здесь нет
Вы переназначили свой объект из статического типа в активный, добавив TOOLTIP "", и теперь он обрабатывается в первую очередь, закрывая собой Label_Inf1 и Label_Inf2, которые лежат сверху на этом объекте.
Выход: назначить контексное меню на изначально актмвные объекты Label_Inf1 и Label_Inf2, и вернуть статический тип Вашей цветной метке (т.е. убрать класс TOOLTIP "")

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




Пост N: 3528
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.08.14 21:46. Заголовок: Всем доброго вечера...


Всем доброго вечера.
Помню что где то здесь приводился пример, про то как определить кол-во объектов на форме, чтобы их всех перерисовать.
Не смог найти.
Подскажите пожалуйста какой пример в МиниГуи это демонстрирует ?


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




Пост N: 376
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.08.14 22:39. Заголовок: Andrey пишет:Подскаж..


Andrey пишет:
 цитата:
Подскажите пожалуйста какой пример в МиниГуи это демонстрирует ?


см. ...\BASIC\Form_Controls\demo.prg
Function _GetArrayOfAllControlsForForm ( cFormName )

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




Пост N: 3546
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.08.14 15:07. Заголовок: Есть цвет 15790320 ..


Есть цвет 15790320 - как его превратить в массив {} ? Есть ли такая функция в МиниГуи ?

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




Пост N: 286
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 14.08.14 18:47. Заголовок: Andrey пишет: как е..


Andrey пишет:

 цитата:
как его



FUNC N2RGB(nColor)

LOCAL nR := 0
LOCAL nG := 0
LOCAL nB := 0
LOCAL cColor := NTOC(nColor, 16)
nR := CTON(SUBSTR( cColor, 5, 2 ), 16)
nG := CTON(SUBSTR( cColor, 3, 2 ), 16)
nB := CTON(SUBSTR( cColor, 1, 2 ), 16)
RETURN {nR, nG, nB }

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




Пост N: 3547
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.08.14 21:24. Заголовок: Haz пишет: FUNC N2R..


Haz пишет:

 цитата:
FUNC N2RGB(nColor)


Спасибо БОЛЬШОЕ !

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




Пост N: 3548
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.08.14 00:43. Заголовок: Собираю программу по..


Собираю программу под Win-8.1, запускаю на Win-XP и по бокам внизу остаётся фон формы:


А под Win8 всё нормально:


Методом подбора сделал окно TBROWSE вплотную к линии STATUSBAR и по ширине окна формы !
CreateBrowse( "oBrw_1", 'Form_0', 32, 2, Form_0.Width-19, Form_0.Height-93, 'LOG_DBF' )

Как исправить положение ? Как сделать, чтобы на всех компах было красиво ?
Пробовал использовать функцию IsXPThemeActive(), но она под 8-кой выдает тоже .T. !


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




Пост N: 383
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.08.14 09:01. Заголовок: Andrey пишет:Как исп..


Andrey пишет:
 цитата:
Как исправить


попробуй использовать:
Скрытый текст

GETCLIENTHEIGHT(0) - высота клиентской (внутренней) области Desktop с учетом наличия строки Start
GETCLIENTWIDTH(0) - ширина клиентской (внутренней) области Desktop
GETCLIENTHEIGHT(hWnd) - высота клиентской (внутренней) области окна (или контрола)
GETCLIENTWIDTH(hWnd) - ширина клиентской (внутренней) области окна (или контрола)
т.е.:
hWnd := GetFormHandle('Form_0')
CreateBrowse( "oBrw_1", 'Form_0', 32, 2, GetClientWidth(hWnd), GetClientHeight(hWnd), 'LOG_DBF' )


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




Пост N: 3549
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.08.14 11:00. Заголовок: SergKis пишет: попр..


SergKis пишет:

 цитата:
попробуй использовать:


Спасибо БОЛЬШОЕ за оперативность !

А как узнать размер STATUSBAR у себя в программе ?
А то Browse по самый низ располагается.

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




Пост N: 384
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.08.14 11:42. Заголовок: Andrey пишет:Как исп..


Andrey пишет:
 цитата:
Как исправить


другой способ (расчет):
GetWindowWidth(hWnd) - ширина внешней области окна (или контрола)
GetWindowHeight(hWnd)- высота внешней области окна (или контрола)
т.е.:
hWnd := GetFormHandle('Form_0')
nClientWidth := GetWindowWidth(hWnd) - 2*GetBorderWidth() // если есть рамка вокруг окна
nClientHeight := GetWindowHeight(hWd) - 2*GetBorderHeight() // --"---"---
nClientHeight -= GetTitleHeight() // если есть title окна
nClientHeight -= GetMenuBarHeight() // если есть меню
nClientHeight -= GetWindowHeight(GetControlHandle('STATUSBAR', 'Form_0')) // высота StatusBar
при наличии ToolBar, то в обоих (из пред. моего поста тоже) случаях надо отнимать его размер
как то так, если что то не забыл учесть.
для окна начальные значения можно взять Form_0.Width, Form_0.Height, для MAIN Application.Width, Application.Height


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




Пост N: 3550
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.08.14 12:42. Заголовок: SergKis пишет: nCli..


SergKis пишет:

 цитата:
nClientHeight -= GetWindowHeight(GetControlHandle('STATUSBAR', 'Form_0')) // высота StatusBar


То что нужно ! Спасибо БОЛЬШОЕ !

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




Пост N: 385
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.08.14 13:12. Заголовок: Andrey пишет:То что ..


Andrey пишет:
 цитата:
То что нужно


StatusBar - контрол, значит можно и Form_0.StatusBar.Height - по правилам OOP MiniGui

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




Пост N: 3579
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.08.14 12:01. Заголовок: Всем привет. Вопрос ..


Всем привет.
Вопрос по шрифтам в программе.
Если я у себя объявляю фонты в справочнике:
DEFINE FONT Font_1 FONTNAME "Times New Roman" SIZE nSize1
DEFINE FONT Font_2 FONTNAME "Times New Roman" SIZE nSize2 BOLD ITALIC
DEFINE FONT Font_3 FONTNAME "Times New Roman" SIZE nSize3 BOLD
DEFINE FONT Font_4 FONTNAME 'Arial' SIZE nSize4 ITALIC
DEFINE FONT Font_5 FONTNAME 'Tahoma' SIZE nSize5 BOLD
и оставляю это окно открытым, то при открытие основной таблицы - НЕЛЬЗЯ заново определить другие шрифты с именами:
Font_1, Font_2 и т.д.

Как нужно определять шрифты у себя в программе ? Т.е. опредилить их всех в начале программы с разными именами, или каждый раз убивать шрифты при выходе из окна или еще как ?

Поясните пожалуйста как нужно работать с ними.

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




Пост N: 393
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.08.14 12:35. Заголовок: Andrey а если так в..


Andrey
а если так в новом окне:
#define Font_1 Font_7
#define Font_2 Font_8

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




Пост N: 3580
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.08.14 12:40. Заголовок: SergKis пишет: а ес..


SergKis пишет:

 цитата:
а если так в новом окне:


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

А вообще как правильно делать - работать со шрифтами ?
Я же перевожу свою программу с терминалки, и не знаю как лучше.



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




Пост N: 394
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.08.14 12:48. Заголовок: Andrey пишет:Я же пе..


Andrey пишет:
 цитата:
Я же перевожу свою программу с терминалки


у тебя в терминалке много фонтов ?
мне хватает:
#command SET FONT TO <fontname> , <fontsize> => _HMG_DefaultFontName := <fontname> ; _HMG_DefaultFontSize := <fontsize>
и фонта на окно, который устанавливается (и наследуется на конролах):
_HMG_ActiveFontName := IFCHARACTER( FontName, FontName, "" )
_HMG_ActiveFontSize := IFNUMBER( FontSize, FontSize, 0 )
и пару заголовков Times New Roman, указанных конкретно

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




Пост N: 3581
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.08.14 13:04. Заголовок: SergKis пишет: у те..


SergKis пишет:

 цитата:
у тебя в терминалке много фонтов ?


Да пару всего....
Просто я в TSBROWSE использовал 5 (как в примерах) , попытался открыть другой TSBROWSE и облом, там тоже
определено 5 шрифтов. Вот и выходит конфликт шрифтов.
А можно как нибудь проверить - установлен ли шрифт Font_1 ?
И как можно получить размер шрифта ?

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




Пост N: 395
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.08.14 13:12. Заголовок: Andrey пишет:А можно..


Andrey пишет:
 цитата:
А можно как нибудь проверить - установлен ли шрифт Font_1


hFont := GetFontHandle( FontName ) // даст handle или 0
и глянь i_font.ch

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




Пост N: 3582
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.08.14 15:07. Заголовок: SergKis пишет: и гл..


SergKis пишет:

 цитата:
и глянь i_font.ch


Спасибо !

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