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


SergKis
постоянный участник




Пост N: 853
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.02.16 22:00. Заголовок: Andrey ... HORZ AL..


Andrey
... HORZ ALIGN DT_LEFT // Default DT_CENTER

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




Пост N: 854
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.02.16 22:19. Заголовок: Andrey пишет:И как е..


Andrey пишет:
 цитата:
И как еще повесить при нажатии на этот "Super Header"


есть блоки кода на колонку
oCol:bHLClicked := {|nRowPix, nColPix, nAt| MsgDebug(nRowPix, nColPix, nAt) } // Block to be evaluated on header left clicked
oCol:bHRClicked := {|nRowPix, nColPix, nAt| MsgDebug(nRowPix, nColPix, nAt) } // Block to be evaluated on header right clicked
пикселы в nRow, nCol:
nRow := oBrw:GetTxtRow( nRowPix )
nCol := oBrw:nAtCol( nColPix )
выведи их и по ним орентировка где кликали на header или SuperHeader
вроде так в тестах делал.



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




Пост N: 4713
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.02.16 17:23. Заголовок: Я так понял, что мож..


Я так понял, что можно заменять картинки для сортировки Tsbrowsa даже на PNG !
Сделал тест - работает ! Спасибо SergKis !!!



Замена:
// --------- заменяем сортировку на свои картинки индикации ---------
oBrw5:aSortBmp := { LoadImage("Arrow_down.png"), LoadImage("Arrow_up.png") }

И не обязательно делать картинки квадратными.
Для того чтобы круг (см.картинку) не касался шапки заголовка справа я сделал картинки размером 30х34.
А высоту шапки заголовка сделал чуть больше - oBrw5:nHeightHead := 32





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




Пост N: 4714
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.02.16 17:59. Заголовок: Перешёл на новую вер..


Перешёл на новую версию 16.02 и сразу вопрос:

Почему перестало в шапке таблицы сдвигаться влево заголовок шапки при активации сортировки на этой шапке ?


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




Пост N: 856
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.02.16 18:23. Заголовок: Andrey http://clipp..

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




Пост N: 4726
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.16 03:19. Заголовок: Как сделать, чтобы в..


Как сделать, чтобы в контекстном меню высвечивалась текущая строка колонки на которой стоит маркер ?
Т.е. делаю так:
// по правой кнопки мышки - контекстное меню TBROWSE
DEFINE CONTEXT MENU CONTROL oBrw1
MENUITEM "File open 1: " + InfoFile(1,oBrw1:nAt) ACTION { || RunFile(1,oBrw1:nAt) }
MENUITEM "File open 2: " + InfoFile(2,oBrw1:nAt) ACTION { || RunFile(2,oBrw1:nAt) }
SEPARATOR
.....


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




Пост N: 797
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.02.16 13:16. Заголовок: Andrey пишет: высве..


Andrey пишет:

 цитата:
высвечивалась текущая строка колонки



не проверял , но примерно так Eval( oBrw:aColumns[oBrw:nCell]:bData )

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




Пост N: 4727
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.16 13:22. Заголовок: Andrey пишет: Так ?..


Andrey пишет:

 цитата:
Так ?


Нет. Вот так:



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




Пост N: 4728
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.16 14:10. Заголовок: Haz пишет: не прове..


Haz пишет:

 цитата:
не проверял , но примерно так Eval( oBrw:aColumns[oBrw:nCell]:bData )



Не прокатило....
DEFINE CONTEXT MENU CONTROL oBrw1
MENUITEM "File open 1: " + SUBSTR( Eval( oBrw1:aColumns[4]:bData ) ,1,60) ACTION { || RunFile(1) }
MENUITEM "File open 2: " + SUBSTR( Eval( oBrw1:aColumns[4]:bData ) ,61 ) ACTION { || RunFile(2) }
SEPARATOR

Мне нужно из 4 колонки выбрать первую строчку, а потом вторую строчку. колонка сборная из 2х полей базы собрана:
ADD COLUMN TO oBrw1 HEADER "Файлы" ;
.........
DATA {|| (cAlias)->DIR1 + (cAlias)->FILE1 + CRLF + ;
(cAlias)->DIR2 + (cAlias)->FILE2 }




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




Пост N: 799
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.02.16 14:20. Заголовок: Andrey пишет: Не пр..


Andrey пишет:

 цитата:
Не прокатило....


ты по простому скажи , тебе надо чтоб в меню показывалось значение из текущей строки бровса ?
( то что строка составная сути не меняет, ловишь по разделителю )

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




