Помогите решить такой вапрос
Вот что имено мне надо. Например у меня есть на форме 1 Edit и 10 QLeb. Я хочу чтобы все что я введу в Edit показывал сразу в QLeb. Есть конечно один вариант QLeb->caption = Edit->text; но он сильно большой как мне нимного его уменшыть.
Цитата:
Originally posted by php_error
Вот что имено мне надо. Например у меня есть на форме 1 Edit и 10 QLeb. Я хочу чтобы все что я введу в Edit показывал сразу в QLeb. Есть конечно один вариант QLeb->caption = Edit->text; но он сильно большой как мне нимного его уменшыть.
Вот что имено мне надо. Например у меня есть на форме 1 Edit и 10 QLeb. Я хочу чтобы все что я введу в Edit показывал сразу в QLeb. Есть конечно один вариант QLeb->caption = Edit->text; но он сильно большой как мне нимного его уменшыть.
Сделай массов контролов и меняй в цикле, больше тут посоветовать нечего. Хотя, можно ещё сделать массив хэндлов и в цикле делать SetWindowText. Но это те же яйца, только в профиль.
Цитата:
Originally posted by Plisteron
Сделай массов контролов и меняй в цикле, больше тут посоветовать нечего. Хотя, можно ещё сделать массив хэндлов и в цикле делать SetWindowText. Но это те же яйца, только в профиль.
Сделай массов контролов и меняй в цикле, больше тут посоветовать нечего. Хотя, можно ещё сделать массив хэндлов и в цикле делать SetWindowText. Но это те же яйца, только в профиль.
А если точнее для тех кто в танке.
Цитата:
Originally posted by php_error
А если точнее для тех кто в танке.
А если точнее для тех кто в танке.
В объявлении класса окна:
Код:
TQLeb /* ну или что там у тебя*/ *e[10];
В OnCreate пишешь:
Код:
for(int i = 0; i < 10; i++)
{
e = new TEdit(this);
e->Parent = this;
// ещё координаты нужные задаём
e->Visible = true;
}
{
e = new TEdit(this);
e->Parent = this;
// ещё координаты нужные задаём
e->Visible = true;
}
В Edit1OnChange:
Код:
for(int i = 0; i < 10; i++)
e->Caption = Edit1->Text;
e->Caption = Edit1->Text;
Или так.
В OnCreate пишешь:
Код:
e[0] = QLeb1;
e[1] = QLeb2;
// ...
e[9] = QLeb10;
}
e[1] = QLeb2;
// ...
e[9] = QLeb10;
}
В объявлении класса окна и в Edit1OnChange то же, что и в предыдущем случае.
Или так.
В объявлении класса окна:
Код:
HANDLE h[10];
В OnCreate:
Код:
h[0] = QLeb1->Handle;
h[1] = QLeb2->Handle;
// ...
h[9] = QLeb10->Handle;
}
h[1] = QLeb2->Handle;
// ...
h[9] = QLeb10->Handle;
}
В Edit1OnChange:
Код:
char *t=Edit1->Text.c_str();
for(int i = 0; i < 10; i++)
SetWindowText(h, t);
for(int i = 0; i < 10; i++)
SetWindowText(h, t);
Правда, на мой вкус, все варианты какие-то некузявые. Я бы просто 10 присваиваний сделал. Хотя, с точки зрения быстродействия, возможно, последний вариант (с хэндлами) даст некоторый выигрыш.
А если, например, создать собственный класс TMyQLeb, унаследовав его от QLeb (не знаю что такое). В MyQLeb прописать обработку некоего своего собщения. Посадить 10 MyqLeb'ов на форму. А затем в Edit1OnСhange написать Form1->Broadcast(Сообщение). Так кузяво? Или ерунда?
Цитата:
Originally posted by Бешеный кролик
А если, например, создать собственный класс TMyQLeb, унаследовав его от QLeb (не знаю что такое). В MyQLeb прописать обработку некоего своего собщения. Посадить 10 MyqLeb'ов на форму. А затем в Edit1OnСhange написать Form1->Broadcast(Сообщение). Так кузяво? Или ерунда?
А если, например, создать собственный класс TMyQLeb, унаследовав его от QLeb (не знаю что такое). В MyQLeb прописать обработку некоего своего собщения. Посадить 10 MyqLeb'ов на форму. А затем в Edit1OnСhange написать Form1->Broadcast(Сообщение). Так кузяво? Или ерунда?
Имхо, кузяво.