當我單擊一個空表單的關閉按鈕時,事件處理程序中沒有添加代碼怎么也可以關閉表單
uj5u.com熱心網友回復:
windows系統判斷滑鼠點擊的位置是一個關閉按鈕,會發送WM_CLOSE訊息給應用程式,應用程式對該訊息的默認處理就是關閉表單。uj5u.com熱心網友回復:
這是表單的(VCL)代碼,封閉了Windows的相關代碼,執行Form的Close事件,也就會向系統發出相應的訊息,系統就是關閉相關的表單。uj5u.com熱心網友回復:
專案.cpp檔案的
Application->Run(); //C++ Builder代碼
方法封裝了windows的訊息處理。
如果是win32 sdk程式,要自己寫代碼處理各個訊息。
uj5u.com熱心網友回復:
你這個表單是繼承了父類的表單吧?uj5u.com熱心網友回復:
代碼已經被DELPHI封裝好了,所以只是我們看不到代碼而已uj5u.com熱心網友回復:
TForm.OnClose并非真正的表單關閉按鈕事件處理,這個只是用戶代碼,真正的事件處理是TCustomForm.WMClose,是WM_CLOSE的訊息映射,在其內部呼叫了Close方法,Close內部呼叫了DoClose,DoClose內部檢測了用戶代碼的OnClose是否賦值,如果有則呼叫。uj5u.com熱心網友回復:
關閉是對WM_CLOSE訊息的處理WMClose--> DoClose中再呼叫你的自己寫的代碼OnClose(為空不執行),即使你OnClose為空,人家本來的WMClose-->DoClose照樣執行的。uj5u.com熱心網友回復:
TButton 控制元件 有個 ModalResult 屬性 設定成 mrOk 或 mrCancel 等值視窗都會關閉轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/39560.html
標籤:VCL組件開發及應用
上一篇:cGRID 在 Editing = False 的時候 怎么 才能在復制的時候 只 復制 單元格的 內容 在不改 列的 properties的情況下 有什么辦法
