最近想设计一款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. 【BZOJ3813】奇数国 线段树+欧拉函数

    [BZOJ3813]奇数国 Description 给定一个序列,每次改变一个位置的数,或是询问一段区间的数的乘积的phi值.每个数都可以表示成前60个质数的若干次方的乘积. Sample Input ...

  2. ZOJ 3946 Highway Project(Dijkstra)

    Highway Project Time Limit: 2 Seconds      Memory Limit: 65536 KB Edward, the emperor of the Marjar ...

  3. python之MySQL学习——数据查询

    import pymysql as ps # 打开数据库连接 db = ps.connect(host='localhost', user='root', password='123456', dat ...

  4. Linux中搭建HTTP服务器

    1.配置IP [root@localhost~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static ...

  5. ajax简介及JS写原生ajax

    ajax 1.什么是ajax ajax 的全称是Asynchronous JavaScript and XML,其中, Asynchronous 是异步的意思,指的是异步 JavaScript 和 X ...

  6. Python菜鸟之路:Django 缓存

    Django中提供了6种缓存方式: 开发调试 内存 文件 数据库 Memcache缓存(python-memcached模块) Memcache缓存(pylibmc模块) 1. 开发调试 # 此为开始 ...

  7. Java基础 - 面向对象 - 类的定义

    package mingri.chapter_6; import java.util.Scanner; public class Person { /* * 类变量 * 定义方法: * 数据类型 变量 ...

  8. HTTP 常见状态码

    1. 以"1"开头(临时响应) 100: Continue,请求者应当继续提出请求;表示服务端已经收到请求的一部分,正在等待其余部分; 101: Switching Protoco ...

  9. 2016 安全行业全景图——By 安全牛

    2014年有幸在北京办公室与安全牛的创办人刘朝阳见过一面,从那以后一直关注这安全牛(http://www.aqniu.com/)以及IT经理网(http://www.ctocio.com/).今年初看 ...

  10. 006-基于hyperledger fabric1.4( 官方文档)编写第一个应用【外部nodejs调用】

    一.概述 官方原文地址 Writing Your First Application如果对fabric网络的基本运行机制不熟悉的话,请看这里. 注意:本教程是对fabric应用以及如何使用智能合约的简 ...