69.搭建分析工具界面

avatar
作者
猴君
阅读量:0

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

内容参考于:易道云信息技术研究院

上一个内容:68.游戏分析工具设计以及更改辅助中存在的界面问题

以 68.游戏分析工具设计以及更改辅助中存在的界面问题 它的代码为基础进行修改

首先修改窗口的描述文字

添加分析工具的主界面

tree控件属性

list控件的属性

list控件添加变量

tree控件添加变量

分析工具主界面类的代码

CWndAddClass.h设置对象信息窗口的类里的代码

#pragma once   // CWndAddClass 对话框  class CWndAddClass : public CDialogEx {     DECLARE_DYNAMIC(CWndAddClass)  public:     CWndAddClass(CWnd* pParent = nullptr);   // 标准构造函数     virtual ~CWndAddClass();  // 对话框数据 #ifdef AFX_DESIGN_TIME     enum { IDD = IDD_ADDCLASS }; #endif  protected:     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持      DECLARE_MESSAGE_MAP() }; 

CWndAddClass.cpp设置对象信息窗口的类里的代码

// CWndAddClass.cpp: 实现文件 //  #include "pch.h" #include "GAMEHACKER2.h" #include "CWndAddClass.h" #include "afxdialogex.h"   // CWndAddClass 对话框  IMPLEMENT_DYNAMIC(CWndAddClass, CDialogEx)  CWndAddClass::CWndAddClass(CWnd* pParent /*=nullptr*/)     : CDialogEx(IDD_ADDCLASS, pParent) {  }  CWndAddClass::~CWndAddClass() { }  void CWndAddClass::DoDataExchange(CDataExchange* pDX) {     CDialogEx::DoDataExchange(pDX); }   BEGIN_MESSAGE_MAP(CWndAddClass, CDialogEx) END_MESSAGE_MAP()   // CWndAddClass 消息处理程序 

CwndRAN.cpp(分析工具主界面的类)文件里的内容

// CwndRAN.cpp: 实现文件 //  #include "pch.h" #include "GAMEHACKER2.h" #include "CwndRAN.h" #include "afxdialogex.h"   // CwndRAN 对话框  IMPLEMENT_DYNAMIC(CwndRAN, CDialogEx)  CwndRAN::CwndRAN(CWnd* pParent /*=nullptr*/)     : CDialogEx(IDD_PAGE_2, pParent) {  }  CwndRAN::~CwndRAN() { }  void CwndRAN::DoDataExchange(CDataExchange* pDX) {     CDialogEx::DoDataExchange(pDX);     DDX_Control(pDX, IDC_TREE1, mTree);     DDX_Control(pDX, IDC_LIST1, LstData); }  void CwndRAN::OnOK() { }  void CwndRAN::OnCancel() { }   BEGIN_MESSAGE_MAP(CwndRAN, CDialogEx)     ON_BN_CLICKED(IDC_BUTTON1, &CwndRAN::OnBnClickedButton1)     ON_NOTIFY(TVN_SELCHANGED, IDC_TREE1, &CwndRAN::OnTvnSelchangedTree1)     ON_NOTIFY(NM_RCLICK, IDC_TREE1, &CwndRAN::OnNMRClickTree1)     ON_COMMAND(ID_32773, &CwndRAN::OnLoadGame) END_MESSAGE_MAP()   // CwndRAN 消息处理程序   void CwndRAN::OnBnClickedButton1() {     // TODO: 在此添加控件通知处理程序代码     // 添加一个数据     auto val = mTree.InsertItem(L"第一层", TVI_ROOT);     // 给val添加一个子数据     mTree.InsertItem(L"第二层", val);     // 删除一个数据     // mTree.DeleteItem(val);      // 获取跟节点(第一行的第一层数据)     // auto _root = mTree.GetRootItem();     // 获取下一个跟节点     // mTree.GetNextSiblingItem(_root);     // 获取子数据     // auto childData = mTree.GetChildItem(_root);     // mTree.GetParentItem(childData); }   void CwndRAN::OnTvnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult) {     LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);     // TODO: 在此添加控件通知处理程序代码     *pResult = 0; }  BOOL CwndRAN::OnInitDialog() {     CDialogEx::OnInitDialog();      LONG_PTR lStyle;     // 得到窗口的样式,GWL_STYLE在GetWindowLongPtr说明中有     lStyle = GetWindowLongPtr(LstData.m_hWnd, GWL_STYLE);     lStyle |= LVS_REPORT;     SetWindowLongPtr(LstData.m_hWnd, GWL_STYLE, lStyle);      DWORD dStyle = LstData.GetExtendedStyle();     dStyle |= LVS_EX_FULLROWSELECT;     dStyle |= LVS_EX_GRIDLINES;     LstData.SetExtendedStyle(dStyle);      LstData.InsertColumn(0, L"内存地址", 0, 200);     LstData.InsertColumn(1, L"偏移", 0, 200);     LstData.InsertColumn(2, L"类型", 0, 200);     LstData.InsertColumn(3, L"名称", 0, 200);     LstData.InsertColumn(4, L"值", 0, 200);     LstData.InsertColumn(5, L"注释", 0, 200);      return TRUE; }   void CwndRAN::OnNMRClickTree1(NMHDR* pNMHDR, LRESULT* pResult) {     // TODO: 在此添加控件通知处理程序代码     *pResult = 0;     // 获取最后一个消息发生时的鼠标位置     DWORD dwPos = GetMessagePos();     CPoint point(LOWORD(dwPos), HIWORD(dwPos));     CMenu menu;     menu.LoadMenuW(IDR_MENU1);     CMenu* pop = menu.GetSubMenu(1);     pop->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this); }   void CwndRAN::OnLoadGame() {     if (wndSelProcess.DoModal() == IDOK) {      }      if (wndAddClass.DoModal() == IDOK) {      } } 

CwndRAN.h(分析工具主界面的类)文件里的内容

#pragma once #include "CWndAddClass.h" #include "CWindProcess.h"  // CwndRAN 对话框  class CwndRAN : public CDialogEx {     DECLARE_DYNAMIC(CwndRAN)  public:     CwndRAN(CWnd* pParent = nullptr);   // 标准构造函数     virtual ~CwndRAN();  // 对话框数据 #ifdef AFX_DESIGN_TIME     enum { IDD = IDD_PAGE_2 }; #endif  protected:     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持      DECLARE_MESSAGE_MAP() private:     void OnOK();     void OnCancel(); public:     CTreeCtrl mTree;     CListCtrl LstData;     CWindProcess wndSelProcess;     CWndAddClass wndAddClass;      afx_msg void OnBnClickedButton1();     afx_msg void OnTvnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult);     virtual BOOL OnInitDialog();     afx_msg void OnNMRClickTree1(NMHDR* pNMHDR, LRESULT* pResult);     afx_msg void OnLoadGame(); }; 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!