On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
Vlad04
постоянный участник


Пост N: 420
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 19.12.13 18:16. Заголовок: TsBrowse в Минигуи


TsBrows определяется в виде строки ПАРМЕТРОВ объекта и их значений
К примеру

 цитата:

DEFINE TBROWSE oBrw2 ;
AT 60,450 ;
ALIAS cAlias ;
OF Form1 ;
WIDTH 330 ;
HEIGHT 340 ;
FONT "Verdana" ;
SIZE 9 ;
ON DBLCLICK CopyRec();
ON GOTFOCUS fModelo_Hab(2) ;
AUTOFILTER ;
CELLED EDIT;
VALUE nRec;
GRID


Здесь я собрал параметры из разных tBrows
Можно или нет и какие парметры заменить
выражением ( и каким) ?
oBrw2:....
oBrw2:....



Спасибо: 0 
Профиль
Ответов - 301 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 All [только новые]


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




Пост N: 3553
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.08.14 14:23. Заголовок: SergKis пишет: прид..


SergKis пишет:

 цитата:
придется делать log, что бы уличить их - работы будет не початый край


Да ладно, лог-файл уже есть, сделаем дописку смены шрифта и цвета.
Меня юзера достают, то шрифт им не тот , то цвет не тот. Компы то старые...

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




Пост N: 3554
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.08.14 14:25. Заголовок: Меняю фонт в TBROWSE..


Меняю фонт в TBROWSE:
&cBrw:ChangeFont( aFont[ 1 ], , 1 )
&cBrw:ChangeFont( aFont[ 2 ], , 2 )
&cBrw:ChangeFont( aFont[ 3 ], 1 , 3 )
&cBrw:ChangeFont( aFont[ 4 ], , 4 )

Потом на кнопу "изменить фонты" делаю отдельную функцию смены фонтов.
Как получить установленные фонты в виде массива имен и размеров ?

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




Пост N: 289
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 15.08.14 14:41. Заголовок: Andrey пишет: Как п..


Andrey пишет:

 цитата:
Как получить установленные фонты в виде массива имен и размеров ?



Внимательно изучать примеры и тренировать память

Здесь C:\MiniGUI\SAMPLES\Advanced\RichEditEx

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




Пост N: 3555
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.08.14 15:25. Заголовок: Haz пишет: Внимател..


Haz пишет:

 цитата:
Внимательно изучать примеры и тренировать память
Здесь C:\MiniGUI\SAMPLES\Advanced\RichEditEx



Спасибо за подсказку !


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




Пост N: 3557
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.08.14 23:19. Заголовок: Что-то не получается..


Что-то не получается со шрифтами.

До создания TBROWSE делаю определение фонтов:
STATIC aFont := {}

DEFINE FONT Font_1 FONTNAME "Times New Roman" SIZE 12
DEFINE FONT Font_2 FONTNAME "Times New Roman" SIZE 10 ITALIC
DEFINE FONT Font_3 FONTNAME "Times New Roman" SIZE 10 BOLD
DEFINE FONT Font_4 FONTNAME 'Arial' SIZE 12 ITALIC

AAdd( aFont, GetFontHandle( "Font_1" ) )
AAdd( aFont, GetFontHandle( "Font_2" ) )
AAdd( aFont, GetFontHandle( "Font_3" ) )
AAdd( aFont, GetFontHandle( "Font_4" ) )


Меняю фонт в TBROWSE - см выше.

Потом в другой функции пытаюсь определить заданные фонты TBROWSE:
MsgFile("@Log.txt","aFont=",aFont)
FOR nI := 1 TO 4
hFont := aFont[nI]
aDim := GetFontRTF( hFont, 1 )
MsgFile("@Log.txt", nI,"hFont=",hFont,"aDim=",aDim )
NEXT
------------------------
Результат @Log.txt:
"aFont=", {-2012603099, -1190518991, 1158290916, -989192754}
1, "hFont=", -2012603099, "aDim=", {"D", 65228, .F., .F., 1304580, .F., .F., 49}
2, "hFont=", -1190518991, "aDim=", {"D", 65228, .F., .F., 1304580, .F., .F., 49}
3, "hFont=", 1158290916, "aDim=", {"D", 223941, .F., .F., 1304580, .F., .F., 49}
4, "hFont=", -989192754, "aDim=", {"D", 223941, .F., .F., 1304580, .F., .F., 49}
------------------------

