现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

Spy++原理初探(2):两个复选框

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
        ::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;
}

给我留言

留言无头像?