2010-07-12 63 views
0

有誰知道調整本機窗口的跨平臺方式 - 本地我的意思是在Windows內部運行,Mac或Linux的窗口工具包?調整本機窗口

任何幫助,將不勝感激!

+3

沒有一個--C++本身沒有圖形功能。 – 2010-07-12 10:53:49

+0

窗口是由您自己的應用程序還是由其他應用程序擁有? – Thomas 2010-07-12 11:20:10

+0

嗨Thomas 該窗口將由另一個應用程序擁有 – infomaniac 2010-07-12 14:30:44

回答

1

沒有一個。甚至沒有跨平臺的方式通過僅使用標準C++來創建和顯示「本地窗口」。

有通過使用提供窗口系統的平臺無關的抽象工具包/框架,包括窗口的創建,縮放,自定義繪製,按鈕等跨平臺的方式...:

  • 諾基亞Qt:爲它的小部件使用本地繪圖API,這意味着一切都看起來「正確」,而不會處理平臺異常。有很棒的文檔和一個非常大的功能集。
  • wxWidgets:與Qt相同,儘管有些人認爲文檔缺乏,代碼可能會變得混亂。
  • GTK +:在純粹的c編寫的Windows上看起來很醜陋(有C++包裝,但仍然是c)。

如果你真的想抽象平臺的東西你自己,你就必須要麼分裂的源代碼,並重新實現所有上述項目已經有了,或者使用的#ifdef很多像這樣的:

#ifdef _WIN32 
    // windows specific code 
#elif defined(somelinuxdefine?) 
    //Linux code 
#elif defined(somemacdefine?) 
    // Mac code 
#endif 

這是至少非常困難,凌亂和不可維護的。

+0

嗨rubenvb 感謝您的答覆。我不打算創建本地窗口,但我只是尋找一個工具包,可以讓我根據命令調整特定的本地窗口。例如,Adobe Captivate 5會根據您定義的預設自動調整您捕捉的窗口的大小 - 所以必須有辦法做到這一點。它不一定需要跨平臺;如果我可以讓它在Windows和OSX上運行,那麼我會很高興。 Linux現在不是一個直接的問題。有任何想法嗎? – infomaniac 2010-07-12 11:44:23

+0

不,對不起,沒有任何經驗。 – rubenvb 2010-07-12 11:53:09

+0

不用擔心:)謝謝rubenvb! – infomaniac 2010-07-12 14:31:10

0

對於X11 - (例如Linux的,但沒有隻),

你可能會感興趣有:中xdotool by Jordan Sissel

  • 來源,造成「工具可以模擬鍵盤輸入和鼠標活動,移動並調整窗口大小等。「

我不確定,但它似乎也有xdotool MacOSX和FreeBSD端口。