Автор | Сообщение |
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: 3755
Зарегистрирован: 12.09.06
|
|
Отправлено: 25.11.14 13:13. Заголовок: Спасибо, буду разбир..
Спасибо, буду разбираться. Еще вопрос, в программе делаю: oBrwClr:nAdjColumn := 3 // растянуть колонку 3 до заполнения пустоты в бровсе справа oBrw_2:nAdjColumn := 2 // растянуть колонку 2 до заполнения пустоты в бровсе справа Вот результат: Но это только при таких параметрах ХР: Как бороться с такой ситуацией ? Юзеров же не заставишь переключаться на обычный шрифт...
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3758
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.11.14 12:39. Заголовок: Т.е. я понял что ник..
Т.е. я понял что никто не знает как бороться с такой ситуацией. Есть ли для объекта TBROWSE такое же свойство как Enabled Property: <WindowName>.<ControlName>.Enabled [<nItemNumber>] := lEnabledState ? Т.е. запретить редактирование, да и переход тоже на TBROWSE. Или аналогичное свойство ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3764
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.11.14 18:07. Заголовок: Нашел метод. Метод E..
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3765
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.11.14 19:26. Заголовок: Haz пишет: Она не м..
Haz пишет: цитата: | Она не может не работать , bPostEdit автоматически выполняется после редактирования Проверь вызов , oBrwClr:aColumns[4]:bPostEdit := { || MsgDebug('ДО'), ViewColorTbrws(oBrwClr,4,aVar), MsgDebug('ПОСЛЕ') } Скорее в логике проблема. |
| Посмотрел. Ничего не понял. Пример у тебя есть. Я делаю последовательно в коде: // редактирование 4-колонки и перерисовка цвета после его изменения oBrwClr:aColumns[4]:bPrevEdit := { || ColorPicker(oBrwClr), oBrwClr:Refresh(FALSE), FALSE } oBrwClr:aColumns[4]:bPostEdit := { || MsgDebug("DO"),ViewColorTbrws(oBrwClr,4,aVar),MsgDebug("Posle") } :bPrevEdit - отработало нормально, а :bPostEdit вообще не отрабатывает ! Т.е. я хотел бы чтобы после изменения цвета выполнялась функция перерисовки цвета по таблице. Хотя можно эту функцию засунуит и после oBrwClr:Refresh(FALSE). За что отвечает bPostEdit ?
|
|
|
Haz
|
| |
Пост N: 371
Зарегистрирован: 20.02.11
|
|
Отправлено: 26.11.14 21:11. Заголовок: Andrey пишет: а :b..
Andrey пишет: цитата: | а :bPostEdit вообще не отрабатывает ! |
| так самого Edit нет же т.к. PrevEdit туда и не пускает возвращая FALSE в этом и есть проблема в логике - выполнение назначается на условие - которое не наступит Andrey пишет: цитата: | Хотя можно эту функцию засунуит и после oBrwClr:Refresh(FALSE). |
| туда и нужно засунуть Andrey пишет: цитата: | За что отвечает bPostEdit ? |
| TSCOLUMN.PRG DATA bPrevEdit // Action to be performed before editing cell DATA bPostEdit // Action to be performed after editing cell
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3766
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.11.14 21:21. Заголовок: Haz пишет: так само..
Haz пишет: цитата: | так самого Edit нет же т.к. PrevEdit туда и не пускает возвращая FALSE |
| Понял, считал что по другому. Спасибо БОЛЬШОЕ за разъяснение !
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3767
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.11.14 21:24. Заголовок: А как насчет вопроса..
А как насчет вопроса про растягивание колонок при крупном шрифте (120) ? В программе делаю: oBrwClr:nAdjColumn := 3 // растянуть колонку 3 до заполнения пустоты в бровсе справа oBrw_2:nAdjColumn := 2 // растянуть колонку 2 до заполнения пустоты в бровсе справа
|
|
|
Haz
|
| |
Пост N: 372
Зарегистрирован: 20.02.11
|
|
Отправлено: 26.11.14 22:41. Заголовок: Andrey пишет: крупн..
Andrey пишет: не знаю, не пользую
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 435
Зарегистрирован: 17.02.12
|
|
Отправлено: 27.11.14 12:41. Заголовок: Andrey пишет:А как н..
Andrey пишет: цитата: | А как насчет вопроса про растягивание колонок |
| можно определить из видимых колонок, колонку с max width и для нее устанавливать ширину на +разницу от width окна tsbrowse и суммы других видимых width колонок, используя методы IsColVisible/IsColVis2 (в чем разница не знаю) и SetColSize
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3779
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.11.14 10:33. Заголовок: Andrey пишет: А как..
Andrey пишет: цитата: | А как насчет вопроса про растягивание колонок при крупном шрифте (120) ? |
| Поборол эту ситуацию ! Сделал свою функцию под это дело и применяю в различных случаях после назначения растяжки: oBrwClr:nAdjColumn := 3 // растянуть колонку 3 до заполнения пустоты в бровсе справа // Если включен БОЛЬШОЙ ШРИФТ, то добавить 170 пикселей для oBrwClr:nAdjColumn MyAdjColumn( oBrwClr, 170 ) oBrw_2:nAdjColumn := 2 // растянуть колонку 2 до заполнения пустоты в бровсе справа // Если включен БОЛЬШОЙ ШРИФТ, то добавить 230 пикселей для oBrw_2:nAdjColumn MyAdjColumn( oBrw_2, 230 ) ////////////////////////////////////////////////////////////////// STATIC PROCEDURE MyAdjColumn( oBrw, nAdd ) LOCAL nWidth, nCell := oBrw:nAdjColumn // включена ли растяжка на колонку IF LargeFonts() .AND. nCell > 0 nWidth := oBrw:GetColSizes()[nCell] oBrw:SetColSize( nCell, nWidth + nAdd ) // новая ширина колонкм ENDIF RETURN
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3783
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.11.14 17:10. Заголовок: Опять облом с этим T..
Опять облом с этим TSBrowse.... Взял рабочий пример, переделал на новую новую базу и вылет... Даже и не знаю где искать ошибку ? Хотя что-то может и сам намудрил, но в качестве информативности с ошибками TSBrowse заметно уступает терминалке. Вот такая ошибка: Строка ошибки: oBrw:Refresh(.T.) Ставлю перед ошибкой MsgDebug(oBrw:nLen) выдает 0 ! До этого такая ошибка была с наличием БИТОГО индекса, сейчас всё правильно: индекс удаляю, потом заново строю. И где искать ошибку... Как бы сделать проверку перед выводом TSBrowse что все в порядке: поля, индексы, фильтр и т.д.
|
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3802
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.12.14 18:44. Заголовок: Andrey пишет: И где..
Andrey пишет: Нашёл ошибку. Поставил свою проверку перед oBrw:Refresh(.T.) IF oBrw:nLen == 0 // для отладки, чтобы искать ошибки MsgDebug("Условие отбора TBROWSE == 0 !","DbSetFilter=",DBFILTER()) ELSE //MsgDebug("Условие отбора TBROWSE == ", oBrw:nLen ,"DbSetFilter=",DBFILTER()) ENDIF oBrw:Refresh(.T.)
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3803
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.12.14 18:50. Заголовок: Подскажите пожалуйст..
Подскажите пожалуйста, какой параметр отвечает за фон при очистке ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3818
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.12.14 21:49. Заголовок: Очень раздражает в н..
Очень раздражает в новом TBrowse мелькание при перерисовке цвета. В Клипере, да и Харборе были операторы: dispbegin() ..... dispend() Есть ли здесь такие же аналоги ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3840
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.12.14 02:00. Заголовок: Как получить координ..
Как получить координаты TBROWSE в окне для отдельной функции ? PUBLIC oBrw DEFINE TBROWSE oBrw ; AT 20,20 ; WIDTH GetClientWidth(hWnd)-40 ; HEIGHT GetClientHeight(hWnd)-10 ; ..... /////////////////////////////// Function DopWin() MsgDebug( oBrw:nLeft , oBrw:nTop ) Выдает ошибку: Error BASE/1004 Метод не экспортирован: NLEFT Called from NLEFT(0)
|
|
|
Haz
|
| |
Пост N: 402
Зарегистрирован: 20.02.11
|
|
Отправлено: 15.12.14 10:54. Заголовок: Andrey пишет: Как п..
Andrey пишет: цитата: | Как получить координаты TBROWSE в |
| все правильно , ни чё не перепутал ? Andrey пишет: цитата: | Function DopWin() MsgDebug( oBrw:nLeft , oBrw:nTop ) |
| можно явно MEMVAR oBrw MsgDebug( oBrw:nLeft , oBrw:nTop ) ` или через GetProperty( "Form", "oBrw", "nTop" )
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3841
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.12.14 16:28. Заголовок: Haz пишет: все прав..
Haz пишет: цитата: | все правильно , ни чё не перепутал ? |
| Перепутал. Оказывается, пытаюсь получить координаты еще НЕ НАРИСОВАННОГО (не объявленного) TBROWSE. Моя ошибка. Спасибо !
|
|
|
Dima
|
| |
Пост N: 4359
Зарегистрирован: 17.05.05
|
|
Отправлено: 15.12.14 16:30. Заголовок: Andrey пишет: Переп..
Andrey пишет: ( Отправлено: Сегодня 02:00) Ну так в 2 часа ночи спать надо ;)
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3842
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.12.14 17:06. Заголовок: Dima пишет: Ну так ..
Dima пишет: цитата: | Ну так в 2 часа ночи спать надо ;) |
| Покой нам только сниться... Все переводом на МиниГуи занимаюсь ! Днем не дают.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3849
Зарегистрирован: 12.09.06
|
|
Отправлено: 18.12.14 19:01. Заголовок: Вот опять фигня полу..
Вот опять фигня получается. Делаю по разному, один TBROWSE (простой) цвет фона рисует, другой основной нет. Белизна достает, пока меня, но чую если заказчику отдам, то будут меня заказчики просто и сложно доставать. Народ, подскажите как убрать белизну (цвет фона TBROWSE) если таблица не заполнена или записи фильтруются ? Вот как на картинке: Блин http://shot.qip.ru не доступен ....
|
|
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|