|
Не получается с GridHitTest
|
|||
---|---|---|---|
#18+
На форме лежит грид. Пытаюсь привязать контекстное меню на RightClick грида, дублирую для text столбцов. Меню выпадает совершеннно не там, где по идее должно :). Ниже текст метода: LOCAL lnRow, lnCol, lnElem STORE 0 TO lnRow, lnCol, lnElem This.GridHitTest(MROW(ThisForm.Name,3),MCOL(ThisForm.Name,3),@m.lnElem,@m.lnRow,@m.lnCol) DEFINE POPUP shortcut SHORTCUT RELATIVE FROM m.lnRow, m.lnCol DEFINE BAR 1 OF shortcut PROMPT "Добавить" DEFINE BAR 2 OF shortcut PROMPT "Редактировать" DEFINE BAR 3 OF shortcut PROMPT "\Переместить" DEFINE BAR 4 OF shortcut PROMPT "Удалить" ON SELECTION BAR 1 OF shortcut DO this.maddRec() ON SELECTION BAR 2 OF shortcut DO this.meditRec() ON SELECTION BAR 3 OF shortcut DO this.mmoveRec() ON SELECTION BAR 4 OF shortcut DO this.mdelRec() Подскажите пожалуйста, что делаю не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2008, 22:20 |
|
Не получается с GridHitTest
|
|||
---|---|---|---|
#18+
А так чем не устраивает: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2008, 09:04 |
|
Не получается с GridHitTest
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2008, 17:20 |
|
Не получается с GridHitTest
|
|||
---|---|---|---|
#18+
iWhere ещё объявить забыл Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2008, 17:21 |
|
Не получается с GridHitTest
|
|||
---|---|---|---|
#18+
Дело в том, что в команде DEFINE POPUP необходимо указать координаты, относительно основного окна _SCREEN. Абсолютные координаты. Причем координаты строки и столбца указываются, в так называемых, "фокселах". Один фоксел - это средний размер одной буквы соответствующего шрифта. Это то, что возвращают функции MROW() и MCOL() без второго параметра. 4 и 5 параметры метода GridHitTest() возвращают относительные порядковые номера столбцов и строк. Относительно края Grid. Например, если в Grid видны 2 столбца и ты ткнул мышкой по первому, то и получишь значение 1 (первый столбец). Ткнул по второму - получишь значение 2 (2 столбец). Т.е. параметры метода GridHitTest() возвращают вовсе не координаты, а "указания". Т.е. сообщают о том, в какой объект ты попал. Но вовсе не то, по каким координатам этот объект находится. Другими словами, тебе надо повтороно использовать функции MROW() и MCOL() в команде DEFINE POPUP. Возвращаемые параметры GridHitTest() - бесполезны. Они не о том. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2008, 20:05 |
|
|
start [/forum/topic.php?fid=41&msg=35633876&tid=1587109]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 324ms |
total: | 477ms |
0 / 0 |