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 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


Петр
постоянный участник


Пост N: 1384
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 17.12.16 20:44. Заголовок: Haz пишет: Это все..


Haz пишет:

 цитата:
Это все не системно. Может открыть тему Проблема TS - варианты - решение.


Как-то я не могу правильно сформулировать свое отношение к предложению.

Ну во-первых, скажу честно, tsbrowse я не использую.
Поэтому о проблемах TS могу прочитать только на форуме.

Т.е. допустим смотрю в код - да, возможно я бы не так написал, но ведь работает..
Или, допустим вопрос поднятый Димой, он вообще-то не к TS относился, за использование ресурсов GUI приложением отвечает разработчик.

Во-вторых, вроде никто и не запрещает и сейчас открывать темы - но как-то не задалось, наверное.
И так что-бы кто-то внятно описал проблему да еще привел пример - нет не видел


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


Пост N: 1385
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 17.12.16 20:56. Заголовок: ММК пишет: С учетом..


ММК пишет:

 цитата:
С учетом того , что все другие бровсы работают нормально есть смысл посмотреть их и сравнить с TS.


Это не о MiniGUI, все остальные бровсы построены на LISTVIEW и обладают ограниченой функциональностью в сравнении с TS или другими словами в MiniGUI есть над чем поработать
ММК пишет:

 цитата:
Менется , если убирать утечки памяти , хотя возникает она и без использования иконок.


Утечка памяти это не абстрактное понятие, все утечки (памяти, USER - GDI object) можно как-то выявить и попытаться локализировать.
ММК пишет:

 цитата:
Ведь если оставлять этот бровс , то в него еще придется много чего добавлять


Опять же, мне кажется, что это не про MiniGUI, на текущем этапе развития TS нет чем заменить.


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


Пост N: 264
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 18.12.16 10:42. Заголовок: Петр пишет:  цитат..


Петр пишет:

 цитата:

 цитата:
С учетом того , что все другие бровсы работают нормально есть смысл посмотреть их и сравнить с TS.


Это не о MiniGUI, все остальные бровсы построены на LISTVIEW и обладают ограниченой функциональностью в сравнении с TS или другими словами в MiniGUI есть над чем поработать



TS был написан лет десять назад для FW. Мануэль Меркадо красиво написал, выложил все исходники , но довести уже не хватило здоровья ( в прямом смысле ). В FW это не единственный бровс поэтому есть с чем сравнивать и ,наверное, есть смысл т.к. эта проблема сохранилась с тех времен.

Петр пишет:

 цитата:
Утечка памяти это не абстрактное понятие, все утечки (памяти, USER - GDI object) можно как-то выявить и попытаться локализировать.



Конечно. Здесь все понятно. Это просто моя неудачная попытка донести свое мнение :) Что проблема связана не с утечкой и не с временной задержкой.
Петр пишет:


 цитата:
Опять же, мне кажется, что это не про MiniGUI, на текущем этапе развития TS нет чем заменить.



:)

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




Пост N: 5271
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.12.16 15:24. Заголовок: Всем привет ! Как от..


Всем привет !
Как отцентровать шапку таблицы ?

Для ячеек таблицы нашёл как сделать:
         oBrw1:aColumns[5]:nAlign  := nMakeLong( DT_CENTER, DT_CENTER ) 
oBrw1:aColumns[5]:nHAlign := nMakeLong( DT_CENTER, DT_CENTER )


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




Пост N: 6222
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.12.16 15:27. Заголовок: Andrey пишет: oBrw1..


Andrey пишет:

 цитата:
oBrw1:aColumns[5]:nHAlign := nMakeLong( DT_CENTER, DT_CENTER )


сам и ответил

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




Пост N: 5272
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.12.16 16:05. Заголовок: Dima пишет: сам и о..


Dima пишет:

 цитата:
сам и ответил


Не центрует в шапке таблицы картинку ! Может по другому надо ?

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




Пост N: 6223
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.12.16 16:45. Заголовок: у меня примерно так ..


у меня примерно так и вроде ж по центру.

