Вам не нужно иметь отдельную переменную, если у вас есть данные в словаре.
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
Вы не можете сделать этого с простым 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);
}
}