0
我有這個程序,它是一個TMenuItem
事件(Miscellanous - OnMeasureItem
)。它正常工作。調用MeasureItem程序(TMenuItem,Delphi)
MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer);
我想叫它在FormResize
事件,但我收到「沒有足夠的實際參數」消息。
你能幫我一下,我該如何正確調用它?
你不需要調用它。當菜單需要獲取菜單項目的大小時,它會自動調用,因爲它正在構建以顯示。請問爲什麼你認爲你需要手動調用它? –
你不應該打電話給這個事件。系統在想要顯示菜單時會調用它。在顯示菜單之前,系統必須計算出所有菜單項需要多少空間。它通過調用這個事件來實現。你的錯誤是因爲你沒有傳遞足夠的參數,就像編譯器說的那樣。解決這個問題的方法是傳遞正確的參數。但我相信你根本不想打電話。 –
在FormResize事件中,我這樣做: 如果Form1.Label55.Font.Color = clNavy然後 Form1.Width:= 1000別的 如果Form1.Label55.Font.Color = clBlack然後 Form1.Width:= 700; 我想在改變字體顏色後菜單的寬度也變得更大。 但它仍然是一樣的,我不知道我該如何解決這個問題。 –