0
我遇到了一些問題,顯示我的應用程序創建的對話框的任務欄圖標。主要應用程序是基於Windows應用程序的系統托盤。加載對話框的任務欄圖標問題
下面是我用它來創建對話框代碼:
g_pMainWnd->m_DlgAuth= new CDlg_Auth();
g_pMainWnd->m_DlgAuth->SetTitle(_T("Authentication"));
g_pMainWnd->m_DlgAuth->SetSize(420,420);
g_pMainWnd->m_DlgAuth->Create(IDD_DLG_AUTH,AfxGetMainWnd());
g_pMainWnd->m_DlgAuth->ShowWindow(SW_SHOW);
g_pMainWnd->m_DlgAuth->SetForegroundWindow();
的g_pMainWnd是一個全球性的指針主類,因爲對話的創作從一個子線程回調而成。
任務欄圖標在MFC的OnInitDialog方法創建如下所示:
m_hIcon = (HICON)LoadImage(AfxGetResourceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME),IMAGE_ICON, 0, 0, 0);
int cxIcon = GetSystemMetrics(SM_CXSMICON);
int cyIcon = GetSystemMetrics(SM_CYSMICON);
m_hIconSmall = (HICON)LoadImage(AfxGetResourceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME),IMAGE_ICON
,cxIcon,cyIcon, 0);
SetIcon(m_hIconSmall, FALSE); // Set small icon
SetIcon(m_hIcon, TRUE); // Set small icon
的小圖標加載完美的問題是與大圖標,但它根本無法加載,手柄被設置和所有看起來不錯,但是當任務欄按鈕顯示時,它顯示默認的Windows控制檯應用程序圖標。
我一直在這裏一個星期了,似乎沒有任何工作。我嘗試了其他32x32圖標,嘗試從另一個線程加載對話框。我試圖讓回調發布消息給主線程來創建對話框。對話框中的所有控件都可以正常工作。它獲取所有必要的信息,但它不繪製圖標。
希望任何可能的幫助。 感謝
一般就固定它,MFC框架挑頭的圖標了。如果其他圖標/資源作爲第一,MFC會無法加載圖標 – 2011-06-01 02:57:47
感謝您的評論。我已經解決了這個問題,並將答案發布到此線程。問題不是來自資源/圖片,但謝謝。 – 2011-06-01 11:30:27