社区
Windows SDK/API
帖子详情
一个关于IP ADDRESS Control的问题?
glyc
2002-11-08 03:55:18
我在C++Builder5中,建立一个新工程。
在一个按钮中创建一个IP ADDRESS Control控件(CreateWindow),另一个按钮中删除它(DestroyWindow),先创建IP ADDRESS Control,然后删除它,屏幕刷新后,主form的字体就变了(无论以前是什么字体),Font属性的内容变的很乱。
这是为什么?
...全文
345
12
打赏
收藏
一个关于IP ADDRESS Control的问题?
我在C++Builder5中,建立一个新工程。 在一个按钮中创建一个IP ADDRESS Control控件(CreateWindow),另一个按钮中删除它(DestroyWindow),先创建IP ADDRESS Control,然后删除它,屏幕刷新后,主form的字体就变了(无论以前是什么字体),Font属性的内容变的很乱。 这是为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
glyc
2002-12-18
打赏
举报
回复
上面的还不明白我的用意:
是保持窗口原来的字体,而不是设置为默认的GUI字体。
我用WM_GETFONT总是得到NULL。
各位有什么好办法?
s98231106
2002-12-14
打赏
举报
回复
HWND hfont=GetStockObject(DEFAULT_GUI_FONT);
SendMessage(Handle,WM_SETFONT,(DWORD)hfont,0);
warton
2002-12-14
打赏
举报
回复
重新设置一下字体,是它改变了默认的语言字符集??
NowCan
2002-12-12
打赏
举报
回复
唉,失望。
glyc
2002-12-12
打赏
举报
回复
使用SendMessage(hip,WM_CLOSE,NULL,NULL);
没有解决问题,问题依旧。
glyc
2002-12-12
打赏
举报
回复
没想到这个贴过了这么久,还有热心人回复。向各位学习。
把COKING的方法拿回去试一试。
COKING
2002-11-28
打赏
举报
回复
HWND hfont=GetStockObject(DEFAULT_GUI_FONT);
SendMessage(Handle,WM_SETFONT,(DWORD)hfont,0);
不要使用DestroyWindow,用SendMessage(hip,WM_CLOSE,NULL,NULL);
删除它。
Wingsun
2002-11-28
打赏
举报
回复
好像是在销毁的时候有一个什么消息要处理去了,记得不是很清楚了.你看看MSDN吧!那上面有说明的
VenusC
2002-11-28
打赏
举报
回复
VC6里有个很好用的IP Address Ctrl控件,不知道怎么引过来,
从ocx里导入时,在所有ocx里面没查到。有谁知道在哪个ocx里?
NowCan
2002-11-09
打赏
举报
回复
前两天做一个软件,需要用到输入IP地址的那种专用输入框(就是Windows里网络设置里面的那种),上网搜索了一下,居然还不易找到合适的控件,现在就讲述一下不用控件如何做出这种输入框。
IP地址控件是Windows里的一种标准控件,安装IE4.0以上就可以使用了。具体的使用方法如下。
首先,调用InitCommonControlsEx初始化Windows Common Control,它的Class是ICC_INTERNET_CLASSES,然后用CreateWindow建立这个控件,指定类名是"SysIPAddress32",并且需要指定WS_CHILD属性,其他参数和建立普通窗口没什么区别,然后调用ShowWindow将其显示出来。至此,界面部分完成,例如我的程序里就有如下程序段。
INITCOMMONCONTROLSEX CommCtrl;
CommCtrl.dwSize=sizeof(CommCtrl);
CommCtrl.dwICC=ICC_INTERNET_CLASSES;//指定Class
if(InitCommonControlsEx(&CommCtrl))
{
IP1=CreateWindow(TEXT("SysIPAddress32"),//IP地址控件的类名
TEXT("IPADDR1"),
WS_CHILD | WS_TABSTOP | WS_GROUP,
10,
72,
130,
24,
Panel1->Handle,//这个是父窗口的句柄
0,
0,
0);
IP2=CreateWindow(TEXT("SysIPAddress32"),
TEXT("IPADDR2"),
WS_CHILD | WS_TABSTOP | WS_GROUP,
160,
72,
130,
24,
Panel1->Handle,
0,
0,
0);
ShowWindow(IP1, SW_SHOW);
ShowWindow(IP2, SW_SHOW);
}
这样,这个IP地址输入框就可以输入了,但是它没有什么用,我们至少还需要在程序里将输入的IP地址读出来,这个是用SendMessage实现的,指定消息IPM_GETADDRESS,::SendMessage(IP1, IPM_GETADDRESS, 0, (LPARAM) & dwIPAddr);dwIPAddr就是读出的IP地址,为了方便使用还有四个宏用来读出四个段的数值,FIRST_IPADDRESS,SECOND_IPADDRESS,THIRD_IPADDRESS,FOURTH_IPADDRESS,这样一个基本可用的IP地址输入框就做成了。
当然,关于这个控件还有很多的东西,有兴趣可以到MSDN查IP Address Controls仔细研究。
NowCan
2002-11-09
打赏
举报
回复
不知道,我没有在程序中删过这个东西。
http://vip.6to23.com/NowCan1/tech/ip_addr_ctrl.htm
SuperSuperLéon
2002-11-08
打赏
举报
回复
这个IP control我也试着写过,但没有成功。不知哪里错了。
后来就没去理他。
可以把code贴出来让我们学习学习吗?
C++/MFC-
IP
Address
Control
IP
地址控件,所属类:C
IP
Address
Ctrl 一、类成员函数 IsBlank Determines if all fields in the
IP
Address
Control
are empty. Clear
Address
Clears the contents of the
IP
Address
Control
.
IP
地址控件——
IP
Address
Control
空内容判断 if( ((C
IP
Address
Ctrl*)GetDlgItem(IDC_
IP
ADDRESS
1))->IsBlank() ) { MessageBox("请填写设备
IP
地址"); return; } 设置控件内容 char * str
IP
= "127.0.0.1"; struct in_addr addr
IP
; addr
IP
.S_un.S_addr = inet_...
MFC
IP
Address
Control
获取本机
IP
地址
WSADATA wsData; WSAStartup(MAKEWORD(2,2), &wsData); char localname[256]; gethostname(localname,256); HOSTENT *pHost; pHost = gethostbyname(localname); m_
IP
Con.Set
Address
(htonl(ine
MFC控件(9):network
address
control
这个控件的名字倒是取的不错,一看就知道是让你输入
IP
地址或host name的. 不过一打开看到那控件的样子就完全是个Edit
control
.不过该控件对应的类也确实是继承自类CEdit. 先拖个控件.然后绑定个变量 CNet
Address
Ctrl m_netName; DDX_
Control
(pDX, IDC_NET
ADDRESS
, m_netName); m_netN...
IP
Address
Control
控件的使用
CString
IP
;BYTE f1,f2,f3,f4;TCHAR temp[10] = "/0";this->m_
IP
Address
.Get
Address
(f1,f2,f3,f4);
IP
= _itoa(f1,temp,10);
IP
+= _T(.);
IP
+= _itoa(f2,temp,10);
IP
+= _T(.);I
Windows SDK/API
1,221
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章