![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как манипулировать дочерними окнами? [D6, WinXP]
001 © (2004-10-03 20:32:00)Есть MDIForm - Form1.
Есть класс дочернего окна (MDIChild), допустим TForm2;
Потенциально может быть создано неопределенное число этих окон.
Каждое из них создается по щелчку на строке в БД.
Но если по этой строке уже кликали, т.е. окно уже было ранее создано (и не закрыто), то нужно не открывать еще одно такое же, а вынести на передний план то, ранее созданное.
Помогите реализовать.. механизм нужен.
Я хочу TForm2(FFF).Tag приравнивать к унику в БД, но как тогда мне пробежаться по всем созданным дочерним окнам в поиске\сравнения этого уника?
или кто может предложить что-то более разумное?
GanibalLector (2004-10-04 01:56:00) [1]Как запасной вариант,напиши на Caption окна какой-нибудь текст(например="Носки Васи Пупкина";) )и проверяй findwindowex.
001 (2004-10-04 01:40:00) [2]>> Piter © (03.10.04 21:30) [6]
>> ну прост очеловек хотел пробегать по Tag'у... тут дело его. Я просто показал КАК >> пробежать...
Да, мне именно это и надо было знать: как пробежать по дочерним..
>> jack128 © (03.10.04 21:23) [4]
>> В данном случае лудше у класса TForm2 нужно объявить свойство и смотреть уже значение этого свойства..
Так и будет. Поскольку в базе куча связей с другими таблицами, одного Tag не достаточно, необходимо несколько параметров.
Благодарствуем..
KilkennyCat (2004-10-03 22:53:00) [3]
> Piter © (03.10.04 21:18) [3]
блин, я забыл! вот фигня-то... скоро наверное, вообще мозги спекутся в сторону глобального усложнения примитивных вещей :(
Piter (2004-10-03 21:30:00) [4]нет, ну прост очеловек хотел пробегать по Tag'у... тут дело его. Я просто показал КАК пробежать...
jack128 (2004-10-03 21:24:00) [5]jack128 © (03.10.04 21:23) [4]
лудше у класса TForm2 объявить свойство и
jack128 (2004-10-03 21:23:00) [6]Piter © (03.10.04 21:18) [3]
В данном случае лудше у класса TForm2 нужно объявить свойство и смотреть уже значение этого свойства..
А Tag обычно используют для стандартных компонентов (TButton, TMemo)..
Piter (2004-10-03 21:18:00) [7]KilkennyCat © (03.10.04 20:48) [1]
имхо, неправильный способ. Совсем неправильный. Для этого TAG есть... А не Name
Piter (2004-10-03 21:17:00) [8]
for i:=0 to form1.mdichildCount - 1 do
if form1.MDIChildren[i] is TForm2 then
if TForm2(MDIChildren[i]).Tag=XXX then ...
KilkennyCat (2004-10-03 20:48:00) [9]Я бы просто создавал окна с именем строки, т.е - строка имеет номер 15 - окно будет TForm15
После клика проверяем, есть ли у нас окно ('TForm + inttostr(row))...