第一个复选框是"总在最上面",代码如下:
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;
}