2012-09-13 20:09
⁄ 工业·编程
⁄ 共 3034字
消息标签页的设计如下图:
该页中的列表框与样式列表框不同,它的每个列表项前都有一个复选框。这要用到类CCheckListBox。这里要再次用到子类化的知识。从本文第一段制作CMyPric过程中,我们体会到了子类化的作用,也感到了它的不便之处。这里,我们采取另外一种方法,借鸡生蛋:即用Class Wizard生成相关代码,然后再修改它。首先在该属性页对话框上画一个列表控件,打开Class Wizard关联一个CListBox类变量m_listStatus。设...
Spy++阅读全文
2012-09-13 20:06
⁄ 工业·编程
⁄ 共 1733字
类标签页的设计如下图:
类名在常规标签页已获取。API函数GetClassLong可以获取类样式值。样式列表的实现与窗口样式类似,不再赘述。
七、窗口标签页
窗口标签页的设计如下图:
在该页中,主要用到了下面几个API函数:GetNextWindow、GetWindow和SendMessage。这三个API函数搭配以不同的参数值可以实现不同的功能。这里没有用GetWIndowText函数,是因为它不能取出部分系统窗口和隐藏窗口的标题。我们用SendMessage函数加WM_GE...
Spy++阅读全文
2012-09-12 20:04
⁄ 工业·编程
⁄ 共 949字
API函数GetWindowLong可以获取窗口样式或扩展样式的值。然后我们罗列出以WS_开头的所有窗口样式与上述样式值做"位与"操作,如果被包含,则返回其窗口样式,否则返回0。这样,就可以得到窗口样式的列表了。扩展样式列表与样式列表类似。相关代码如下:
CListBox* pListStyle=(CListBox*)(((CPage1*)FromHandle(g_hPage1))->GetDlgItem(IDC_LIST_STYLE)); CListBox* pListExStyle=(CListBox*)(...
Spy++阅读全文
2012-09-12 20:03
⁄ 工业·编程
⁄ 共 1665字
常规标签页负责显示窗口句柄、窗口类名、标题文本、窗口矩形、窗口ID、进程ID和程序路径。控制其显示或改变应在CMyPic的WM_LBUTTONUP响应函函数中进行。代码如下:
((CPage0*)FromHandle(g_hPage0))->m_editHWND.SetWindowText(Display((int)g_hWnd)); char strClass[200]="\0"; ::GetClassName(g_hWnd,strClass,200); ((CPage0*)FromHandle(g_hPage0))->m_editCLASS.SetWindowText(strClass); ((CP...
Spy++阅读全文
2012-09-12 20:02
⁄ 工业·编程
⁄ 共 1332字
选项卡控件中,5个标签页对应5个属性页对话框,与它们关联的类分别取名为CPage0、CPage1、CPage2、CPage3、CPage4。在CSpyXXDlg中建立私有成员变量m_page0、m_page1、m_page2、m_page3、m_page4。在其初始化过程中建立这5个属性页对话框:
m_page0.Create(IDD_OLE_PROPPAGE_LARGE,GetDlgItem(IDC_TAB1)); m_page1.Create(IDD_OLE_PROPPAGE_LARGE1,GetDlgItem(IDC_TAB1)); m_page2.Create(IDD_OLE_PROPPAGE_LARGE2,GetDlgIt...
Spy++阅读全文
2012-09-12 20:01
⁄ 工业·编程
⁄ 共 616字
第一个复选框是"总在最上面",代码如下:
void CSpyXXDlg::OnChktop() { int nTop=((CButton*)GetDlgItem(IDC_CHKTOP))->GetCheck(); if(nTop==1) :: SetWindowPos(m_hWnd,HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE); else ::SetWin...
Spy++阅读全文
2012-09-12 19:59
⁄ 工业·编程
⁄ 共 2829字
打开VC集成开发环境,建立一个基于对话框的工程。我们把这个工程取名为SpyXX。在窗体中画上一个图片框控件(Picture)、一个静态文本控件(Static)、两个复选框控件(Check Box)和一个选项卡控件(Tab Control)。界面设计如下图。
探测器的制作需要两个图标文件(.ico)和一个鼠标光标文件(.cur),分别用于正常状态下的显示、鼠标拖出时的显示以及拖出时的鼠标指针;这些资源哪里来啊?Spy++中就有啊,用eXeScope...
Spy++阅读全文