最近想设计一款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. iOS Xcode之SVN(remove git)

    项目用SVN比较多,所以大家都把精力放在如何在XCODE上使用SVN.     配置SVN当然是很简单,但提交都默认出现git的提交窗,否则要到repositories界面去提交.   目前没有找到什 ...

  2. linux ftp 上传与下载命令解析

    month=`date -d "last month" +"%Y%m"` year=`date +"%Y"` rm /home/yourDi ...

  3. zookeeper简单操作

    接下来主要讲述了通过zookeeper服务器自带的zkCli.sh工具模拟客户端访问和操作zookeeper服务器(包括集群服务器). 当成功启动zookeeper服务后,切换到server1/bin ...

  4. JavaScript-烂笔头

    JavaScript 对大小写敏感 注释单行用:// 注释多汗用:/* */ 声明变量:var 变量名 (未使用值来声明的变量,值为undefined) JavaScript 变量均为对象 可以使用关 ...

  5. protoc-gen-go: error:bad Go source code was generated: 163:6: illegal UTF-8 encoding (and 2915 more errors)

    protoc-gen-go: error:bad Go source code was generated: 163:6: illegal UTF-8 encoding (and 2915 more ...

  6. iOS之block,一点小心得

    作为一个iOS开发程序员,没用过block是不可能的.这次我探讨的是block原理,但是有些更深层次的东西,我也不是很清楚,以后随着更加了解block将会慢慢完善. 第一个问题,什么是block? 我 ...

  7. mysql数据库转移到oracle的经历

    简单说明一下情况,系统原本是LAMP的.现在要添加对oracle的支持,原来的mysql也同样支持(通过配置选择数据库类型). 第一步,表结构转移到oracle,并掌握转移的方法(方便给有二开的老客户 ...

  8. tpot从elastic search拉攻击数据之三 用于拉取的java程序

    package download; import org.json.JSONArray; import java.io.*; import java.net.URL; import java.net. ...

  9. 微信js分享朋友圈(一)

    1.绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. 备注:登录后可在“开发者中心”查看对应的接口权限. 2.引入js文件 <script type=&q ...

  10. CNI portmap插件实现源码分析

    DNAT创建的iptables规则如下:(重写目的IP和端口) PREROUTING, OUTPUT: --dst-type local -j CNI-HOSTPORT_DNAT  // PREROU ...