oBrw3:GetColumn("prm"):uBmpHead :=abmp3h[2]
oBrw3:GetColumn("prm"):cHeading :=""
oBrw3:SetColSize("prm", 25 )
oBrw3:GetColumn("prm"):nhAlign :=nMakeLong( DT_CENTER, DT_CENTER )


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




Пост N: 5275
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.12.16 15:37. Заголовок: Dima пишет: у меня ..


Dima пишет:

 цитата:
у меня примерно так и вроде ж по центру.


Попробуй 3 штуки (картинки) подряд вывести в заголовок таблицы. Как получиться ?
У меня 1-я картинка центрируется, остальные нет.

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




Пост N: 6226
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.12.16 15:59. Заголовок: Andrey пишет: У мен..


Andrey пишет:

 цитата:
У меня 1-я картинка центрируется, остальные нет


что то не так закодил
Пример для одной колонки
 
oBrw3:GetColumn( "dels" ):uBmpCell :={|| if( (oBrw3:calias)->dels,abmp3[1],NIL) }
oBrw3:GetColumn( "dels" ):lCheckBox := FALSE
oBrw3:GetColumn( "dels" ):nAlign :=nMakeLong( DT_CENTER, DT_CENTER )
oBrw3:GetColumn( "dels" ):bdata:={||""}
oBrw3:GetColumn("dels"):uBmpHead :=abmp3h[1]
oBrw3:GetColumn("dels"):cHeading :=""
oBrw3:SetColSize("dels", 25 ) // пробовал 125 - центрует норм
oBrw3:GetColumn("dels"):nhAlign :=nMakeLong( DT_CENTER, DT_CENTER )


В бровсе у меня 2 колонки у которых в Header живет BMP , все по центру.
Возможно сама BMP у тебя "широкая"

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




Пост N: 5276
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.12.16 16:36. Заголовок: Dima пишет: Возможн..


Dima пишет:

 цитата:
Возможно сама BMP у тебя "широкая"


Да нет - все одинаковые 28 пикселей.
У меня 4 колонки с картинками.
В ячейках нормально центрируются, в шапке таблицы 2 центрируются, 2 нет.



Поменял местами и ГЛЮК вылез опять - центрирование в шапке работает только на 2 колонки !



Попробуй у себя добавить (сделать дубль) ещё 2х колонок с картинками....


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




Пост N: 6227
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.12.16 16:48. Заголовок: Дай полный код 2 и 4..


Дай полный код 2 и 4 колонки

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




Пост N: 5277
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.12.16 17:59. Заголовок: Вот код, обработка п..


Вот код, обработка полей в цикле:
     FOR nI := 1 TO LEN(aPole) 

nJ++
ADD COLUMN TO TBROWSE oBrw1 // добавить новую колонку в TBROWSE
........
oBrw1:aColumns[nJ]:lEdit := .T.
........
If cTypeField == "L" // для полей Logic
oBrw1:aColumns[nJ]:cHeading := "" // заголовок колонки обнулить
oBrw1:SetColSize( nJ, 48 ) // ширина колонкм
oCol := oBrw1:aColumns[nJ]
oCol:lCheckBox := .T. // virtual checkbox
oCol:nEditMove := 0
oCol:cPicture := "" // шаблон колонки убрать
oCol:cDataType := "L" // !!!
IF cField == "MARK"
oCol:uBmpCell := {|| IF( (ALIAS())->MARK, LoadImage("tbCheckT28"), ) }
oCol:uBmpHead := {|| LoadImage( "tbCheckF28" ) } // картинка шапки таблицы
oCol:aBitMaps := { LoadImage("tbCheckT28") }
ELSEIF cField == "PRINT"
oCol:uBmpCell := {|| IF( (ALIAS())->PRINT, LoadImage( "TBPRINT32" ), ) }
oCol:uBmpHead := {|| LoadImage( "tbPrint32" ) } // картинка шапки таблицы
oCol:aBitMaps := { LoadImage("TBPRINT32") }
ELSEIF cField == "MAIL1"
oCol:uBmpCell := {|| IF( (ALIAS())->MAIL1, LoadImage( "tbMail32" ), ) }
oCol:uBmpHead := {|| LoadImage( "tbMail32" ) } // картинка шапки таблицы
oCol:aBitMaps := { LoadImage( "tbMail32" ) }
ELSEIF cField == "MAIL2"
oCol:uBmpCell := {|| IF( (ALIAS())->MAIL2, LoadImage( "tbMail32R" ), ) } // картинка в ячейке
oCol:uBmpHead := {|| LoadImage( "tbMail32R" ) } // картинка шапки таблицы
oCol:aBitMaps := { LoadImage( "tbMail32R" ) }
ENDIF
oCol:bData := {||Nil}
oCol:cData := '{||Nil}'
oCol:nAlign := nMakeLong( DT_CENTER, DT_CENTER )
oCol:nHAlign := nMakeLong( DT_CENTER, DT_CENTER )
// обработка до ввода
// обработка после ввода
Else
.........
NEXT


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




