关于 IP 地址控件

Internet 协议 (IP) 地址控件允许用户以易于理解的格式输入 IP 地址。 此控件还允许应用程序以数字形式而不是文本形式来获取地址。

关于 IP 地址控件

Windows Internet Explorer 版本 4.0 中引入了 IP 地址控件,这是一个类似于编辑控件的新控件,让用户能够输入 Internet 协议 (IP) 格式的数字地址。 此格式由四个三位数字段组成。 每个字段都会单独处理;字段编号从 0 开始,从左到右依次排列,如图所示。

diagram showing values in each of the four fields of an ip address control

该控件只允许在每个字段中输入数字文本。 在给定字段中输入三个数字后,键盘焦点会自动移动到下一个字段。 如果应用程序不要求填写整个字段,则用户可以输入少于三位数的数字。 例如,如果字段只应包含数字 21,那么输入“21”并按该键后,用户就会进入下一个字段。

每个字段的默认范围是 0 至 255,但应用程序可以使用 IPM_SETRANGE 消息来将范围设置为这些限制之间的任意值。

注意

IP 地址控件在 Comctl32.dll 的 4.71 及更高版本中实现。

 

创建 IP 地址控件

在创建 IP 地址控制之前,请通过在 INITCOMMONCONTROLSEX 结构的 dwICC 成员中设置的 ICC_INTERNET_CLASSES 标志来调用 InitCommonControlsEx

使用 CreateWindowCreateWindowEx 函数来创建 IP 地址控件。 该该控件的类名称为在 Commctrl.h 中定义的 WC_IPADDRESS。 但是,由于这是一个子控件,因此请至少要使用 WS_CHILD 样式。

IP 地址控件是否为编辑控件?

IP 地址控件不是编辑控件,不会对 EM_ 消息做出响应。 但是,它会通过 WM_COMMAND 消息向所有者窗口发送以下编辑控制通知。 请注意,IP 地址控制还会通过 WM_NOTIFY 消息来发送专用 IPN_ 通知。

通知 通知原因
EN_SETFOCUS 在 IP 地址控件获得键盘焦点时发送。
EN_KILLFOCUS 在 IP 地址控件失去键盘焦点时发送。
EN_CHANGE 在 IP 地址控制中的任何字段发生变化时发送。 与标准编辑控件的 EN_CHANGE 通知一样,在屏幕更新后会收到此通知。