Т.е. не могу получить через функцию GetFontRTF( hFont, 1 ) установленный шрифт.
Что забыл или не так делаю ?



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




Пост N: 290
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 16.08.14 08:27. Заголовок: Andrey пишет: Что з..


Andrey пишет:

 цитата:
Что забыл или не так делаю ?



все не так

там есть rr_getfonts() которая выдает список установленных в системе фонтов
выбираешь нужное ИМЯ и РАЗМЕР

_DefineFont ( "Font_x", "ИМЯ", РАЗМЕР, .F., .F., .F., .F.,, .F. )

далее как и с Font_1 - Font_4, когда Font_x больше не нужен или надо его переопределить используй _ReleaseFont("Font_x")






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




Пост N: 3558
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.08.14 13:27. Заголовок: Haz пишет: там есть..


Haz пишет:

 цитата:
там есть rr_getfonts() которая выдает список установленных в системе фонтов
выбираешь нужное ИМЯ и РАЗМЕР


Эту менюшку я уже сделал !


Мне нужно передать в это меню ТЕКУЩИЕ ФОНТЫ и РАЗМЕР ФОНТА моего TBROWSE.
Вот на этом я и споткнулся.

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




Пост N: 292
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 16.08.14 14:05. Заголовок: может проще запомина..


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

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




Пост N: 3559
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.08.14 14:55. Заголовок: Haz пишет: может пр..


Haz пишет:

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


Ну этот вариант я не рассматривал, т.к. он самый простой...
Хотел сделать по уму, как в других системах.
Да и хотел понять, как делаются такие вещи в программах.

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




Пост N: 293
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 16.08.14 15:16. Заголовок: Andrey пишет: Хотел..


Andrey пишет:

 цитата:
Хотел сделать по уму


ага, а потом будет вопрос как из TSb получить хендл шрифта
по уму это когда максимально просто

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




Пост N: 3560
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.08.14 16:32. Заголовок: Haz пишет: ага, а п..


Haz пишет:

 цитата:
ага, а потом будет вопрос как из TSb получить хендл шрифта


Так этот вопрос я и задавал вверху !


Что-то не получается со шрифтами.

До создания TBROWSE делаю определение фонтов:
STATIC aFont := {}

DEFINE FONT Font_1 FONTNAME "Times New Roman" SIZE 12
DEFINE FONT Font_2 FONTNAME "Times New Roman" SIZE 10 ITALIC
DEFINE FONT Font_3 FONTNAME "Times New Roman" SIZE 10 BOLD
DEFINE FONT Font_4 FONTNAME 'Arial' SIZE 12 ITALIC

AAdd( aFont, GetFontHandle( "Font_1" ) )
AAdd( aFont, GetFontHandle( "Font_2" ) )
AAdd( aFont, GetFontHandle( "Font_3" ) )
AAdd( aFont, GetFontHandle( "Font_4" ) )


Меняю фонт в TBROWSE - см выше.

Потом в другой функции пытаюсь определить заданные фонты TBROWSE:
MsgFile("@Log.txt","aFont=",aFont)
FOR nI := 1 TO 4
hFont := aFont[nI]
aDim := GetFontRTF( hFont, 1 )
MsgFile("@Log.txt", nI,"hFont=",hFont,"aDim=",aDim )
NEXT
------------------------
Результат @Log.txt:
"aFont=", {-2012603099, -1190518991, 1158290916, -989192754}
1, "hFont=", -2012603099, "aDim=", {"D", 65228, .F., .F., 1304580, .F., .F., 49}
2, "hFont=", -1190518991, "aDim=", {"D", 65228, .F., .F., 1304580, .F., .F., 49}
3, "hFont=", 1158290916, "aDim=", {"D", 223941, .F., .F., 1304580, .F., .F., 49}
4, "hFont=", -989192754, "aDim=", {"D", 223941, .F., .F., 1304580, .F., .F., 49}
------------------------

