最近想设计一款WEBSHELL的综合破解工具。

然后设计到了日志输出那儿,因为MFC不熟悉,刚学。所以一直在想用edit控件好还是clist比较好。

今天设计了一下日志输出界面,然后记录一下学习笔记。

void CshellDlg::panted()
{
m_list.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT); //插入列表
m_list.InsertColumn(,L"Host",,);
m_list.InsertColumn(,L"Path",,);
m_list.InsertColumn(,L"Line",,);
m_list.InsertColumn(,L"Password",,);
m_list.InsertColumn(,L"Procotol",,);
} void CshellDlg::OnNMRClickList1(NMHDR *pNMHDR, LRESULT *pResult) //右键弹出菜单
{
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
// TODO: Add your control notification handler code here
CMenu popup;
popup.LoadMenu(IDR_MENU1);
CMenu* pM = popup.GetSubMenu();
CPoint p;
GetCursorPos(&p);
int count = pM->GetMenuItemCount();
// if (m_list.GetSelectedCount() == 0) //如果没有选中
// {
for (int i = ; i < count; i++)
{
pM->EnableMenuItem(i, MF_DISABLED | MF_GRAYED); //菜单全部变灰
} // }
pM->TrackPopupMenu(TPM_LEFTALIGN, p.x, p.y, this); *pResult = ;
} void CshellDlg::OnInsertInsert()
{
// TODO: Add your command handler code here
HANDLE m_hTrd;
m_hTrd = CreateThread(NULL, , Thread1, this, , NULL);
if (m_hTrd == NULL)
{
AfxMessageBox(L"create thread error");
} } DWORD WINAPI CshellDlg::Thread1(LPVOID lpParam)
{
CshellDlg* shell = (CshellDlg*)lpParam;
TCHAR Filesize[];
for (int i =;i<;i++)
{
//循环插入数据
swprintf(Filesize,L"%d",i);
int idx = shell->m_list.InsertItem(shell->m_list.GetItemCount(),L"Hello word");
shell->m_list.SetItemText(idx,,L"192.168.1.1");
shell->m_list.SetItemText(idx,,L"/owa.aspx");
shell->m_list.SetItemText(idx,,Filesize);
shell->m_list.SetItemText(idx,,L"");
shell->m_list.SetItemText(idx,,L"http");
// Sleep(100);
}
return ;
} void CshellDlg::OnInsertCleart()
{
m_list.DeleteAllItems(); //删除所有条目
// TODO: Add your command handler code here
} void CshellDlg::OnInsertDeletethis()
{
//wchar_t buffer[MAX_PATH] = {0};
int iselect = m_list.GetSelectionMark(); //获取光标输在位置
// m_list.GetItemText(iselect,0,buffer,MAX_PATH); //获取条目信息
m_list.DeleteItem(iselect); //删除光标所在的行
}
public:
void panted();
CListCtrl m_list;
afx_msg void OnNMRClickList1(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnInsertInsert();
afx_msg void OnInsertCleart();
afx_msg void OnInsertDeletethis();

MFC clist 学习设计的更多相关文章

  1. MFC 中的设计模式分析

    MFC 中的设计模式分析 最近在学习设计模式,突然想到MFC里面其实也包含有设计模式的原理,于是分析了一下,做一个笔记,网上也找了一些资料,在此一并感谢. 创建型模式 单例模式(Singleton P ...

  2. 【MFC】MFC技巧学习 当做字典来查

    MFC技巧学习 摘自:http://www.cnblogs.com/leven20061001/archive/2012/10/17/2728023.html 1."属性页的添加:创建对话框 ...

  3. MFC的学习路线

    首先,MFC是比较难的!比C#和VB要难得多.MFC是基于C++的.首先C++必须熟悉.MFC主要是学习里面的控件的使用. 建议学习路线: 1. 易语言中文编程从入门到精通: https://deta ...

  4. MFC 阶段学习总结

    由于项目需求,需要用到C++开发软件,所以开始学习C++,重点是MFC,因为是窗体应用,感觉win32的比较麻烦,还是MFC方便点.至于为什么要用C++呢, 由于C++应用不需要客户额外安装环境和加密 ...

  5. Win32/MFC/COM学习推荐书籍

    以前有不少朋友问关于学习各种技术的推荐书籍的问题,这里把我觉得比较好的一些书籍列一下,希望能起到抛砖引玉的作用就好了:) Win32开发 Programming Windows by Charles ...

  6. MFC Ribbon界面设计

    Ribbon是类似于office2007样式的界面,它替代了传统的MFC程序里的菜单和工具栏 MFC默认生成的Ribbon功能少,需要我们自己添加一些控件和图片等元素使界面好看 看下面的一个界面,是V ...

  7. C++ 和 MFC的学习

    1. 在Windows应用程序设计中,既可以使用个C的基本数据类型,也可以使用Windows自定义的数据类型.但要注意,凡是Windows自定义的关键字都要大写. 2. 什么是句柄? 在Windows ...

  8. 201621123037 《Java学习设计》 第五周学习总结

    Week05-继承.多态.抽象类与接口 1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 关键词:接口."has-a".多态.comparable.Compa ...

  9. Java设计模式学习——设计原则

    第一章 设计原则 1.开闭原则 一个软件实体,像类,模块,函数应该对扩展开放,对修改关闭 在设计的时候,要时刻考虑,让这个类尽量的好,写好了就不要去修改.如果有新的需求来,在增加一个类就完事了,原来的 ...

随机推荐

  1. 170215、监听器(HttpSessionListener)在开发中的应用

    这个监听器主要用于网站在线超时退出的功能. OnlineUserListener实现了HttpSessionListener定义的两个方法: sessionCreated()和sessionDestr ...

  2. 160629、 DBCP、C3P0、Proxool 、 BoneCP开源连接池的比较

       简介   使用评价  项目主页  DBCP DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序用使用 可以设置最大和最小连接,连接等 ...

  3. Powershell & SQL

    一.使用Powershell插入数据到SQL中 1.方法一 $ServerName=xxx $Database=xxx $UserID=xxx $Pwd=xxx $conn=new-object Sy ...

  4. info 手册

      info flex 可以查看flex帮助. h就可以看到相关命令,常用命令已经加粗: x           关闭此帮助窗口. q           一并退出 Info. RET         ...

  5. Keras之序贯(Sequential)模型

    序贯模型(Sequential) 序贯模型是多个网络层的线性堆叠. 可以通过向Sequential模型传递一个layer的list来构造该模型: from Keras.models import Se ...

  6. springboot整合JPA创建数据库表失败

    org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "create table t_s ...

  7. 【教程】Microsoft Visual Studio 2015 安装Android SDK

    http://blog.sina.com.cn/s/blog_51f9ffaa0102vuhy.html Hi,大家好,自vs2015发布后,有很多小伙伴尝试使用VS2015开发安卓,由于是新手,一折 ...

  8. sqlserver导入excel的电话号码(身份证)变为科学计数解决方式

    如果excel中有一列存的是手机号码或者身份证号码,那么导入到sql中时,会把手机或者身份证当作数字格式对待,因而会以科学记数法的形式存在sqlserver表中,解决方式,先将excel文件另存为文本 ...

  9. LeetCode:下一个更大元素I【31】

    LeetCode:下一个更大元素I[31] 题目描述 给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集.找到 nums1 中每个元素在 nums2 中的 ...

  10. Linux命令(6/28)——declare/typeset命令

    declare 与 typeset 命令是bash的内建命令,两者是完全一样的,用来声明shell变量,设置变量的属性. declare命令(别名typeset)属shell内建命令,用于申明shel ...