Условие Edit Cintrol. Цвет текста. С++. MFC

258
11 декабря 2017, 15:59

Как сделать проверку, чтобы при вводе в Edit Control определенного значения, оно становилось красным и нельзя было нажать на кнопку. То есть значение нужно изменить.

Answer 1

Нужно перегрузить OnCtlColor

HBRUSH MyDialogDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    if (pWnd->GetDlgCtrlID()==IDC_EDIT1)//Тут id вашего EdibBox
    {
        CString text;
        GetDlgItemText(IDC_EDIT1,text);
        if(text == "SomeText")
            pDC->SetTextColor(RGB(255,0,0));
    }
    return hbr;
}

Более правильным решением было бы унаследоваться от стандартного EdibBox и написать свой MyEditBox и использовать потом его.

READ ALSO
Задача про рыцарей и оруженосцев

Задача про рыцарей и оруженосцев

ЗдравствуйтеЗначит, задача состоит в том, чтобы переправить 3 рыцарей и 3 их оруженосцев на другой берег на лодке, в которую вмещается 2 человека

260
d3dx9: переопределение типа “class” C++

d3dx9: переопределение типа “class” C++

Что делать? Уже полтора часа голову ломаю :(

206
Определить номер заданного пользователем числа в файле

Определить номер заданного пользователем числа в файле

Задано текстовый файлОпределить номер заданного пользователем числа, если такого нет в строке, то сообщить об этом

240
Необработанное исключение по адресу 0x0F89D6F0 (ucrtbased.dll) в 111.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00000000

Необработанное исключение по адресу 0x0F89D6F0 (ucrtbased.dll) в 111.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00000000

Не могу понять что так с программой переделывал из инета код для построения графика функций вроде должна прога строить но выполняеться if и выводиться...

343