Форум » GUI » TsBrowse в Минигуи (продолжение) » Ответить

TsBrowse в Минигуи (продолжение)

Vlad04: TsBrows определяется в виде строки ПАРМЕТРОВ объекта и их значений К примеру [quote] 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 [/quote] Здесь я собрал параметры из разных tBrows Можно или нет и какие парметры заменить выражением ( и каким) ? oBrw2:.... oBrw2:....

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

Haz: Andrey пишет: Нашёл такую бяку 1 Вопрос : Что сначала ? 1 Считаем размер дырки 2 Делаем все установки для бровса ( шрифты, высоты и пр ) Думаю сейчас порядок такой 1, 2 2 Вопрос : Что покажет функция GetHoleBrowse() после oBrw:Display() ?

Andrey: Haz пишет: 1 Вопрос : Что сначала ? 1 Считаем размер дырки 2 Делаем все установки для бровса ( шрифты, высоты и пр ) Нет ! Делаю как положено: 1) Делаем все установки - ( шрифты, высоты и пр. ) 2) oBrw:Display() // прорисовать второй раз для подсчёта остатка дырки 3) nHole := GetHoleBrowse(oBrw) - 1 При обычном шрифте считает правильно ! При включении БФ (большого фонта) в системе - считает неправильно !

Haz: Andrey пишет: Нет ! Делаю как положено: Андрей выведи чему равно то чего не хватает: 1) cBrw:nHeight := ? 2) cBrw:nHeightHead := 75 3) cBrw:nHeightSuper := ? 4) cBrw:nHeightFoot := 22 5) cBrw:nHeightSpecHd :=? 6) cBrw:nHeightCell := 50 ЗЫ визуально горизонтальный скроллер у тебя тоже 22 ( в расчете дырки он забит как 16 , 6 пикселей не много но есть ) Остального не видно из твоей картинки. Целиком ее дай с шапкой


Andrey: Вот, сделал... 1) Height=516 2) HeightHead=75 3) HeightSuper=0 4) HeightFoot=22 5) HeightSpecHd=0 6) HeightCell=50 GetHoleBrowse()=3 Кол-во строк=7

Haz: Andrey пишет: Вот, сделал... при подстановке цифирь в функцию GetHoleBrowse(... ) дает 19 а никак не 3 !! проверил - реально 3 Ищи что не так передается PS строк должно быть 8 а не 7 Скролл какой высоты ? в расчете дыры забит 16, а на кортинке явно больше чем подвал. Короче капай в сторону высоты скрола и ставь эту высоту в свою функцию, тогда должно все срастись

Andrey: Haz пишет: Короче капай в сторону высоты скрола и ставь эту высоту в свою функцию, тогда должно все срастись Спасибо БОЛЬШОЕ за совет ! Получилось ! Вот функция: //////////////////////////////////////////////////////////// // высота дырки внизу таблицы перед подвалом Function GetHoleBrowse(cBrw) Local nWorkHeight, nHScroll := IIF( LargeFonts(), 24, 16) nWorkHeight := cBrw:nHeight-cBrw:nHeightHead-cBrw:nHeightSuper-; cBrw:nHeightFoot-cBrw:nHeightSpecHd-if(!cBrw:lNoHScroll,nHScroll,0) RETURN (nWorkHeight-Int(nWorkHeight/cBrw:nHeightCell)* cBrw:nHeightCell)

Andrey: Привет всем ! Как получить массив уже созданного суперхидера в таблице ? Поля таблицы знаю как получить. For nI := 1 To oBrw:nColCount() cPole := oBrw:aColumns[nI]:cHeading

SergKis: Andrey так он образуется: AAdd( ::aSuperHead, { nFromCol, nToCol, uHead, nClrText, nClrBack, l3dLook, hFont, uBitMap, lAdjust, nLineStyle, nClrLine, nHAlign, nVAlign, lTransp } )

Andrey: SergKis пишет: так он образуется: AAdd( ::aSuperHead, { nFromCol, nToCol, uHead, nClrText, nClrBack, l3dLook, hFont, uBitMap, lAdjust, nLineStyle, nClrLine, nHAlign, nVAlign, lTransp } ) А как тогда в цикле вывести значения суперхидера ?

SergKis: Andrey Как ты получаешь элементы массива {{...},{...},...} ? глянь MsgDebug(oBrw:aSuperHead)

Andrey: SergKis пишет: глянь MsgDebug(oBrw:aSuperHead) Понял ! Спасибо БОЛЬШОЕ !

Andrey: Всем привет. Как сделать вставку из буфера винды в поля таблицы по клавишам Shift+Insert ?

SergKis: Andrey пишет:Как сделать вставку из буфера винды в поля таблицы по клавишам Shift+Insert ? [pre2] ... oBrw:bUserKeys := {|nKy,nFl,oBr| UserKeyDown(nKy, nFl, oBr) } ... STATIC FUNC UserKeyDown( nKey, nFlag, oBrw ) Local lRet, cBuf If nKey == VK_INSERT .and. _GetKeyState( VK_SHIFT ) cBuf := System.Clipboard // тут обработка cBuf lRet := .F. EndIf RETURN lRet [/pre2]

Andrey: Спасибо БОЛЬШОЕ ! Только наверное это нужно делать в GET - когда ячейка уже редактируется.

Andrey: Как сделать в САМОМ TSBROWSE при редактировании ячеек (только при УЖЕ редактировании, при наличии курсора) вставку/сохранения кармана WINDOWS как во всех других приложениях по клавишам Shift+Insert/Ctrl+Insert и Ctrl+V/Ctrl+С ?

Haz: Andrey пишет: Как сделать в САМОМ TSBROWSE при редактировании ячеек (только при УЖЕ редактировании, при наличии курсора) вставку/сохранения кармана WINDOWS как во всех других приложениях п И так работает , ничего не делел

Andrey: Haz пишет: И так работает , ничего не делел А у меня нет... MiniGUI\SAMPLES\Advanced\Tsb_config - в текстовое поле пытаюсть вставить что в буфере, не вставляется. А в Фаре вставляется... Где и что править ?

Haz: Andrey пишет: не вставляется. в текстовом поле жму Enter - входит в режим GET. потом Shift+Ins CTRL+V и вставляется то что в буфере обмена было. Ничего не правил вообще, продвинутые (которым лень набирать) пользователи с этим работают не один год PS тестил именно в TSB_Config

Andrey: Хрень какая то... В мемо-поле (колонка List) - всё вставляется. Если берем текстовую колонку - Ctrl+V/Ctrl+С РАБОТАЕТ, а Shift+Insert/Ctrl+Insert НЕТ.... У меня 8.1 Буду пробовать на других системах...

SergKis: подтверждаю Ctrl+V тоже работатет. Tsb_config



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