我有一個項目,我需要使用一個dll和.cpp以及.h文件的API。 在文檔中,我被告知要使用提供的API的PreTranslateMessage(MSG * pMsg)類函數,並將其放入用戶界面的消息循環中。如何從VCL項目的消息循環中調用其他函數?
是否有可能使用C++ Builder作爲這個項目的IDE,如果是的話,那麼怎麼樣,因爲它沒有一個消息循環,我可以放置這個函數。
我有一個項目,我需要使用一個dll和.cpp以及.h文件的API。 在文檔中,我被告知要使用提供的API的PreTranslateMessage(MSG * pMsg)類函數,並將其放入用戶界面的消息循環中。如何從VCL項目的消息循環中調用其他函數?
是否有可能使用C++ Builder作爲這個項目的IDE,如果是的話,那麼怎麼樣,因爲它沒有一個消息循環,我可以放置這個函數。
甲VCL應用並有消息循環(這是一個正常的Windows應用程序,畢竟) 。它隱藏在TApplication::Run()
方法的內部,該方法在項目的WinMain()
函數中調用。如果您想在此循環中調用PreTranslateMessage()
,則可以直接或通過TApplicationEvents
組件將事件處理程序分配給TApplication::OnMessage
事件。在VCL處理消息之前,消息從消息隊列中移除後立即觸發OnMessage
事件。
我不記得是怎麼回事,但是可以使用C++ Builder和'VCL'通過'PreTranslateMessage'在消息隊列中發佈消息否 – higuaro