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

Spy++原理初探(5):样式标签页

2012-09-12 20:04 工业·编程 ⁄ 共 949字 ⁄ 字号 暂无评论

    API函数GetWindowLong可以获取窗口样式或扩展样式的值。然后我们罗列出以WS_开头的所有窗口样式与上述样式值做"位与"操作,如果被包含,则返回其窗口样式,否则返回0。这样,就可以得到窗口样式的列表了。扩展样式列表与样式列表类似。相关代码如下:

CListBox* pListStyle=(CListBox*)(((CPage1*)FromHandle(g_hPage1))->GetDlgItem(IDC_LIST_STYLE));
CListBox* pListExStyle=(CListBox*)(((CPage1*)FromHandle(g_hPage1))->GetDlgItem(IDC_LIST_EX_STYLE));
CEdit* pEditStyle=(CEdit*)(((CPage1*)FromHandle(g_hPage1))->GetDlgItem(IDC_EDIT_STYLE));
CEdit* pEditExStyle=(CEdit*)(((CPage1*)FromHandle(g_hPage1))->GetDlgItem(IDC_EDIT_EX_STYLE));
long style = GetWindowLong(g_hWnd, GWL_STYLE);
long styleEx= GetWindowLong(g_hWnd, GWL_EXSTYLE);
pEditStyle->SetWindowText(Display((int)style));
pEditExStyle->SetWindowText(Display((int)styleEx));
pListStyle->ResetContent(); //清空样式列表框
pListExStyle->ResetContent(); //清空扩展样式列表框
if (style & WS_BORDER)
    pListStyle->AddString("WS_BORDER");
if( style & WS_CAPTION)
    pListStyle->AddString("WS_CAPTION");
if( style & WS_CHILD)
    pListStyle->AddString("WS_CHILD");
    ……

样式标签页设计如下图:

wps_clip_image-24389

给我留言

留言无头像?