GUI庫:使本機應用程式具備Windows表單的簡易性

來源:互聯網
上載者:User

本文將介紹以下內容:

有關 GUI 編程的問題

建立視窗對象

處理事件和通知

表單和控制項

本文使用以下技術:

Win32 API、C++

目錄

兼有本機和可移植性

無 windows.h

處理每個視窗

直觀的代碼

控制項與表單

表單編程

處理表單

脫離舊 ID

事件和通知

菜單、捷徑及類似項

索引標籤控制項和表單

調整大小

與 Visual Studio 2005 整合

實現行為

使用 C++ 進行 GUI 編程的問題是大多數庫的層級太低,給編程人員帶來了太多負擔。這些庫依賴類似 C 語言的結構,或者它們的封裝類不能隱藏足夠的複雜性。而且,它們不能使事件編程足夠簡單,反而迫使您必須瞭解有關基礎 WM_ 訊息的知識。

在本文中,我將為您介紹 eGUI++,這是我編寫的一個 C++ 庫,可為您(用戶端編程人員)提供一種處理 GUI 應用程式的進階介面。它可以隱藏複雜性,通過完全隱藏 WM_ 訊息的知識使事件編程變得相當簡單。您不需要處理任何類似 C 語言的原始結構;始終只需要處理類。總之,eGUI++ 用戶端代碼易於閱讀,也易於編寫。

eGUI++ 只在 Windows® 中運行。我實在不信任跨平台的 GUI 應用程式,除非是在不太重要(只是比較簡單的測試架構、原型)或者僅供教學的場合使用這樣的應用程式。更重要的是,我真的認為應該善用基礎作業系統提供的所有功能。而 Windows XP 和 Windows Vista® 的確提供了不少功能。

兼有本機和可移植性

那些期望使用 CLR 代碼的人,你們已掌握了 C++。那是一個很好的平台,所以無需對其進行改進。其餘渴望使用良好的庫來為 Windows 2000 及更新的作業系統產生本機 Windows 代碼的人,請繼續閱讀。您會對結果滿意的;該庫利用您的目標作業系統,使用起來很直觀。並且您根本不需要使用 Microsoft® .NET Framework。您編寫的代碼使用起來就像 C++ 代碼。此外,您將編寫的代碼不是特定於 Visual C++ 編譯器的。如果您願意,可使用 g++(GNU C++ 編譯器)4.1 編譯自己寫的代碼。基本上,如果您封裝了 Win32® API,就沒什麼能阻止您編寫可移植代碼了。

也就是說,對於重要的 GUI,您需要良好的 IDE,如 Visual Studio® 2005 或 Visual Studio 2008 速成版。我已調整了我的庫,以與 Visual Studio 2005 Express 及更新的版本整合,為您提供更好的 GUI 體驗。我真正重視的是代碼補全功能,以便確保當您建立新的 GUI 類或擴充現有 GUI 類時 IDE 會儘力提供協助。

我希望享受編寫 GUI 應用程式的過程。因此,我建立 eGUI++ 的目的是使 GUI 代碼易於閱讀和編寫。例如,我已在所有可能的地方實現了代碼補全功能。這樣,GUI 編程便安全了(如果存在錯誤,只要有可能,我就會在編譯時間將其捕獲;否則,將引發運行時異常)。eGUI++ 適合資源編輯器(它與 Visual Studio 2005 和資源編輯器的更新版本進行了整合)。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.