你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Linux开发
Spy++原理初探(3)
 
第一个复选框是"总在最上面",代码如下:

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
    ::SetWindowPos(m_hWnd,HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
}
  第二个复选框是"16进制"。因为其值影响到多个属性页对话框的内容,所以,也用一全局变量g_nHex保存之:void CSpyXXDlg::OnChkhex()
{
  g_nHex=((CButton*)GetDlgItem(IDC_CHKHEX))->GetCheck();
}
  这里,我们还建立了一个全局函数Display,来输出16进制和10进制时的句柄值:CString Display(int nVal)
{
  CString str;
  if(g_nHex==1)
  {
    str.Format("%x",nVal);
    str.MakeUpper();
  }
  else
    str.Format("%d",nVal);
  return str;
}
  三、选项卡控件

  选项卡控件中,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,GetDlgItem(IDC_TAB1));
  m_page3.Create(IDD_OLE_PROPPAGE_LARGE3,GetDlgItem(IDC_TAB1));
  m_page4.Create(IDD_OLE_PROPPAGE_LARGE4,GetDlgItem(IDC_TAB1));
  CRect rs;
  m_tab.GetClientRect(rs);
  rs.top+=20;
  rs.bottom-=3;
  rs.left+=3;
  rs.right-=3;
  m_page0.MoveWindow(rs);
  m_page1.MoveWindow(rs);
  m_page2.MoveWindow(rs);
  m_page3.MoveWindow(rs);
  m_page4.MoveWindow(rs);
  m_page0.ShowWindow(SW_SHOW);
  m_tab.SetCurSel(0);
   然后在选项卡消息TCN_SELCHANGE响应函数中控制它们的显示:void CSpyXXDlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
{
  // TODO: Add your control notification handler code here
  int i=m_tab.GetCurSel();
  switch(i)
  {
  case 0:
    m_page0.ShowWindow(SW_SHOW);
    m_page1.ShowWindow(SW_HIDE);
    m_page2.ShowWindow(SW_HIDE);
    m_page3.ShowWindow(SW_HIDE);
    m_page4.ShowWindow(SW_HIDE);
    break;
  case 1:
    m_page0.ShowWindow(SW_HIDE);
    m_page1.ShowWindow(SW_SHOW);
    m_page2.ShowWindow(SW_HIDE);
    m_page3.ShowWindow(SW_HIDE);
    m_page4.ShowWindow(SW_HIDE);
    break;
  case 2:
    ……
  default:
    ;
  }
  *pResult = 0;
}
  四、常规标签页

(编辑:aniston)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089