Автор | Сообщение |
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:....
| |
|
Ответов - 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, что бы уличить их - работы будет не початый край |
| Да ладно, лог-файл уже есть, сделаем дописку смены шрифта и цвета. Меня юзера достают, то шрифт им не тот , то цвет не тот. Компы то старые...
| |
|
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 ) Потом на кнопу "изменить фонты" делаю отдельную функцию смены фонтов. Как получить установленные фонты в виде массива имен и размеров ?
| |
|
Haz
|
| |
Пост N: 289
Зарегистрирован: 20.02.11
|
|
Отправлено: 15.08.14 14:41. Заголовок: Andrey пишет: Как п..
Andrey пишет: цитата: | Как получить установленные фонты в виде массива имен и размеров ? |
| Внимательно изучать примеры и тренировать память Здесь C:\MiniGUI\SAMPLES\Advanced\RichEditEx
| |
|
Andrey
|
| постоянный участник
|
Пост N: 3555
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.08.14 15:25. Заголовок: Haz пишет: Внимател..
Haz пишет: цитата: | Внимательно изучать примеры и тренировать память Здесь C:\MiniGUI\SAMPLES\Advanced\RichEditEx |
| Спасибо за подсказку !
| |
|
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 ) установленный шрифт. Что забыл или не так делаю ?
| |
|
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")
| |
|
Andrey
|
| постоянный участник
|
Пост N: 3558
Зарегистрирован: 12.09.06
|
|
Отправлено: 16.08.14 13:27. Заголовок: Haz пишет: там есть..
Haz пишет: цитата: | там есть rr_getfonts() которая выдает список установленных в системе фонтов выбираешь нужное ИМЯ и РАЗМЕР |
| Эту менюшку я уже сделал ! Мне нужно передать в это меню ТЕКУЩИЕ ФОНТЫ и РАЗМЕР ФОНТА моего TBROWSE. Вот на этом я и споткнулся.
| |
|
Haz
|
| |
Пост N: 292
Зарегистрирован: 20.02.11
|
|
Отправлено: 16.08.14 14:05. Заголовок: может проще запомина..
может проще запоминать где нить какие шрифты назначил для бровса, чем по хендлу ( который кстати ранее назначается именно именем и размером ) получить тоже имя и размер
| |
|
Andrey
|
| постоянный участник
|
Пост N: 3559
Зарегистрирован: 12.09.06
|
|
Отправлено: 16.08.14 14:55. Заголовок: Haz пишет: может пр..
Haz пишет: цитата: | может проще запоминать где нить какие шрифты назначил для бровса, чем по хендлу |
| Ну этот вариант я не рассматривал, т.к. он самый простой... Хотел сделать по уму, как в других системах. Да и хотел понять, как делаются такие вещи в программах.
| |
|
Haz
|
| |
Пост N: 293
Зарегистрирован: 20.02.11
|
|
Отправлено: 16.08.14 15:16. Заголовок: Andrey пишет: Хотел..
Andrey пишет: ага, а потом будет вопрос как из TSb получить хендл шрифта по уму это когда максимально просто
| |
|
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 ) установленный шрифт. Что забыл или не так делаю ?
| |
|
|
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
| |
|
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 ? Эх, значит нужно менюшку другую делать...
| |
|
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 т.е. по хендлу получить параметры ( не проверял)
| |
|
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} ------------------------ Что-то странное...
| |
|
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
| |
|
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" ) )
| |
|
Haz
|
| |
Пост N: 297
Зарегистрирован: 20.02.11
|
|
Отправлено: 17.08.14 11:14. Заголовок: гдето глюк :sm15: ..
гдето глюк i := AScan( _HMG_aControlHandles, FontHandle ) не находит хендл
| |
|
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} Спасибо БОЛЬШОЕ !!! Теперь можно получать фонты.
| |
|
Andrey
|
| постоянный участник
|
Пост N: 3565
Зарегистрирован: 12.09.06
|
|
Отправлено: 17.08.14 15:41. Заголовок: Вопрос по ширине кол..
Вопрос по ширине колонок в TBROWSE. Кто как их определяет ? Можно вручную задавать ширину колонки через переменные, а можно же сделать расчет ширины колонки (шрифт*на длину поля) ? Или можно для функции LoadFields( cBrw, ParentForm, lEdit, aPoleField) ничего не заполнять, а она сама заполнит ? Поделитесь опытом...
| |
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|
|