在Delphi中使用IP控制元件 (轉)
在中使用IP
西安交通大學
劉明華
----- 在中,我們常常碰到需要輸入的情況。然而Delphi並沒有為我們提供可以用於輸入IP串的控制元件,於是我們只好用Tedit控制元件(單行文字框)來接受使用者輸入的IP串。但是,使用Tedit來輸入IP串並不是一個好的主意,因為處理起來非常不方便。事實上,在我們的身旁有一個專門用來輸入IP串的控制元件,該控制元件如圖所示。IP控制元件會拒絕的IP串(在每個部分只能輸入0..255之間的數字);它讓你可以輕鬆地獲取控制元件中的IP串所對應的IP值(32位整數),這省去了IP串和IP值之間相互轉換的麻煩;此外,你還能限制IP控制元件中所能輸入的IP的範圍。在本文中,我將向大家介紹如何在我們的Delphi程式中使用Windows的IP控制元件。
---- Windows中有兩個非常重要的動態聯結庫:commctrl.dll和comctl32.dll,它們是Windows的自定義控制庫(Windows Common Controls)。自定義控制庫中包含了許多常用的Windows控制元件,如Statar,Coolbar,HotKey等;在Delphi中,這些控制元件大多數都已被包裝成視覺化控制元件了。在推出Inte Explorer 3之後,自定義控制庫中新增了一些控制元件,其中就包括Windows的IP控制元件(Address edit control)。
---- 初始化Windows自定義控制庫
---- Windows提供了兩個,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; begin inherited; if Msg.Msg=WM_NOTIFY then begin p:=Pointer(Msg.lParam); if p^.code=IPN_FIELDCHANGED then begin {… 處理IP控制元件的IPN_FIELDCHANGED通知訊息 …} end; end; end;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1001207/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在delphi中使用flash控制元件 (轉)控制元件
- 在Delphi中編寫控制元件的基本方法 (轉)控制元件
- 在Delphi中編寫控制元件的基本方法(1) (轉)控制元件
- 在DELPHI中圖片轉換
- 在Delphi中使用Queued 元件 (轉)元件
- 在Delphi中操作快捷方式 (轉)
- 在DELPHI程式中撥號上網 (轉)
- 在BCB中輕鬆使用ActiveX控制元件 (轉)控制元件
- 在Delphi中巧用WINDOWS 的API函式 (轉)WindowsAPI函式
- 在VB.Net中建立使用控制元件陣列 (轉)控制元件陣列
- 改良控制元件-Delphi自帶控制元件Bug的消除 (轉)控制元件
- 對Delphi控制元件的一點改良 (轉)控制元件
- 在Delphi中實現圖片的旋轉、縮放 (轉)
- 在DELPHI2.0/3.0中直接操作埠 (轉)
- Delphi使用VB編寫的ActiveX控制元件全攻略 (轉)控制元件
- 對Delphi控制元件的一點改良(二) (轉)控制元件
- delphi 控制元件的拿來主義(一) (轉)控制元件
- 相當於delphi的日曆控制元件 (轉)控制元件
- Delphi控制元件的拿來主義(二) (轉)控制元件
- 對Delphi控制元件的一點改良(三) (轉)控制元件
- Delphi控制元件的拿來主義(三) (轉)控制元件
- 在Delphi中實現任意形狀的窗體 (轉)
- 在Delphi中捕獲控制檯程式的輸出 (轉)
- 在海外代理IP服務中,如何使用代理IP
- 用Delphi在區域網中實現網上影院 (轉)
- Delphi中儲存影像列表 (轉)
- Delphi中的類和物件 (轉)物件
- 在Delphi程式設計中獲取作業系統資訊 (轉)程式設計作業系統
- 在DELPHI程式中使用ADO物件存取ODBC資料庫 (轉)物件資料庫
- 關於Delphi中預編譯指令的使用方法 (轉)編譯
- 在Delphi中開發使用多顯示器的應用程式
- DELPHI 使用dbexpress控制元件連線MySQL資料庫方法Express控制元件MySql資料庫
- 原來的控制元件delphi7裡何處尋? (轉)控制元件
- delphi中Treeview的使用介紹View
- 在repeater、datalist控制元件中使用分頁功能 (轉)控制元件
- 利用Delphi 5中呼叫Excel 97 (轉)Excel
- Delphi中布林型別辨析 (轉)型別
- codesoft在delphi,C#中的例子C#