GetActiveWindow() is thread-specific. You have no active windows in your worker thread.
Why not add a CHhhhView* member to your MyClass class (pass it in in the constructor):
class MyClass
{
CHhhhView *pView;
public:
MyClass(CHhhhView *view) {pView = view;}
};
void CHhhhView::OnButton1()
{
// TODO: Add your control notification handler code here
MyClass *objMyClass = new MyClass(this);
AfxBeginThread(MyThreadProc, objMyClass);
}
Now you can use pView in MyClass instead of ((CMDIFrameWnd*)AfxGetMainWnd()->GetActiveWindow()).
------------------------
Answer from codeguru (cy163)
The thread below answers your dilemma:
How to access UI elements from a thread in MFC?
http://www.codeguru.com/forum/showthread.php?t=312454
Jist is to pass the HWND of the window you need to update to the thread in some way and use the HWND ( and NOT CWnd object pointer )
How to access UI elements from a thread in MFC?
http://www.codeguru.com/forum/showthread.php?t=312454
Jist is to pass the HWND of the window you need to update to the thread in some way and use the HWND ( and NOT CWnd object pointer )