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

Вниз

Как обратится к компоненте не по имени, а по типу?   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
9-6283
Ibrik
2002-10-29 21:38
2003.04.03
Jedi Knight


4-6862
Spider-Lex
2003-02-06 06:54
2003.04.03
Как нажать NumLock?


14-6789
kostya2000
2003-03-16 23:36
2003.04.03
Отслеживаеться ли сканирование портов!?


14-6756
Andrey V.
2003-03-17 09:13
2003.04.03
Почему-то перестала ходить мастаковская россылка


1-6430
Nico1a_____
2003-03-23 10:42
2003.04.03
Popup Menu





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский