GetDlgItem以及其他获得CWnd相关的函数要注意。。

不在窗口类内执行的G...函数得到的CWND指针是不可靠的

比如有一个UINT Proc(LPVOID lpv);函数,在窗口函数中调用CWinThread * cwt = AfxBeginThread(Proc, this);

把主窗口指针传入线程函数,在线程函数中转换为Dlg指针,通过此指针调用GetDlgItem(IDC_TEST_EDIT)和在窗口函数中调用GetDlgItem(IDC_TEST_EDIT)函数获得的CWnd*指针是不同的

利用转换指针获得的是不可靠的,所以要尽量在窗口函数中执行这些函数.

或者在使用CWnd期间,要保持GetDlgItem的父级别有效.否则会崩溃.

原文地址:https://www.cnblogs.com/horane/p/3169726.html