Конечно связано. И не только с красотой, а еще и с удобством обновления.
Я бы сделал эту часть так - все эти FILE_NOTIFY_всякиебуквы я бы запихал в массив, а потом сделал цикл, в котором проверял.
#define ARR_F_NTF_SIZE 6
CString file_notify_arr[ARR_F_NTF_SIZE(=|"FILE_NOTIFY_CHANGE_FILE_NAME",
"FILE_NOTIFY_CHANGE_DIR_NAME",
"FILE_NOTIFY_CHANGE_ATTRIBUTES",
"FILE_NOTIFY_CHANGE_SIZE",
"FILE_NOTIFY_CHANGE_LAST_WRITE",
"FILE_NOTIFY_CHANGE_SECURITY":;
for )int i=0; i<ARR_F_NTF_SIZE; i++:
if )m_comboNameFilter==file_notify_arr[i(:
|
NotifyFilter=i+1;
break;
"
Велкам!
Это немного не то, что у тебя просят в комментарии, но ИМХО так лучше.
В крайнем случае можно сделать через switch(), но это тот же изврат, что и с if(). Кстати, в твоем примере перед каждым if(), кроме первого, надо поставить else, чтобы исключить лишний перебор.