Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.27;
Скачать: CL | DM;

Вниз

Доброго времени суток, есть проболема с привязкой MDI формы с   Найти похожие ветки 

 
Delphin ©   (2004-06-09 18:09) [0]

Проблема с привязкой MDI формы с кнопкой из массива
есть код:
var
Form1: TForm1;
Child: TForm;
But:Array[1..99]of TButton;
I:Integer;

procedure TForm1.MyButClick(Sender:TObject);
var
A:Integer;
begin
for A:=0 to 99 do
if Sender = But[A] then  Begin
Form1.MDIChildren[A].SetFocus;
End;
End;

procedure TForm1.Button2Click(Sender: TObject);
begin
Inc(I);
Child := TForm2.Create(Application);
Child.Caption := "Caption"+IntToStr(i);
But[i]:=TButton.Create(Self);
But[i].Parent:=Panel3;
But[i].Name:="Name"+IntToStr(i);;
But[i].Caption:="Caption"+IntToStr(i);;
But[i].top:=But[i-1].top+26;
But[i].Tag:=I;
But[i].OnClick:=MyButClick;
End;

procedure TForm1.FormCreate(Sender: TObject);
begin
Inc(I);
But[i]:=TButton.Create(Self);
But[i].Parent:=Panel3;
But[i].Name:="Name"+IntToStr(i);
But[i].Caption:="Name"+IntToStr(i);
But[i].Tag:=I;
But[i].OnClick:=MyButClick;
end;
Кнопки и MDI формы создаются вообще без проблем, проблема в следующем: при вызове процедуры MyButClick;, она срабатывает, но не корректно, т.е выделяется не нужное в данный момент окно.
Кто знает, в чём может быть проблема ?
И есть ли другой способ определить какая кнопка из массива была нажата ?
Заранее благодарен


 
Семен Сорокин ©   (2004-06-09 18:13) [1]

бред какой-то

procedure TForm1.MyButClick(Sender:TObject);
begin
TForm(TButton(Sender).Parent).BringToFront
end;


 
Delphin ©   (2004-06-09 18:16) [2]

мне нужно узнать какая кнопка была нажата и выделить окно, с такимже номером


 
Семен Сорокин ©   (2004-06-09 18:19) [3]

Delphin ©   (09.06.04 18:16) [2]
мне нужно узнать какая кнопка была нажата и выделить окно, с такимже номером


задавай кнопке номер в Tag при создании, при нажатии определяй Tag у Sender"а, а окно выделяй методом BringToFront.


 
Delphin ©   (2004-06-09 18:37) [4]

procedure TForm1.MyButClick(Sender:TObject);
begin
MDIChildren[TButton(Sender).Tag].BringToFront;
End;

Всё ровно работает не корректно


 
Delphin ©   (2004-06-09 23:18) [5]

Всем спасибо я сам разобрался. Я сделал проще, я просто сравниваю заголовки.

procedure TForm1.MyButClick(Sender:TObject);
var
A:Integer;
begin
A:=1;
IF MDIChildren[A].Caption=TButton(Sender).Caption Then
MDIChildren[a].BringToFront
Else
Repeat
IF MDIChildren[A].Caption<>TButton(Sender).Caption
Then INC(A);
Until
(MDIChildren[A].Caption=TButton(Sender).Caption)OR(A>MDIChildCount);
IF MDIChildren[A].Caption=TButton(Sender).Caption Then
MDIChildren[a].BringToFront;
A:=0;

End;



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

Текущий архив: 2004.06.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
1-1087188290
nitro
2004-06-14 08:44
2004.06.27
Помогите! Image становится белым цветом при рисовании?!


3-1085857779
DIS
2004-05-29 23:09
2004.06.27
в запросе условие WHERE


14-1086884901
ИМХО
2004-06-10 20:28
2004.06.27
Что такое Barcode?


1-1086778881
Ruslan
2004-06-09 15:01
2004.06.27
Не встречал ли кто код на Паскале для реализации декомпрессии


6-1083531649
ohiio
2004-05-03 01:00
2004.06.27
Блокировать трафик от известного IP