• 学习远控界面设计二: 程序界面列表处理


    enum
    {
        ONLINELIST_IP=0,          //IP的列顺序
        ONLINELIST_Proxy,          //代理
        ONLINELIST_COMPUTER_NAME, //计算机名/备注
        ONLINELIST_OS          //操作系统
    };

    建立枚举列表条目如上,将定义放在头文件里。这样以后方便改动

    建立一个函数,添加处理列表函数。

    我们先来完善上线列表设计。

    typedef struct //声明结构体
    {
        char    *title;           //列表的名称
        int        nWidth;   //列表的宽度
    }COLUMNSTRUCT;
    
    COLUMNSTRUCT g_Column_Data[] =  //声明结果体数组
    {
        {"IP",                200    },
        {"计算机名/备注",    200    },
        {"操作系统",        200    },
        {"proxy",            200    }
    };
    
    int g_Column_Count=4; //列表的个数 从0开始

    int CGhostDlg::InitList(void)
    {
    //初始化上线列表
    for (int i = 0; i < g_Column_Count; i++)
    {
    m_list_oline.InsertColumn(i, g_Column_Data[i].title,LVCFMT_CENTER,g_Column_Data[i].nWidth); //以居中的方式,循环插入数据
    }
    return 0;
    }

     

    再来看InitList(void) 函数

    好了。我们现在开编译运行看看什么结果。(记得在OnInitDialog()函数中调用自定义的函数)

    现在上线列表设计完成了,接下来设计日志列表。

    远控上线下线,都需要日志来记录或者提醒。

    COLUMNSTRUCT g_Column_Data_Message[] = 
    {
        {"信息类型",        68    },
        {"时间",            100    },
        {"信息内容",        660    }
    };
    
    int g_Column_Count_message=3; //消息个数3

    在InitList 函数里循环插入条目。

    for (int i = 0; i < g_Column_Count_message; i++)
        {
            m_list_msg.InsertColumn(i, g_Column_Data_Message[i].title,LVCFMT_CENTER,g_Column_Data_Message[i].nWidth);
        }

    编译运行,看看结果。

    最后代码完成如下:

  • 相关阅读:
    java-mybaits-00503-延迟加载
    java-mybaits-00502-案例-映射分析-一对一、一对多、多对多
    java-mybaits-00501-案例-映射分析-订单商品数据模型
    java-mybaits-00402-Mapper-动态sql-if、where、foreach、sql片段
    数据结构与算法实验题7.1 M 商人的求救
    HDOJ 1075
    HDOJ 1856
    HDOJ 3790
    HDOJ 1869
    HDOJ 1870
  • 原文地址:https://www.cnblogs.com/killbit/p/5093409.html
Copyright © 2020-2023  润新知