最近想设计一款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. string 转 java对象、转map的方式

    1.使用fastJson 将String转 map: String out; Object succesResponse = JSON.parse(out);    //先转换成Object Map ...

  2. JDK源码分析之concurrent包(三) -- Future方式的实现

    上一篇我们基于JDK的源码对线程池ThreadPoolExecutor的实现做了分析,本篇来对Executor框架中另一种典型用法Future方式做源码解读.我们知道Future方式实现了带有返回值的 ...

  3. Oracle 数据库的组成(instance+database)

    Oracle服务器是一种对象关系数据库管理系统,它为信息管理提供开放.综合.集成的方法. Oracle服务器中有多种进进程.内存结构和文件: Oracle服务器由一个Oracle实例和一个Oracle ...

  4. 服务不支持 chkconfig 的解决方法

    系统服务,在chkconfig --add  servername的时候老是提示服务不支持 chkconfig,经过查找,解决办法如下. 示例,auto_run的前三行如下:#!/bin/sh#chk ...

  5. 解决ubuntu 无法挂载移动硬盘问题 unknown filesystem type 'exfat'

    Ubuntu 13.10 或以上 安装exfat-fuse: sudo apt-get install exfat-fuse Ubuntu 13.04 或以下 sudo apt-add-reposit ...

  6. 【我的Android进阶之旅】Realm数据库学习资料汇总(持续更新)

    介绍 realm是一个跨平台移动数据库引擎,支持iOS.OS X(Objective-C和Swift)以及Android. 2014年7月发布.由YCombinator孵化的创业团队历时几年打造,是第 ...

  7. mysq查询语句包含中文以及中文乱码,字符集 GBK、GB2312、UTF8的区别

    一.查看mysql 字符集设置情况 使用Navicat for Mysql查看工具,打开命令列界面,输入show variables like '%char%';如下图,查看当前mysql字符集设置情 ...

  8. ORACLE性能优化- Buffer cache 的调整与优化

    Buffer Cache是SGA的重要组成部分,主要用于缓存数据块,其大小也直接影响系统的性能.当Buffer Cache过小的时候,将会造成更多的 free buffer waits事件. 下面将具 ...

  9. 【Sql Server】—sql Servler登录失败

    登录失败报错信息如下: 标题: 连接到服务器 ------------------------------ 无法连接到 localhost. ----------------------------- ...

  10. 使用Ehcache缓存同步启动时抛出异常net.sf.ehcache.CacheException: Can't assign requested address

    这个问题在插入公司内网网线的时候不会复现,由于我使用的是公司无线网络,故导致此问题. 具体解决办法是:在启动服务时,指定使用默认ipv4的网络接口.可以在启动jvm时添加参数-Djava.net.pr ...