MFC:TAB以编程方式为控件命令

时间:2015-03-03 08:44:34

标签: c++ mfc tab-ordering

我正在使用默认的CButton并以编程方式创建3个按钮..

BOOL CTestDlg::OnInitDialog()
{
    CDialogEx::OnInitDialog();
    CRect rect;


    GetClientRect(&rect);

    CRect btnRect = CRect(rect.left+50,100,rect.left+150,150);
    button1.Create(_T("ONE"),BS_FLAT | WS_VISIBLE,btnRect,this,1); 

    btnRect.MoveToX(200);
    button2.Create(_T("TWO"),BS_FLAT | WS_VISIBLE,btnRect,this,2); 


    btnRect.MoveToX(350);
    button3.Create(_T("THREE"),BS_FLAT | WS_VISIBLE,btnRect,this,3); 



    return TRUE;  
}

如果我看到O / P,总是突出显示Buton ONE并且没有TAB正在工作。

如何支持TAB订单以及如何更改焦点。有人可以帮忙。

由于

1 个答案:

答案 0 :(得分:1)

您创建的按钮没有必要的 windows 样式。

来自MSDN

  

将以下窗口样式应用于按钮控件:

  • WS_CHILD始终

  • WS_VISIBLE通常

  • WS_DISABLED很少

  • WS_GROUP分组控件

  • WS_TABSTOP要在按Tab键顺序中包含按钮