Т.е. не могу получить через функцию GetFontRTF( hFont, 1 ) установленный шрифт.
Что забыл или не так делаю ?




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




Пост N: 294
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 16.08.14 17:01. Заголовок: Andrey пишет: Так э..


Andrey пишет:

 цитата:
Так этот вопрос я и задавал вверху !



и это все сложности ? можно дернуть хендл из obrw:aColumns[n]:hFont или любой из определенных в исходнике TSCOLUMN.PRG
( нужно только в него заглянуть )

DATA hFont // cells font
DATA hFontEdit // edition font
DATA hFontHead // header font
DATA hFontFoot // footer font
DATA hFontSpcHd // special header font

примерно так
hFontHandle := oBrw:aColumns[n]:hFont


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




Пост N: 3561
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.08.14 17:07. Заголовок: Haz пишет: нужно т..


Haz пишет:

 цитата:
нужно только в него заглянуть



Спасибо БОЛЬШОЕ за подсказку !!!

Только мне нужны ТОЛЬКО 4 фонта:
// nLevel 1 = Cells - Фонт ячеек в таблице
// nLevel 2 = Headers - Фонт заголовков таблицы
// nLevel 3 = Footers - Фонт нижнего колонтитула таблицы
// nLevel 4 = SuperHeaders - Фонт составного заголовка таблицы

Или я опять что-то не догоняю....
DATA hFontEdit // edition font - это фонт для редактирования в ячейке ? А почему он не задается в h_tbrowse.prg ?
Эх, значит нужно менюшку другую делать...

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




Пост N: 295
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 17.08.14 08:43. Заголовок: nLevel - это не фонт..


nLevel - это не фонт а то куда его применить . Посмотри в исходнике :ChangeFont()
если упрощенно то там это:

Case nLevel == 1 // nLevel 1 = Cells
::aColumns[ nEle ]:hFont := hFont

Case nLevel == 2 .and. ::lDrawHeaders // nLevel 2 = Headers
::aColumns[ nEle ]:hFontHead := hFont

Case nLevel == 3 .and. ::lFooting .and. lDrawFooters // nLevel 3 = Footers
::aColumns[ nEle ]:hFontFoot := hFont

Case nLevel == 4 .and. ::lDrawSuperHd // nLevel 4 = SuperHeaders
::aSuperHead[ nEle, 7 ] := hFont

другими словами в зависимости от левела запоминаем хендл передаваемого фонта в нужное место. и соответственно его можно прочитать из этого места

PS
там же есть и такой код
if ( FontHandle := GetFontHandle( FontName ) ) != 0
aFont := GetFontParam(FontHandle)
FontName := aFont[1]
FontSize := aFont[2]
bold := aFont[3]
italic := aFont[4]
underline := aFont[5]
strikeout := aFont[6]
endif
т.е. по хендлу получить параметры ( не проверял)

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




Пост N: 3562
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.08.14 10:57. Заголовок: Haz пишет: т.е. по ..


Haz пишет:

 цитата:
т.е. по хендлу получить параметры ( не проверял)



Проверил у себя в TBROWSE:
MsgFile("@Log.txt","aFont=",aFont)
FOR nI := 1 TO 4
hFont := aFont[nI]
aDim := GetFontParam( hFont )
MsgFile("@Log.txt", nI,"hFont=",hFont,"aDim=",aDim )
NEXT
------------------------
Результат @Log.txt:
"aFont=", {587863100, 34214973, 1326059819, -1140188169}
1, "hFont=", 587863100, "aDim=", {"Arial", 9, .F., .F., .F., .F., 0}
2, "hFont=", 34214973, "aDim=", {"Arial", 9, .F., .F., .F., .F., 0}
3, "hFont=", 1326059819, "aDim=", {"Arial", 9, .F., .F., .F., .F., 0}
4, "hFont=", -1140188169, "aDim=", {"Arial", 9, .F., .F., .F., .F., 0}

