Çalışma zamanında form oluşturuyorum. eğer form daha önceden oluşturulmuşsa formu öne getirmek istiyorum fakat yapamadım. kodlarım aşağıdaki gibi yardımcı olursanız çok sevinirim.
var
Form1: TForm1;
ID: Integer;
ACaption: String;
procedure TForm1.btnChangeItemClick(Sender: TObject);
var
AOwnerForm: TForm;
I: Integer;
begin
with GridEMUHACCView.Controller do
begin
for I := 0 to SelectedRowCount - 1 do
begin
ID := SelectedRows[I].Values[GridEMUHACCViewLOGICALREF.Index];
ACaption := SelectedRows[I].Values[GridEMUHACCViewCODE.Index];
end;
end;
if FindWindow(nil, PWideChar('Malzeme - ' + ACaption)) = 0 then
begin
AOwnerForm := TForm2.Create(Self);
AOwnerForm.Caption := 'Malzeme - ' + ACaption;
AOwnerForm.Position := poMainFormCenter;
AOwnerForm.Show;
end else
end;
findwindow ile pencere isimleri arasında formunuzu arıyorsunuz. Findwindow eğer pencereyi bulursa size bir handle numarası döndürür. Sizde bu handle numarasını kullanarak formunuzu öne getirebilirsiniz.
Örneğin
SetForegroundWindow(Handle numarası);