Пост N: 6228
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.12.16 18:09. Заголовок: Andrey пишет: oCol:..


Andrey пишет:

 цитата:
oCol:uBmpHead := {|| LoadImage( "tbMail32" ) } // картинка шапки таблицы
oCol:aBitMaps := { LoadImage( "tbMail32" ) }


А вот при таком подходе у тебя будет утечка памяти и уже в этой теме обсуждали.

Сделай не в цикле , что то там не стыкуется.
Ты ведь в начале писал что центруется правильно только второй Header , остальные нет.
По факту правильно отцентрованы 2 и 3 Header

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




Пост N: 5278
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.12.16 18:45. Заголовок: Dima пишет: Сделай ..


Dima пишет:

 цитата:
Сделай не в цикле , что то там не стыкуется.


Поля все в настройках, без цикла сделать не возможно....

Dima пишет:

 цитата:
По факту правильно отцентрованы 2 и 3 Header



На картинках же видно 3 и 4 Header не отцентрованы !

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




Пост N: 6229
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.12.16 22:31. Заголовок: Andrey пишет: nJ++..


Andrey пишет:

 цитата:
nJ++
ADD COLUMN TO TBROWSE oBrw1 // добавить новую колонку в TBROWSE
........
oBrw1:aColumns[nJ]:lEdit := .T.


Перенеси это код после
Andrey пишет:

 цитата:
If cTypeField == "L" // для полей Logic


+ после ELSE скопируй

Весь код не видно ........я не телепат

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




Пост N: 5279
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.12.16 11:53. Заголовок: Dima пишет: Весь ко..


Dima пишет:

 цитата:
Весь код не видно ........я не телепат



Код как в Tsb_config.


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




Пост N: 6232
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.12.16 13:30. Заголовок: Andrey Сколько ты т..


Andrey
Сколько ты там сутки уже справиться не можешь ? Смейся дальше...
Сделай простой пример без цикла и убедись что Header с BMP нормально центруется.

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




Пост N: 5280
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.12.16 16:32. Заголовок: Dima пишет: Сделай ..


Dima пишет:

 цитата:
Сделай простой пример без цикла и убедись что Header с BMP нормально центруется.


Этот пример уже сделал. Центрируется нормально.
В цикле не центрируется...
Пока бросил с этим разбираться, другая работа появилась.

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




Пост N: 6233
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.12.16 16:40. Заголовок: Andrey пишет: Этот ..


Andrey пишет:

 цитата:
Этот пример уже сделал. Центрируется нормально.
В цикле не центрируется...




Спасибо: 0 
Профиль
i3t4j6



Пост N: 135
Зарегистрирован: 12.06.06
ссылка на сообщение  Отправлено: 07.02.17 17:42. Заголовок: Добрый день! Начиная..


Добрый день!
Начиная с декабрьской версии стала появляться такая ошибка:
Error BASE/5001 MiniGUI Error: SENDMESSAGE
Called from SENDMESSAGE(0)
Called from TSBROWSE:RESIZE(9982)
Called from TCONTROL:HANDLEEVENT(923) ...
Ошибка появляется при вводе новой записи в стандартном TsBrowse.
Если забить строку 9982, то ошибка не появляется


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