vs不支持通過afxgetmainwnd()獲取窗口句柄(轉)


問題:

在vc6中這樣代碼順利通過,可執行

::SetDlgItemText(AfxGetMainWnd()-> m_hWnd,IDC_TIME,strTime);

(這是在對話框程序中,代碼在一個全局的線程函數中,設置一個EDIT框的內容)。

 

但是同樣代碼,同樣編程環境的vc8中,此代碼就不得行了。首先是運行錯誤(編譯還可以),我估計可能是第一個參數出得問題,又因為這是個全局函數中得代碼SetDlgItemText被提示應該用SetDlgItemTextW來代替。

 

請問,這種情況,我怎么修改代碼呢?

答案:

::SetDlgItemText(AfxGetMainWnd()->m_hWnd,IDC_TIME,strTime);

 

改為這個:SetDlgItemText(AfxGetApp()->m_pMainWnd->m_hWnd,IDC_TIME, strTime);

 

小小的改動 VC2005不支持AfxGetMainWnd()->m_hWnd來獲取HWND

問題:

在vc6中這樣代碼順利通過,可執行

::SetDlgItemText(AfxGetMainWnd()-> m_hWnd,IDC_TIME,strTime);

(這是在對話框程序中,代碼在一個全局的線程函數中,設置一個EDIT框的內容)。

 

但是同樣代碼,同樣編程環境的vc8中,此代碼就不得行了。首先是運行錯誤(編譯還可以),我估計可能是第一個參數出得問題,又因為這是個全局函數中得代碼SetDlgItemText被提示應該用SetDlgItemTextW來代替。

 

請問,這種情況,我怎么修改代碼呢?

答案:

::SetDlgItemText(AfxGetMainWnd()->m_hWnd,IDC_TIME,strTime);

 

改為這個:SetDlgItemText(AfxGetApp()->m_pMainWnd->m_hWnd,IDC_TIME, strTime);

 

小小的改動 VC2005不支持AfxGetMainWnd()->m_hWnd來獲取HWND

 

問題:

在vc6中這樣代碼順利通過,可執行

::SetDlgItemText(AfxGetMainWnd()-> m_hWnd,IDC_TIME,strTime);

(這是在對話框程序中,代碼在一個全局的線程函數中,設置一個EDIT框的內容)。

 

但是同樣代碼,同樣編程環境的vc8中,此代碼就不得行了。首先是運行錯誤(編譯還可以),我估計可能是第一個參數出得問題,又因為這是個全局函數中得代碼SetDlgItemText被提示應該用SetDlgItemTextW來代替。

 

請問,這種情況,我怎么修改代碼呢?

答案:

::SetDlgItemText(AfxGetMainWnd()->m_hWnd,IDC_TIME,strTime);

 

改為這個:SetDlgItemText(AfxGetApp()->m_pMainWnd->m_hWnd,IDC_TIME, strTime);

 

小小的改動 VC2005不支持AfxGetMainWnd()->m_hWnd來獲取HWND

 

問題:

在vc6中這樣代碼順利通過,可執行

::SetDlgItemText(AfxGetMainWnd()-> m_hWnd,IDC_TIME,strTime);

(這是在對話框程序中,代碼在一個全局的線程函數中,設置一個EDIT框的內容)。

 

但是同樣代碼,同樣編程環境的vc8中,此代碼就不得行了。首先是運行錯誤(編譯還可以),我估計可能是第一個參數出得問題,又因為這是個全局函數中得代碼SetDlgItemText被提示應該用SetDlgItemTextW來代替。

 

請問,這種情況,我怎么修改代碼呢?

答案:

::SetDlgItemText(AfxGetMainWnd()->m_hWnd,IDC_TIME,strTime);

 

改為這個:SetDlgItemText(AfxGetApp()->m_pMainWnd->m_hWnd,IDC_TIME, strTime);

 

小小的改動 VC2005不支持AfxGetMainWnd()->m_hWnd來獲取HWND

問題:

在vc6中這樣代碼順利通過,可執行

::SetDlgItemText(AfxGetMainWnd()-> m_hWnd,IDC_TIME,strTime);

(這是在對話框程序中,代碼在一個全局的線程函數中,設置一個EDIT框的內容)。

 

但是同樣代碼,同樣編程環境的vc8中,此代碼就不得行了。首先是運行錯誤(編譯還可以),我估計可能是第一個參數出得問題,又因為這是個全局函數中得代碼SetDlgItemText被提示應該用SetDlgItemTextW來代替。

 

請問,這種情況,我怎么修改代碼呢?

答案:

::SetDlgItemText(AfxGetMainWnd()->m_hWnd,IDC_TIME,strTime);

 

改為這個:SetDlgItemText(AfxGetApp()->m_pMainWnd->m_hWnd,IDC_TIME, strTime);

 

小小的改動 VC2005不支持AfxGetMainWnd()->m_hWnd來獲取HWND

問題:

在vc6中這樣代碼順利通過,可執行

::SetDlgItemText(AfxGetMainWnd()-> m_hWnd,IDC_TIME,strTime);

(這是在對話框程序中,代碼在一個全局的線程函數中,設置一個EDIT框的內容)。

 

但是同樣代碼,同樣編程環境的vc8中,此代碼就不得行了。首先是運行錯誤(編譯還可以),我估計可能是第一個參數出得問題,又因為這是個全局函數中得代碼SetDlgItemText被提示應該用SetDlgItemTextW來代替。

 

請問,這種情況,我怎么修改代碼呢?

答案:

::SetDlgItemText(AfxGetMainWnd()->m_hWnd,IDC_TIME,strTime);

 

改為這個:SetDlgItemText(AfxGetApp()->m_pMainWnd->m_hWnd,IDC_TIME, strTime);

 

小小的改動 VC2005不支持AfxGetMainWnd()->m_hWnd來獲取HWND

VC6與VS2005的一個問題!!!

 

問題:

在vc6中這樣代碼順利通過,可執行

::SetDlgItemText(AfxGetMainWnd()-> m_hWnd,IDC_TIME,strTime);

(這是在對話框程序中,代碼在一個全局的線程函數中,設置一個EDIT框的內容)。

但是同樣代碼,同樣編程環境的vc8中,此代碼就不得行了。首先是運行錯誤(編譯還可以),我估計可能是第一個參數出得問題,又因為這是個全局函數中得代碼SetDlgItemText被提示應該用SetDlgItemTextW來代替。

請問,這種情況,我怎么修改代碼呢?

答案:

::SetDlgItemText(AfxGetMainWnd()->m_hWnd,IDC_TIME,strTime);

改為這個:SetDlgItemText(AfxGetApp()->m_pMainWnd->m_hWnd,IDC_TIME, strTime);

小小的改動 VC2005不支持AfxGetMainWnd()->m_hWnd來獲取HWND


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM