Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];

Вниз

Передать фокус в dbgrig(ячейку) из WebBrowser. не получается   Найти похожие ветки 

 
Vlad Oshin ©   (2007-02-20 18:39) [0]

Вопрос.. такое впечатление, что его вообще быть не должно..
есть на форме twebbrowser, адо(невидимые), dbgrid, button
twebbrowser грузит страничку, там заполнямые поля. Они заполняются.

Если кликнуть в браузер, потом в dbgrig, и ... ничего не получается. Как будто фокус остался в навигаторе. Однако, можно нажимать на кнопку, и двигать ползунки грида.
Более того, если кликнуть по вводимому html полю навигатора, то курсор там так продолжает стоять, издевательски подмигивая. Однако, опять же, можно нажимать на кнопку, и двигать ползунки грида.

Если не кликать по навигатору - то фокус передается на ячейку ДБгрида(если по нему, гриду, кликнуть)

Я поискал в интернете - есть проблема передать фокус самому браузеру(последовал совету, на всякий случай, и ничего, как и ожидалось. Фокус ввода застревает в нем), тут же совсем наоборот. Что же за такое?..
Ок.
Если повторить релоад и повторить заполнение программно - снова Дбгрид готов к приему фокуса ввода. (если по нему, гриду, кликнуть)
Если же опять щелкнуть по браузеру(даже подвинув ползунок) - возвращаемся к исходному положению.

.WebBrowser1Exit(Sender: TObject);
begin
dbgrid1.SetFocus;
- мимо...

Надо отобрать фокус! помогите..


 
Vlad Oshin ©   (2007-02-21 12:15) [1]

Выяснил точнее
ситауция такая:
Если dbgrid первым получает фокус ввода в какую либо ячейку - то после  передачи фокуса ввода в webbrowser, вернуться фокус может только в ту же самую ячейку grida.
В другую - уже нет.
Только после возврата в ту же, можно переходить к другой.

Как избавится?


 
Reindeer Moss Eater ©   (2007-02-21 12:21) [2]

TField.FocusControl


 
Vlad Oshin ©   (2007-02-21 12:59) [3]

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
Showmessage("DBGrid1CellClick(");
Showmessage(dbgrid1.SelectedField.AsString);
dbgrid1.SelectedField.FocusControl;

выскакивает значение предыдущей выбраной ячейки..


 
Reindeer Moss Eater ©   (2007-02-21 13:02) [4]

И чего?
Если dbgrid первым получает фокус ввода в какую либо ячейку - то после  передачи фокуса ввода в webbrowser, вернуться фокус может только в ту же самую ячейку grida.
В другую - уже нет.
Только после возврата в ту же, можно переходить к другой.

Как избавится?


Вызвать FocusControl у нужного филда.
При чем здесь вообще клик по ячейке?


 
Vlad Oshin ©   (2007-02-21 13:15) [5]

Хорошо.
по ячейке, где отображается нужный филд кликнули
- надо в него передать фокус.
как это сделать?


 
Reindeer Moss Eater ©   (2007-02-21 13:34) [6]

А что, сам по себе клик по ячейке не фокусирует саму эту ячейку?


 
Vlad Oshin ©   (2007-02-21 13:40) [7]

нет, обычно когда кликают по ячейке, то там и оказывается фокус. Можно редактировать соотв. поле.

В моем случае - после побывания фокуса вне грида(в браузере )
по клику по ячейке, фокус уходит не в поле, связанное с этой ячейкой, а в предыдущее.


столб1   столб2
1             3
2             4

кликаем по 1


столб1   столб2
1f            3
2             4

кликаем по браузеру
кликаем по 4, а готова к редактированию 1

столб1   столб2
1f            3
2             4


если еще раз кликнуть по 4, то она будет готова

Отсюда идея - может еще раз самому съэмулировать клик?


 
Reindeer Moss Eater ©   (2007-02-21 13:45) [8]

Ну если так, то при клике определить сначала координаты мыши, затем ячейку и по ней поле. Потом вызвать FocusControl.
В том смысле, что не использовать для этого SelectedField.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.044 c
15-1171523923
sqler
2007-02-15 10:18
2007.03.11
HTML


2-1171790032
VadimSpb
2007-02-18 12:13
2007.03.11
Создание текстового файла в ASCII


6-1159950477
POINT
2006-10-04 12:27
2007.03.11
webbrowser


15-1171396436
Суслик
2007-02-13 22:53
2007.03.11
Вопрос по Excel - автоопределение высоты ряда


2-1171978891
vvv_spb
2007-02-20 16:41
2007.03.11
WordDocument





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский