On-line: SergKis, гостей 1. Всего: 2 [подробнее..]
АвторСообщение
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: 3755
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.11.14 13:13. Заголовок: Спасибо, буду разбир..


Спасибо, буду разбираться.
Еще вопрос, в программе делаю:
oBrwClr:nAdjColumn := 3 // растянуть колонку 3 до заполнения пустоты в бровсе справа
oBrw_2:nAdjColumn := 2 // растянуть колонку 2 до заполнения пустоты в бровсе справа


Вот результат:


Но это только при таких параметрах ХР:


Как бороться с такой ситуацией ?
Юзеров же не заставишь переключаться на обычный шрифт...


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




Пост N: 3758
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.11.14 12:39. Заголовок: Т.е. я понял что ник..


Т.е. я понял что никто не знает как бороться с такой ситуацией.

Есть ли для объекта TBROWSE такое же свойство как Enabled Property:
<WindowName>.<ControlName>.Enabled [<nItemNumber>] := lEnabledState ?

Т.е. запретить редактирование, да и переход тоже на TBROWSE.
Или аналогичное свойство ?

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




Пост N: 3764
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.11.14 18:07. Заголовок: Нашел метод. Метод E..


Нашел метод. Метод Enabled() класса TSBrowse
Смотреть здесь (совсем забыл про этот сайт) - http://gustow.narod.ru/tsb_help/50.htm

Спасибо: 0 
Профиль
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 ?


Спасибо: 0 
Профиль
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



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




Пост N: 3766
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.11.14 21:21. Заголовок: Haz пишет: так само..


Haz пишет:

 цитата:
так самого Edit нет же т.к. PrevEdit туда и не пускает возвращая FALSE


Понял, считал что по другому. Спасибо БОЛЬШОЕ за разъяснение !

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




Пост N: 3767
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.11.14 21:24. Заголовок: А как насчет вопроса..


А как насчет вопроса про растягивание колонок при крупном шрифте (120) ?
В программе делаю:
oBrwClr:nAdjColumn := 3 // растянуть колонку 3 до заполнения пустоты в бровсе справа
oBrw_2:nAdjColumn := 2 // растянуть колонку 2 до заполнения пустоты в бровсе справа



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




Пост N: 372
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 26.11.14 22:41. Заголовок: Andrey пишет: крупн..


Andrey пишет:

 цитата:
крупном шрифте (



не знаю, не пользую

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




Пост N: 435
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 27.11.14 12:41. Заголовок: Andrey пишет:А как н..


Andrey пишет:
 цитата:
А как насчет вопроса про растягивание колонок


можно определить из видимых колонок, колонку с max width и для нее устанавливать ширину на +разницу от width окна tsbrowse и суммы других видимых width колонок, используя методы IsColVisible/IsColVis2 (в чем разница не знаю) и SetColSize


Спасибо: 0 
Профиль
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


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




Пост N: 3783
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.11.14 17:10. Заголовок: Опять облом с этим T..


Опять облом с этим TSBrowse....
Взял рабочий пример, переделал на новую новую базу и вылет...
Даже и не знаю где искать ошибку ?
Хотя что-то может и сам намудрил, но в качестве информативности с ошибками TSBrowse заметно уступает терминалке.
Вот такая ошибка:

Строка ошибки: oBrw:Refresh(.T.)
Ставлю перед ошибкой MsgDebug(oBrw:nLen) выдает 0 !
До этого такая ошибка была с наличием БИТОГО индекса, сейчас всё правильно: индекс удаляю, потом заново строю.
И где искать ошибку...
Как бы сделать проверку перед выводом TSBrowse что все в порядке: поля, индексы, фильтр и т.д.

Спасибо: 0 
Профиль
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.)



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




Пост N: 3803
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.12.14 18:50. Заголовок: Подскажите пожалуйст..


Подскажите пожалуйста, какой параметр отвечает за фон при очистке ?


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




Пост N: 3818
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.12.14 21:49. Заголовок: Очень раздражает в н..


Очень раздражает в новом TBrowse мелькание при перерисовке цвета.
В Клипере, да и Харборе были операторы:
dispbegin()
.....
dispend()

Есть ли здесь такие же аналоги ?


Спасибо: 0 
Профиль
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)


Спасибо: 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" )




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




Пост N: 3841
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.12.14 16:28. Заголовок: Haz пишет: все прав..


Haz пишет:

 цитата:
все правильно , ни чё не перепутал ?



Перепутал.
Оказывается, пытаюсь получить координаты еще НЕ НАРИСОВАННОГО (не объявленного) TBROWSE.
Моя ошибка.
Спасибо !

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




Пост N: 4359
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.12.14 16:30. Заголовок: Andrey пишет: Переп..


Andrey пишет: ( Отправлено: Сегодня 02:00)

 цитата:
Перепутал.


Ну так в 2 часа ночи спать надо ;)

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




Пост N: 3842
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.12.14 17:06. Заголовок: Dima пишет: Ну так ..


Dima пишет:

 цитата:
Ну так в 2 часа ночи спать надо ;)


Покой нам только сниться... Все переводом на МиниГуи занимаюсь ! Днем не дают.

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




Пост N: 3849
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.12.14 19:01. Заголовок: Вот опять фигня полу..


Вот опять фигня получается.
Делаю по разному, один TBROWSE (простой) цвет фона рисует, другой основной нет.
Белизна достает, пока меня, но чую если заказчику отдам, то будут меня заказчики просто и сложно доставать.
Народ, подскажите как убрать белизну (цвет фона TBROWSE) если таблица не заполнена или записи фильтруются ?
Вот как на картинке:

Блин http://shot.qip.ru не доступен ....

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