wxWidgets:使用IP Address控件(仅适用于msw)

本文介绍了如何在wxWidgets中,由于官方未提供IP Address控件,通过引用PlatformSDK来创建一个自定义的wxIpCtrl类,实现类似于VS2005中的IP Address输入功能,特别适用于msw平台。
摘要由CSDN通过智能技术生成

 vs2005中提供有IP Address控件,可以方便的输入IPv4地址,wxWidgets没有提供类似插件,不过可以利用PlatformSDK自己定义一个示意图










1,声明一个基于wxControl的类,类名为wxIpAddr,实现如下:
wxIpCtrl.h

#ifndef _WXIPCTRL_H_
#define  _WXIPCTRL_H_
#if  defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma  interface "wxIpCtrl.h"
#endif
#include 
" CommCtrl.h " // SDK必须用到的头文件
#include 
" wx/msw/private.h "
class  WXDLLEXPORT wxIpAddr: public  wxControl
{
public:
    wxIpAddr(wxWindow 
*parent, wxWindowID id,
               
const wxString& value = wxEmptyString,
               
const wxPoint& pos = wxDefaultPosition,
               
const wxSize& size = wxDefaultSize,
               
long style = 0,
               
const wxValidator& validator = wxDefaultValidator,
               
const wxString& name = wxT("SysIPAddress32"))
    
{
        Create(parent, id, value, pos, size, style, validator, name);
    }

    
bool Create(wxWindow *parent, wxWindowID id,
               
const wxString& value = wxEmptyString,
               
const wxPoint& pos = wxDefaultPosition,
               
const wxSize& size = wxDefaultSize,
               
long style = 0,
               
const wxValidator& validator = wxDefaultValidator,
               
const wxString& name = wxT("SysIPAddress32"));
    
~wxIpAddr();
    
virtual wxSize DoGetBestSize() const;// 为IP address控件定义一个合适的大小
    wxUint32 GetIpAddr32();// 得到一个32位IP地址(大字节序)
    wxString GetIPAddStr();// 得到一个xxx.xxx.xxx.xxx格式的字符串
private:

}
;
#endif

2,方法实现:
wxIpCtrl.cpp
#if  defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma  implementation "wxIpCtrl.h"
#endif

//  For compilers that support precompilation, includes "wx/wx.h".
#include  " wx/wxprec.h "

#ifdef __BORLANDC__
#pragma  hdrstop
#endif

#ifndef WX_PRECOMP
#include 
" wx/wx.h "
#endif
#include 
" wxIpCtrl.h "
wxIpAddr::
~ wxIpAddr()
{

}

bool  wxIpAddr::Create(wxWindow  * parent, wxWindowID id,
                
const  wxString &  value,
                
const  wxPoint &  pos,
                
const  wxSize &  size,
                
long  style,
                
const  wxValidator &  validator,
                
const  wxString &  name)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值