zoukankan      html  css  js  c++  java
  • 001之IP基础对话框

    在TCP/IP协议中,建立连接的两个进程(客户端和服务器)各自用一个socket(IP地址+TCP/UDP端口号)标识。在MFC中流式套接字(SOCK_STREAM)和数据报套接字(SOCK_DGRAM)分别对应TCP/UDP协议通信使用。

    基础IP对话框如下,将输入的IP信息进行整合到文本框中。

    地址框可以设置属性为只读,或者是将控件设置EnableWindow。

    其中使用控件变量如下:

    具体代码为:BYTE为unsigned char型,取值0-255;

     1     // TODO: 在此添加控件通知处理程序代码
     2     BYTE nfield[4];
     3     CString strIP;
     4     UpdateData();    //默认为true,将输入值传入控件,否则将控件变量值输出到文本框中
     5     
     6     if(ServerIP.IsBlank()||m_str_port =="")//判断输入变量是否合法
     7     {
     8         AfxMessageBox("IP地址与端口不能为空");
     9         return ;        //如不执行return 则会继续执行赋IP操作
    10     }
    11     //将IP传给地址框
    12     ServerIP.GetAddress(nfield[0],nfield[1],nfield[2],nfield[3]);
    13     strIP.Format("%d.%d.%d.%d",nfield[0],nfield[1],nfield[2],nfield[3]);
    14     m_edit_address.SetWindowText(strIP+" :"+m_str_port);
    15 }

    MFC中涉及字符串处理的API函数都有A和W两个版本:

    1)A结尾的表示使用ANSI编码:中文的Windows操作系统一般对应的就是GBK(英文占用一个字节 、汉字两个字节。 )

    2)W结尾的表示使用UNICODE编码:UTF-16版本---英文两个字节、汉字两个字节 ;UTF-32版本---英文/汉字四个字节

    如果你的软件将来只需要英文或汉文字符,那就选择A版本的API,如果有可能要使用多国文字,那么最好使用W版本的API。都不影响则无需理会,以上取值直接为SetWindowText。

    MFC中控件大多有Get/Set开头的函数,一般Get是将控件的值写入到函参中,Set是将函参赋值给控件变量。

  • 相关阅读:
    图论基础
    降维和聚类系列(二):拉普拉斯特征映射Laplacian Eigenmaps,谱聚类,实例代码
    降维和聚类系列(一):方法综述和比较(持续更新中)
    markdown设置图片尺寸
    指示向量indicator vector
    Sherlock and his girlfriend CodeForces
    The Meeting Place Cannot Be Changed CodeForces
    The Meeting Place Cannot Be Changed CodeForces
    数组分块入门 3
    数组分块入门 3
  • 原文地址:https://www.cnblogs.com/maxonzou/p/10568809.html
Copyright © 2011-2022 走看看