上下文菜單(ContextMenu)加載圖示的方法. |
缺席
|
g6101
高階會員 ![]() ![]() ![]() ![]() 發表:22 回覆:129 積分:110 註冊:2002-06-15 發送簡訊給我 |
各位前輩:
我按照本站所提供的範例,用 C Builder 2010 在Windows Explorer 外殼,實做ContextMenu已獲成功。 但,加載圖示確不得要領,有經驗的前輩,可否指導正確的方法,謝過先!以下是部分程式碼: [code cpp] //---------建構函數---------------------------------------------------------- TAddContextMenuImpl::TAddContextMenuImpl(void) { sl = new TStringList(); hBitmap = NULL; //從資源載入 ICON hBitmap = (HBITMAP)LoadImage(HInstance,"Icon_1",IMAGE_ICON,GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),LR_DEFAULTCOLOR); } //---------解構函數---------------------------------------------------------- TAddContextMenuImpl::~TAddContextMenuImpl(void) { if (sl != NULL) { delete sl; } if (hBitmap != NULL) { DeleteObject(hBitmap); } } //...略 //--------------------------------------------------------------------------- HRESULT __stdcall TAddContextMenuImpl::QueryContextMenu(HMENU hmenu,UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) { if(!(CMF_DEFAULTONLY & uFlags)) { InsertMenuW(hmenu, indexMenu, MF_STRING | MF_BYPOSITION,idCmdFirst,L"上下文菜單"); SetMenuItemBitmaps( hmenu, indexMenu, MF_BITMAP | MF_BYPOSITION, hBitmap, hBitmap); //無法顯示圖示 return MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_NULL, 1); } return MAKE_HRESULT(SEVERITY_SUCCESS, 0, USHORT(0)); } [/code] |
g6101
高階會員 ![]() ![]() ![]() ![]() 發表:22 回覆:129 積分:110 註冊:2002-06-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |