使用Windows系統提供的IP控制項

來源:互聯網
上載者:User

在網路程式中,我們常常碰到需要使用者輸入IP地址的情況。然而C++ Builder並沒有為我們提供可以用於輸入IP串的控制項,於是我們只好用TEdit控制項(單行文字框)來接受使用者輸入的IP串。但是,使用TEdit來輸入IP串並不是一個好的主意,因為處理起來非常不方便。事實上,在我們的身旁有一個專門用來輸入IP串的Windows控制項,就象網路連結屬性中, 網際網路通訊協定 (IP) (TCP/IP) 屬性中輸入IP的控制項。IP控制項會拒絕非法的IP串(在每個部分只能輸入0~255之間的數字);它讓你可以輕鬆地擷取控制項中的IP串所對應的IP值(32位整數),這省去了IP串和IP值之間相互轉換的麻煩;此外,你還能限制IP控制項中所能輸入的IP的範圍。在本文中,我將向大家介紹如何在我們的C++ Builder程式中使用Windows的IP控制項。

Windows中有兩個非常重要的動態連接庫:commctrl.dll和comctl32.dll,它們是Windows的自訂控制庫(Windows Common Controls)。自訂控制庫中包含了許多常用的Windows控制項,如Statusbar,Coolbar,HotKey等;在C++ Builder中,這些控制項大多數都已被封裝成可視化控制項了。在Microsoft推出Internet Explorer 3之後,自訂控制庫中新增了一些控制項,其中就包括Windows的IP控制項(IP Address edit control)。

●初始化Windows自訂控制庫●

Windows提供了兩個API函數,InitCommonControls和InitCommonControlsEx,用來初始化自訂控制庫。從名字我們不難看出這兩個API函數的關係:後者是前者的增強。如果你希望在程式中使用IP控制項,你必須用InitCommonControlsEx來完成對自訂控制庫以及類的初始化。函數InitCommonControlsEx的原型如下:

typedef struct tagINITCOMMONCONTROLSEX {

DWORD dwSize;       // size of this structure

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.