国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Delphi > 正文

在Delphi中使用IP控件

2019-11-18 18:55:32
字體:
來源:轉載
供稿:網友

----- 在網絡程序中,我們常常碰到需要用戶輸入ip地址的情況。然而Delphi并沒有為我們提供可以用于輸入IP串的控件,于是我們只好用Tedit控件(單行文本框)來接受用戶輸入的IP串。但是,使用Tedit來輸入IP串并不是一個好的主意,因為處理起來非常不方便。事實上,在我們的身旁有一個專門用來輸入IP串的Windows控件,該控件如圖所示。IP控件會拒絕非法的IP串(在每個部分只能輸入0..255之間的數字);它讓你可以輕松地獲取控件中的IP串所對應的IP值(32位整數),這省去了IP串和IP值之間相互轉換的麻煩;此外,你還能限制IP控件中所能輸入的IP的范圍。在本文中,我將向大家介紹如何在我們的Delphi程序中使用Windows的IP控件。

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

---- 初始化Windows自定義控制庫

---- Windows提供了兩個API函數,InitCommonControls和InitCommonControlsEx,用來初始化自定義控制庫。從名字我們不難看出這兩個API函數的關系:后者是前者的增強。如果你希望在程序中使用IP控件,你必須用InitCommonControlsEx來完成對自定義控制庫以及類的初始化。函數InitCommonControlsEx的原型如下(Pascal語法):

---- ... ...

---- 創建IP控件

---- ... ...

---- 使用IP控件。 在程序中,我們通過向IP控件發送消息來與它通訊。IP控件可以響應的消息有以下6個,這些消息及它們的含義,見下表:

---- ... ...

---- 若想要獲取IP控件中IP串所對應的IP值,你應該向IP控件發送IPM_GETADDRESS消息,并且需要把一個32位整數的地址作為SendMessage的最后一個參數。

---- ... ...

---- IP控件的通知消息

---- 當IP串被改動后或者輸入焦點發生了轉移,IP控件就會向它的父窗口發送通知消息IPN_FIELDCHANGED。在大多數情況下,我們都可以忽略此通知消息。以下是處理通知消息IPN_FIELDCHANGED的一個示例:

PRocedure Tform1.WndProc(var Msg: TMessage);var p:PNMHDR;begininherited; if Msg.Msg=WM_NOTIFYthen begin     p:=Pointer(Msg.lParam);     if p^.code=IPN_FIELDCHANGED     then begin	{…	處理IP控件的IPN_FIELDCHANGED通知消息	…}     end;end;end;

上一篇:DELPHI下調節器用EXCEL為其編輯和打印

下一篇:Delphi技巧--有“背景”的窗體

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 上林县| 磐石市| 南乐县| 甘孜县| 马山县| 兴义市| 甘南县| 淳安县| 自治县| 新沂市| 美姑县| 鹤壁市| 米林县| 旬阳县| 云浮市| 龙口市| 茌平县| 卢龙县| 榕江县| 凌源市| 桂林市| 成安县| 法库县| 沅江市| 上林县| 万宁市| 晋中市| 太和县| 武陟县| 通江县| 孝感市| 鹤山市| 池州市| 屏东县| 南投市| 金湖县| 凤凰县| 潼南县| 银川市| 翼城县| 原平市|