------------------------
Что-то странное...

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




Пост N: 296
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 17.08.14 11:01. Заголовок: Andrey пишет: Что-т..


Andrey пишет:

 цитата:
Что-то странное...


а что именно странно - везде стоит дефолтом ариэль 9

попробуй так
FontHandle := GetFontHandle( "Font_1") )
aFont := GetFontParam(FontHandle)

Вот исходник из h_font.prg видно что ищет по хендлам определенным в программе
FUNCTION GetFontParam( FontHandle )

LOCAL aFontAttr
LOCAL i := AScan( _HMG_aControlHandles, FontHandle )

aFontAttr := { _HMG_DefaultFontName, _HMG_DefaultFontSize, .F. , .F. , .F. , .F. , 0 }

IF i > 0 .AND. _HMG_aControlType == "FONT"
aFontAttr := { _HMG_aControlFontName , ;
_HMG_aControlFontSize , ;
_HMG_aControlFontAttributes [i, FONT_ATTR_BOLD], ;
_HMG_aControlFontAttributes [i, FONT_ATTR_ITALIC], ;
_HMG_aControlFontAttributes [i, FONT_ATTR_UNDERLINE], ;
_HMG_aControlFontAttributes [i, FONT_ATTR_STRIKEOUT], ;
iif( Len( _HMG_aControlFontAttributes ) == 5, _HMG_aControlFontAttributes [i, FONT_ATTR_ANGLE], 0 ) }
ENDIF

RETURN aFontAttr





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




Пост N: 3563
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.08.14 11:12. Заголовок: Haz пишет: а что им..


Haz пишет:

 цитата:
а что именно странно - везде стоит дефолтом ариэль 9


Вот это и странно !!!
Я же делаю - До создания TBROWSE определение фонтов:
STATIC aFont := {}

DEFINE FONT Font_1 FONTNAME "Times New Roman" SIZE 12
DEFINE FONT Font_2 FONTNAME "Times New Roman" SIZE 10 ITALIC
DEFINE FONT Font_3 FONTNAME "Times New Roman" SIZE 10 BOLD
DEFINE FONT Font_4 FONTNAME 'Arial' SIZE 12 ITALIC

AAdd( aFont, GetFontHandle( "Font_1" ) )
AAdd( aFont, GetFontHandle( "Font_2" ) )
AAdd( aFont, GetFontHandle( "Font_3" ) )
AAdd( aFont, GetFontHandle( "Font_4" ) )


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




Пост N: 297
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 17.08.14 11:14. Заголовок: гдето глюк :sm15: ..


гдето глюк

i := AScan( _HMG_aControlHandles, FontHandle ) не находит хендл

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




Пост N: 3564
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.08.14 11:41. Заголовок: Haz пишет: гдето гл..


Haz пишет:

 цитата:
гдето глюк


Глюк у меня... Опять поторопился.
Исправил переменную, вот получилось нормально:
"aFont=", {1326062803, 336207122, 235543787, -1895163474}
1, "hFont=", 1326062803, "aDim=", {"Times New Roman", 12, .F., .F., .F., .F., 0}
2, "hFont=", 336207122, "aDim=", {"Times New Roman", 10, .F., .T., .F., .F., 0}
3, "hFont=", 235543787, "aDim=", {"Times New Roman", 10, .T., .F., .F., .F., 0}
4, "hFont=", -1895163474, "aDim=", {"Arial", 12, .F., .T., .F., .F., 0}

Спасибо БОЛЬШОЕ !!!
Теперь можно получать фонты.

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




Пост N: 3565
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.08.14 15:41. Заголовок: Вопрос по ширине кол..


Вопрос по ширине колонок в TBROWSE.
Кто как их определяет ?
Можно вручную задавать ширину колонки через переменные, а можно же сделать расчет ширины колонки (шрифт*на длину поля) ?
Или можно для функции LoadFields( cBrw, ParentForm, lEdit, aPoleField) ничего не заполнять, а она сама заполнит ?
Поделитесь опытом...

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