|
|
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
Здратсвуйте. Предисловие: Есть форма W1 в ней DW1 grid в этом dw все видимые поля имеют таб ордер <> 0 и Display Only = true Это мне надо для определения getcolumnname() (в дальнейщем для поиска) Событие double click на DW выполняет следующие Код: plaintext 1. 2. после того, как закрываем win_name, непонятног где находится фокус (к примеру что б закрыть теперь W1 неибходимо два раза кликнуть мышкой на крестике, т.е. 1 клик получаем фокус, 2-й клик закрываем форму) при чем это происходит не всегда!!! Подозрение: Думаю связана это как раз с DW1, т.к. если W1 якобы не имеет фокуса, то в поле на котором производился двойной клик, происходит выделение или снятие выделения при перемещении мышки влево или вправо. Вопрос: Как это все победить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 11:11 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
IMHO... ... OpenWithParm (lw_w, sp, win_name) ... w1.SetFocus() А вообще то, если фокус в окне (на каком либо контроле), то окно - тоже в фокусе, т.е. активно, и никакие 2 клика на крестике не требуются... А если окно не активно, то оно не активно и искать в нем фокус бесполезно... --- С уважением, IKAR ikarhomecenter@narod.ru IkarHomeCenter ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 11:21 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
W1 унаследованно от W0, скрипт Код: plaintext 1. 2. 3. не подходит т.к. вмесо w1 может быть w2 w3 и т.д. parent.SetFocus() не подходит пишет ошибку "Current object has no parent" Код: plaintext =============================== PB 9.0.1 (7236) ASA 9.0.0 (1312) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 11:35 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
Я напримера из объяснения проблемы ничего не понял. Наверное DIGITALPRO легче писать видя все на экране. У нас с фантазией хуже. Но с w1 пожно посоветовать this использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 12:22 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
Это глюк Билдера. Я работаю с версией 8.0.4 (видно и в 9 это переползло). До билда 10726 все было Ок. Как только поставил 10726 появилась эта проблема. По моим наблюдениям после закрытия вызванного окна, фокус в вызвавшем окне попадает в контрол у которого самый младший TabOrder самого окна а не ДВ, хотя должен оставаться на контроле у которого он был перед вызовом окна. После закрытия вызываемого окна в скрипте фокус надо вернуть принудительно на нужный контрол вызвавшего окна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 12:24 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
Заметил еще вот что: У DW все поля сделать таб ордер = 0 и стало все нормально. Но тогда я незнаю как определить имя колонки??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 14:15 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
авторНо тогда я незнаю как определить имя колонки??? //найдем кол. колонок в dw_1 ls_colcount = dw_1.Describe("DataWindow.Column.Count") ... //Найдем наименование колонки №4 setting = dw_1.Describe("#4.Name") Думаю, что проблем с определением i-й колонки у Вас уже не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 15:07 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
... OpenWithParm (lw_w, sp, win_name) ... //Проверьте наличие фокуса DragObject l_dragObj //Объект имеющий фокус //Получить ссылку на объект имеющий фокус l_dragObj = getFocus() if l_dragObj <> this then //Если фокус ушел кудато, то куда? mesageBox("Где фокус?", className(l_dragObj)) else //А теперь проверьте номер текущей строки ll_row = this.getRow() if ll_row <= 0 then //Если ll_row = 0, то Вы своего фокуса в этом DW не увидите end if end if ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 15:16 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. По поводу Код: plaintext Подозрение что это хглюк РВ или ни кто ничего не понял )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 16:09 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
Либо это связанно с таб ордер или Display Only =============================== PB 9.0.1 (7236) ASA 9.0.0 (1312) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 16:17 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
авторЛибо это связанно с таб ордер или Display Only либо одно из двух =) Заглянул в PFC, так там например во всех выпадающих контролах после закрытия фокус принудительно устанавливается в вызвавшее его DW. Тоже решение, просто чтобы не думать почему оно не устанавливается. Успехов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 16:30 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
Периодичность: Выявил что если колонки имеют свойство таб ордер <> 0 и Display Only = true то, Пример: DW1: имеет колонки k1, k2 и k3 Двойным счелчком допустим на 3-й строке в колонке k2 открывается окно W2 .... Закрываем окно W2 Пытаемся закрыть W1 с первого сщелчка не получается только со второго!!! Если же еще раз и потом да бесконечности Двойным счелчком на 3-й строке в колонке k2 открывается окно W2 .... Закрываем окно W2 Пытаемся закрыть W1 все ОК с первого раза!!!!!!!!!! ЧТО ЗА Хрень???? Как победить???? =============================== PB 9.0.1 (7236) ASA 9.0.0 (1312) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 16:44 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
DIGITALPRO//Найдем наименование колонки №4 setting = dw_1.Describe("#4.Name") А как для текущей или выбранной А это и будет Вашим домашним заданием. Количество колонок Вы уже умеете определять. DIGITALPROПример: DW1: имеет колонки k1, k2 и k3 Двойным счелчком допустим на 3-й строке в колонке k2 открывается окно W2 .... Закрываем окно W2 Пытаемся закрыть W1 с первого сщелчка не получается только со второго!!! Какого типа у Вас окно W2, response или какое другое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2004, 06:02 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
Guest_2 окно W2 - response ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2004, 07:57 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
Тогда фокус находится там где и должен находиться, т.е. в dw1. Проверьте номер строки до вызова response окна и после. В конце концов можно выполнить трассировку и посмотреть что в какой последоватльности выполняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2004, 08:45 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
Номер строки один и тот же. По поводу трассировки, я не знаю для чего она и как ей пользоватся! И еще одна особенность: Если происходит сразу двойной счелчок в любой не имеющей фокус строке и колонке, все повторяется. а вот если выполнить к примеру один клик, а потом двойной то все ОК!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2004, 09:22 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
Ну так кто нибудь то поможет или нет? Пожалуйста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2004, 17:19 |
|
||
|
Где Фокус
|
|||
|---|---|---|---|
|
#18+
У нас на фирме на одном компьютере такая же беда. При запуске приложения появляется окошко для ввода пароля. Фокус автоматом прыгает в поле "имя". Так вот: на всех компах это происходит нормально, а на одном(!) курсор мигает, а чтобы начать вводить текст, нужно нажать еще раз на поле. На этом компе стоит Win ХР. На остальных Win 2000. Чтобы не думать, какая проблема, решили, что дело в ХР. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2004, 17:42 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=32763305&tid=1338751]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 504ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...