我有一個需要一些時間來創建的窗體,我想向用戶顯示發生了某些事情,並且當我調用顯示該窗體的函數時我做了一個沙漏光標形成。但我的問題是,我不能讓屏幕上實際顯示窗體時首先執行第一個執行的代碼。 我嘗試了所有的事情,使有點感覺嘗試,但沒有運氣。表單可見之前沙漏已經消失。當窗體在屏幕上可見時觸發的事件
我可以嘗試下一步來獲得這項工作。
我需要更多的信息,請說出來,我會找到它。
在調用創建表單的函數之前,我在mainform中設置了沙漏,然後我的表單顯示如下。
procedure TfrmJsCv.FormShow(Sender: TObject);
begin
fReportFile := Folders.DirDatabase + 'jobsearch_print.mdb';
btnPrint.Visible := FileExists(fReportFile);
try
SetupMain;
SetupCertificates;
SetupContacts;
SetupCourse;
SetupJobs;
SetupLanguage;
SetupLanguageLevels;
SetupItKnowledge;
SetupKnowledgeLevels;
SetupKnowledgeTypes;
SetupOther;
SetupReferences;
SetupSchool;
SetupYears;
except
on E: exception do
Logfile.Error('F_JsCv.FormShow: ' + E.Message);
end;
PagCurriculumVitae.ActivePageIndex := 0;
end;
我試圖把Screen.Cursor:= crDefault; OnActivate,OnCreate,OnShow,OnResize,OnPaint事件,但在窗體準備就緒/屏幕上可見之前重置沙漏
所有Setupxxxxx過程都是爲相當複雜的表單準備數據的過程 - 它收集數據來自12個不同的表格。
「我試過所有事件」:告訴我們! – NGLN
「向我們展示」 - 這並不容易。但OnActivate,OnCreate,OnShow,OnResize,OnPaint已經嘗試過,沒有運氣。 – OZ8HP
那麼當您嘗試在OnShow中重置光標時出了什麼問題? –