Пост N: 4729
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.16 14:29. Заголовок: Haz пишет: ты по пр..


Haz пишет:

 цитата:
ты по простому скажи , тебе надо чтоб в меню показывалось значение из текущей строки бровса ?


Да !

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




Пост N: 800
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.02.16 14:32. Заголовок: чтобы сменить строку..


чтобы сменить строку меню есть функция
_SetMenuItemCaption ( cName , cWin , cCaption )

где cName задается при
MENUITEM cCaption ACTION bAction NAME cName IMAGE cImage

в твоем случае получается _SetMenuItemCaption() нужно вешать на ::bChange

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




Пост N: 4731
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.16 14:38. Заголовок: Спасибо БОЛЬШОЕ ! :..


Спасибо БОЛЬШОЕ !

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




Пост N: 4732
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.16 15:15. Заголовок: Сделал так: ..


Сделал так:
MENUITEM "File open 1: " ACTION { || RunFile(1) } NAME MYNAMEOPENFILE1
MENUITEM "File open 2: " ACTION { || RunFile(2) } NAME MYNAMEOPENFILE2

........
cCaption1 := "File open 1: " + (oBrw1:cAlias)->FILE1
_SetMenuItemCaption ( "MYNAMEOPENFILE1" , cForm , cCaption1 ) // строка 496
cCaption2 := "File open 2: " + (oBrw1:cAlias)->FILE2
_SetMenuItemCaption ( "MYNAMEOPENFILE2" , cForm , cCaption2 )

Выдаёт ошибку:
Error BASE/1132 Переполнение массива: Неверное количество аргументов
Called from _GETMENUIDS(561)
Called from _SETMENUITEMCAPTION(757)
Called from CHANGETABLE(496)
Called from (b)MYCREATETABLE(432)
Called from TSBROWSE:PAINT(8746)
Called from TSBROWSE:DISPLAY(2306)


Полез в h_menu.prg
LOCAL x := GetControlIndex ( ItemName , FormName )
LOCAL h := _HMG_aControlPageMap [ x ] // строка 561

Я пока не знаю что это такое ....
Что делать ?

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




Пост N: 802
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.02.16 15:22. Заголовок: Andrey пишет: Я пок..


Andrey пишет:

 цитата:
Я пока не знаю что это такое ....


это скорее всего значит что нет такого меню еще
т.е на момент вызова bChange ничего не известно про меню

примерный порядок
DEFINE TSBROWSE
END BROWSE

DEFINE MENU
END MENU

oBrw:bChange := .......






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




Пост N: 4734
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.16 15:45. Заголовок: Haz пишет: примерны..


Haz пишет:

 цитата:
примерный порядок



Да и у меня тоже такой же:
DEFINE TBROWSE oBrw1 ;
...............
ON CHANGE { || ChangeTable() } ;
ON GOTFOCUS ChangeTable() ;
BACKCOLOR aBackColorTbr ;
CELL

END TBROWSE
MyCreateTable()
MyCreateTableMenu()

STATIC FUNCTION ChangeTable()
.....


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




Пост N: 804
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.02.16 16:43. Заголовок: Andrey пишет: Да и ..


Andrey пишет:

 цитата:
Да и у меня тоже такой же


Разный , бровс который обращается к меню в ON СHANGE объявляется когда этого меню еще и нет
обрати внимание где у меня oBrw:bChange := .......


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




Пост N: 4737
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.16 16:55. Заголовок: Тогда нужно так: ..


Тогда нужно так:

DEFINE TBROWSE oBrw1 ;
END TBROWSE

MyCreateTable()

MyCreateTableMenu()

oBrw1:bChange := { |oBrw| ChangeTable(oBrw) }
.......

STATIC FUNCTION ChangeTable()



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




Пост N: 805
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.02.16 16:56. Заголовок: Andrey пишет: Тогда..


Andrey пишет:

 цитата:
Тогда нужно так:


так скорее всего получиться

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




Пост N: 4738
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.16 17:14. Заголовок: Нет, не пашет... Вал..


Нет, не пашет... Валится сразу при входе в программу.
А как проверить наличие "MYNAMEOPENFILE1" ?

LOCAL cForm := oBrw1:cParentWnd
MsgLog( cForm , cCaption1, cCaption2 )
_SetMenuItemCaption ( "MYNAMEOPENFILE1" , cForm , cCaption1 )
_SetMenuItemCaption ( "MYNAMEOPENFILE2" , cForm , cCaption2 )


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