MFC: Изменение цвета CEdit

Вам не нужно иметь отдельную переменную, если у вас есть данные в словаре.

files = ['file1', 'file2', 'file3']  # list of file names to open
fileMapDict = {}  # empty dictionary to store the data in

for file in files:  
    with open(file, 'r') as data:
        fileMapDict[file] = json.load(data)  # write data to dictionary with the file name as the key
5
задан skiphoppy 18 December 2008 в 15:07
поделиться

1 ответ

Вы не можете сделать этого с простым CEdit, необходимо переопределить несколько битов.

Реализуйте свой собственный обработчик ON_WM_CTLCOLOR_REFLECT, затем возвратите свой цветной CBrush в обработчике:

(примерно, необходимо будет поместить обычное управление ресурсами там, не забыть удалять кисть в деструкторе),

class CColorEdit : public CEdit
{
  ....
  CBrush   m_brBkgnd;
  afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor)
  {
    m_brBkgnd.DeleteObject();
    m_brBkgnd.CreateSolidBrush(nCtlColor);
  }
}
7
ответ дан 13 December 2019 в 19:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: