全局函数访问类成员方法

 

全局函数(或者回调函数)访问类成员函数

全局或回调函数访问类成员,这个问题有些老生长弹,但有很多方法都可以用,这里进行小小的总结一下。
第一种方法:使用API函数:
 SendMessage(AfxGetMainWnd()->m_hWnd,DRAWPIC_OWNER,NULL,NULL);
 SendMessage(AfxGetApp()->GetMainWnd()->m_hWnd,DRAWPIC_OWNER,NULL,NULL);
 SendMessage(AfxGetApp()->m_pMainWnd->GetSafeHwnd(),DRAWPIC_OWNER,NULL,NULL);
 CWnd::FromHandle(HWND hwnd) //HWND与CWND互转
        AfxGetMainWnd()->GetDlgItem(IDC_EDIT1)->SetWindowText(_T("aaa"));
第二种方法:使用程序本身的全局变量
        在app的类中,VC会自动定义一个theApp全局变量,而且主界面里会自动包含他,自己定义的窗体可以包含头文件后自动使用
 PostMessage(theApp.m_pMainWnd->GetSafeHwnd(),DRAWPIC_OWNER,NULL,NULL);
第三种方法:使用程序自定义的全局变量或指针 (与C++BUILDER中相似,访问对象的指针)

XXXClass *p或者XXXClass b;在生成窗体或实例对象时,让p=&对象,或者b = 对象;然后用extern在使用处使用。

第四种方法,象线程的函数一样,在创建时把当前窗体或需要的窗体类的指针当作参数传进去。

还有一种很笨的方法,用定时器定时查看全局函数中的全局数据,到达目的后就可以直接操作了。

你可能感兴趣的:(api,null)