无法更改MFC按钮标题

时间:2013-03-25 13:57:07

标签: c++ mfc

int firstButton = IDC_BUTTON1;  

for(int i = firstButton; i < firstButton + 16; ++i)
{
    CWnd *pB = GetDlgItem(i);

    for(int j = 0; j < 16; ++j)
    {

        pB->SetWindowTextW((LPCTSTR)(szTest[j]));
    }
}

我想动态更改按钮标题。

当使用SetWindowTextW和静态文本如“static txt”时效果很好,

但是使用char数组(在本例中为szTest),标题没有改变

我编码错误的类型?

1 个答案:

答案 0 :(得分:7)

代码中的内部for循环对我没有意义。 你可能想要这个:

char szTest[] = "0123456789ABCDEF" ;

int firstButton = IDC_BUTTON1;  

for (int i = firstButton; i < firstButton + 16; ++i)
{
    CWnd *pB = GetDlgItem(i);
    CString str(szTest[i]) ;
    pB->SetWindowText(str);
}

使用那段代码,第一个按钮将包含“0”,第二个按钮将包含“1”等。