Текущий архив: 2003.04.03;
Скачать: CL | DM;
ВнизКак обратится к компоненте не по имени, а по типу? Найти похожие ветки
← →
Roki (2003-03-20 17:15) [0]Мастера, такая задачка. Есть несколько форм, на них лежат Edit-ы как вставить символ в активный на данный момент Edit? Т.е. не по имени, а по типу?
← →
RoadStar (2003-03-20 17:18) [1]Поищи GetFocusedControl или шото типа этого.
← →
Roki (2003-03-20 17:29) [2]Что-то такой функции я не нащел... Мастера помогите...
← →
Mike Kouzmine (2003-03-20 17:39) [3]if ActiveControl is TEdit then TEdit(ActiveControl).Text := бла бла бла
← →
Roki (2003-03-20 17:52) [4]
> if ActiveControl is TEdit then TEdit(ActiveControl).Text
> := бла бла бла
ActiveControl метод какой-то формы? А если несколько окон?
← →
Жук (2003-03-20 17:55) [5]TCustomForm
← →
Mike Kouzmine (2003-03-20 18:49) [6]А это уже решай сам.
← →
les (2003-03-20 18:52) [7]
> ActiveControl метод какой-то формы? А если несколько окон?
TScreen.ActiveControl метод - есть такой класс. Дальше по help"у.
← →
Roki (2003-03-21 09:55) [8]Если я при нажатии кнопки буду проверять такой код, то я потеряю фокус Edit... Как быть?
← →
Roki (2003-03-21 10:20) [9]Война войной, а помочь кто-нибудь может?
← →
Silver_ (2003-03-21 10:24) [10]В общем так
TMainForm = Class(TForm)
...
published
Procedure aaa(Sender: TObject);
...
end;
Procedure TMainForm.aaa(Sender: TObject);
begin
if Screen.ActiveControl is TEdit then
TEdit(Screen.ActiveControl).Text:="bla bla bla";
end;
procedure TMainForm.OnCreate(Sender);
begin
TScreen.OnActiveControlChange:=aaa;
end;
Синтаксис проверь сам писал прямо тута НО ДОЛЖНО работать
сам пользую :) удачи.
← →
Roki (2003-03-21 14:34) [11]глючит не реально, по 2 текста сразу добаляет и просто при фокусе...
← →
les (2003-03-21 14:39) [12]Кажется понял что ти хочеш - TScreen.OnActiveControlChange - придется запиминать control имевший фокус перед тем как ти нажмешь кнопку. Так? Ну потом можно и фокус вернуть...
← →
Silver_ (2003-03-21 14:53) [13]не так
Screen.ActiveControl - активный на данный момент компонент
TEdit(Screen.ActiveControl).Text:="abc";
происходит вставка в текущий Edit "abc"
а чтоб все это работало при переходе на елемент
вышеуказаное присвоение делаешь в роцедуре "ааа"
Screen.OnActiveControlChange:=aaa;
будет выполнаться процедура "ааа" при каждом смене текущего обьекта и естессно если текущий обьект TEdit присваивает то че нада
поправь код в OnCreate формы и вышеуказанный код сделает ВСЁ.
Удачи!
← →
Roki (2003-03-21 16:24) [14]2 Silver_
что-то не догоню, ты опять то же самое написал...
> поправь код в OnCreate формы и вышеуказанный код сделает
> ВСЁ.
что там надо поправить?
← →
les (2003-03-21 17:10) [15]Roki еше раз только четко и ясно обясни что тебе нужно. Что значит "Т.е. не по имени, а по типу?"?
← →
spogi (2003-03-22 00:50) [16]nu tam est ocen otlicniy moment napisal <Silver_> prosto skopiruy kod budet rabotat... no problemu s etim povtorom mojno reshat tak: var Mojno:Boolean;
Procedure TMainForm.aaa(Sender: TObject);
begin
if Screen.ActiveControl is TEdit then
if Mojno then
TEdit(Screen.ActiveControl).Text:="bla bla bla" else Exit;
Mojno:=False;
end;
a pri novom ActoveControl opyat:
mojno:=True;
Страницы: 1 вся ветка
Текущий архив: 2003.04.03;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.008 c