Ana formun tam olarak en üst düzeye çıkarıldığından emin olmak için önerilen yol nedir ve uygulama ilk yüklemede kalıcı bir form göstermeden önce tüm denetimler yeniden çizilmelidir?Ana formun uygulama formunda kalıcı bir form göstermeden önce ana formun en üst düzeye çıkarıldığından ve tam olarak yeniden çizildiğinden emin olmak için doğru yol
Uygulama başladığında kalıcı bir iletişim kutusu göstermem gerekiyor (oturum açma ekranı değil) ancak ekranı en üst düzeye çıkarırken wsMaximized
olarak ayarladıysam, denetimlerin yeniden çizilme şansı kalmaz ve çirkin bir karmaşa ile ayrılırsınız .
procedure TForm1.FormActivate(Sender: TObject);
var
frmOrderLookup:TfrmOrderLookup;
begin
onactivate := nil;
frmOrderLookup:=TfrmOrderLookup.Create(nil);
try
frmOrderLookup.showmodal;
finally
frmOrderLookup.Free;
end;
end;
+1. Mesajı 'OnShow' yerine gönderirseniz, işlem daha sonra işlenir; Bu çok yakında gönderilme şansını ortadan kaldırır. (Ve bunun yerine FormCreate' değil mi? 'OnCreate', mülkün kendisinin adıdır.) –
@Ken: Düzeltme için teşekkürler. 'OnShow' kullanma gelince, formun oluşturulacağını, gösterileceğini, daha sonra 'Application.Run' mesaj kuyruğunu pompalamaya başlamadan önce etkinleştireceğini düşünüyorum, bu yüzden çok da önemli değil. Diğer formlar ve veri modülleri de ilk olarak oluşturulmakta (ve OnCreate' olaylarını tetiklemiş durumda). Bu deyim, henüz OnCreate'dan kullanıldığında uygulamada başarısız oldu. – afrazier
Yardımınız için teşekkür ederiz - @SteBaite önerisine yönelik +1'den @KenWhite de –