您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ DestroyMenu函数代码示例

51自学网 2021-06-01 20:27:12
  C++
这篇教程C++ DestroyMenu函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中DestroyMenu函数的典型用法代码示例。如果您正苦于以下问题:C++ DestroyMenu函数的具体用法?C++ DestroyMenu怎么用?C++ DestroyMenu使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了DestroyMenu函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: switch

void StatusWnd::onCommand(UINT id, HIMC hIMC){	switch( id )	{	case ID_CHI_ENG:		toggleChiEngMode(hIMC);		break;	case ID_FULL_HALF:		toggleShapeMode(hIMC);		break;	case ID_MENU:		{			HMENU menu = LoadMenu( g_dllInst, LPCTSTR(IDR_POPUP));			HMENU popup = GetSubMenu( menu, 0 );			RECT rc;			GetWindowRect(hwnd, &rc);			rc.left += 9;			UINT flag;			long y;			if((rc.top * 2) > GetSystemMetrics(SM_CYSCREEN) )			{				y = rc.top;				flag = TPM_BOTTOMALIGN|TPM_LEFTALIGN;			}			else			{				y = rc.bottom;				flag = TPM_TOPALIGN|TPM_LEFTALIGN;			}			TrackPopupMenu( popup, flag, rc.left, y, 0, hwnd, NULL);			DestroyMenu(menu);			break;		}	case ID_CONFIG:	case ID_ABOUT:		try {			HWND top = hwnd;			HWND desktop = GetDesktopWindow(), parent = NULL;			while( (parent=GetParent(top)) != desktop && parent )				top = parent;			EnableWindow( hwnd, FALSE );			if( id == ID_CONFIG )				ConfigureChewingIME(top);			else				DialogBox(g_dllInst, LPCTSTR(IDD_ABOUT), top, (DLGPROC)AboutDlgProc);			EnableWindow( hwnd, TRUE );		}   catch (...)        {            OutputDebugString("Using die wnd");        }		break;	case ID_WEBSITE:		ShellExecute( NULL, "open", _T("http://chewing.im/"), NULL, NULL, SW_SHOWNORMAL );		break;	case ID_GROUP:		ShellExecute( NULL, "open", _T("http://groups.google.com/group/chewing"), NULL, NULL, SW_SHOWNORMAL );		break;	case ID_BUGREPORT:		ShellExecute( NULL, "open", _T("http://code.google.com/p/chewing/issues"), NULL, NULL, SW_SHOWNORMAL );		break;	case ID_DICT_BUGREPORT:		ShellExecute( NULL, "open", _T("http://of.openfoundry.org/projects/436/rt"), NULL, NULL, SW_SHOWNORMAL );		break;	case ID_HASHED:	case ID_CHEWING_HELP:	case ID_CHECK_NEW_VER:		{			TCHAR path[MAX_PATH];			GetSystemDirectory( path, MAX_PATH );			_tcscat( path, _T("//IME//Chewing//") );			int showcmd;			if( id == ID_CHEWING_HELP ) {				_tcscat( path, _T("Chewing.chm"));				showcmd = SW_SHOWMAXIMIZED;			}			else if( id == ID_CHECK_NEW_VER ) {				_tcscat( path, _T("Update.exe"));				showcmd = SW_SHOWNORMAL;			}			else {				_tcscat( path, _T("HashEd.exe"));				showcmd = SW_SHOWNORMAL;			}			ShellExecute( NULL, "open", path, NULL, NULL, showcmd );			break;		}	case ID_DICT:	case ID_SIMPDICT:	case ID_LITTLEDICT:	case ID_PROVERBDICT:		{			LPCTSTR url[]={			_T("http://dict.revised.moe.edu.tw/"),			_T("http://dict.concised.moe.edu.tw/main/cover/main.htm"),			_T("http://dict.mini.moe.edu.tw/"),			_T("http://dict.idioms.moe.edu.tw/sort_pho.htm")};			ShellExecute( NULL, "open", url[ id - ID_DICT ], NULL, NULL, SW_SHOWNORMAL );			break;		}//.........这里部分代码省略.........
开发者ID:HUANG-YI-CHEN,项目名称:windows-chewing,代码行数:101,


示例2: WndProc

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){	switch (message) 	{	case TRAY_CALLBACK:	{		switch(lParam)		{		case WM_LBUTTONDBLCLK:			if (IsWindowVisible(hWnd))				ShowWindow(hWnd, SW_HIDE);			else				ShowWindow(hWnd, SW_RESTORE);			break;		case WM_MOUSEMOVE:			{				CString sInfoTip;				NOTIFYICONDATA SystemTray;				sInfoTip.Format(_T("Cached Directories : %ld/nWatched paths : %ld"), 					CGitStatusCache::Instance().GetCacheSize(),					CGitStatusCache::Instance().GetNumberOfWatchedPaths());				SystemTray.cbSize = sizeof(NOTIFYICONDATA);				SystemTray.hWnd   = hTrayWnd;				SystemTray.uID    = TRAY_ID;				SystemTray.uFlags = NIF_TIP;				_tcscpy_s(SystemTray.szTip, sInfoTip);				Shell_NotifyIcon(NIM_MODIFY, &SystemTray);			}			break;		case WM_RBUTTONUP:		case WM_CONTEXTMENU:			{				POINT pt;				DWORD ptW = GetMessagePos();				pt.x = GET_X_LPARAM(ptW);				pt.y = GET_Y_LPARAM(ptW);				HMENU hMenu = CreatePopupMenu();				if(hMenu)				{					InsertMenu(hMenu, (UINT)-1, MF_BYPOSITION, TRAYPOP_EXIT, _T("Exit"));					SetForegroundWindow(hWnd);					TrackPopupMenu(hMenu, TPM_BOTTOMALIGN, pt.x, pt.y, 0, hWnd, NULL);					DestroyMenu(hMenu);				}			}			break;		}	}	break;	case WM_PAINT:		{			PAINTSTRUCT ps;			HDC hdc = BeginPaint(hWnd, &ps);			RECT rect;			GetClientRect(hWnd, &rect);			// clear the background			HBRUSH background = CreateSolidBrush(::GetSysColor(COLOR_WINDOW));			HGDIOBJ oldbrush = SelectObject(hdc, background);			FillRect(hdc, &rect, background);			int line = 0;			SIZE fontsize = {0};			AutoLocker print(critSec);			GetTextExtentPoint32( hdc, szCurrentCrawledPath[0], (int)_tcslen(szCurrentCrawledPath[0]), &fontsize );			for (int i=nCurrentCrawledpathIndex; i<MAX_CRAWLEDPATHS; ++i)			{				TextOut(hdc, 0, line*fontsize.cy, szCurrentCrawledPath[i], (int)_tcslen(szCurrentCrawledPath[i]));				line++;			}			for (int i=0; i<nCurrentCrawledpathIndex; ++i)			{				TextOut(hdc, 0, line*fontsize.cy, szCurrentCrawledPath[i], (int)_tcslen(szCurrentCrawledPath[i]));				line++;			}									SelectObject(hdc,oldbrush);			EndPaint(hWnd, &ps); 			DeleteObject(background);			return 0L; 		}		break;	case WM_COMMAND:		{			WORD wmId    = LOWORD(wParam);			switch (wmId)			{			case TRAYPOP_EXIT:				DestroyWindow(hWnd);				break;			}			return 1;		}	case WM_QUERYENDSESSION:		{			ATLTRACE("WM_QUERYENDSESSION/n");			if (CGitStatusCache::Instance().WaitToWrite(200))			{//.........这里部分代码省略.........
开发者ID:andmedsantana,项目名称:TortoiseGit,代码行数:101,


示例3: MainWndProc

//.........这里部分代码省略.........                INT xPos = GET_X_LPARAM(lParam);                INT yPos = GET_Y_LPARAM(lParam);                GetCursorPos(&pt);                /* display popup when cursor is in the list view */                GetWindowRect(Info->hListView, &lvRect);                if (PtInRect(&lvRect, pt))                {                    TrackPopupMenuEx(GetSubMenu(Info->hShortcutMenu, 0),                                     TPM_RIGHTBUTTON,                                     xPos,                                     yPos,                                     Info->hMainWnd,                                     NULL);                }            }        break;        case WM_COMMAND:        {            MainWndCommand(Info,                           LOWORD(wParam),                           (HWND)lParam);            goto HandleDefaultMessage;        }        case WM_MENUSELECT:        {            if (Info->hStatus != NULL)            {                if (!MainWndMenuHint(Info,                                     LOWORD(wParam),                                     MainMenuHintTable,                                     sizeof(MainMenuHintTable) / sizeof(MainMenuHintTable[0]),                                     IDS_HINT_BLANK))                {                    MainWndMenuHint(Info,                                    LOWORD(wParam),                                    SystemMenuHintTable,                                    sizeof(SystemMenuHintTable) / sizeof(SystemMenuHintTable[0]),                                    IDS_HINT_BLANK);                }            }        }        break;        case WM_ENTERMENULOOP:        {            Info->bInMenuLoop = TRUE;            UpdateMainStatusBar(Info);            break;        }        case WM_EXITMENULOOP:        {            Info->bInMenuLoop = FALSE;            UpdateMainStatusBar(Info);            break;        }        case WM_CLOSE:        {            HeapFree(ProcessHeap,                     0,                     Info->pAllServices);            DestroyMenu(Info->hShortcutMenu);            DestroyWindow(hwnd);        }        break;        case WM_DESTROY:        {            HeapFree(ProcessHeap,                     0,                     Info);            SetWindowLongPtr(hwnd,                             GWLP_USERDATA,                             0);            PostQuitMessage(0);        }        break;        default:        {HandleDefaultMessage:            Ret = DefWindowProc(hwnd,                                msg,                                wParam,                                lParam);        }        break;    }    return Ret;}
开发者ID:GYGit,项目名称:reactos,代码行数:101,


示例4: TaskManagerWndProc

//.........这里部分代码省略.........        case WM_RBUTTONDOWN:            {            POINT pt;            BOOL OnTop;            HMENU hMenu, hPopupMenu;            GetCursorPos(&pt);            OnTop = ((GetWindowLongPtrW(hMainWnd, GWL_EXSTYLE) & WS_EX_TOPMOST) != 0);            hMenu = LoadMenuW(hInst, MAKEINTRESOURCEW(IDR_TRAY_POPUP));            hPopupMenu = GetSubMenu(hMenu, 0);            if(IsWindowVisible(hMainWnd))            {              DeleteMenu(hPopupMenu, ID_RESTORE, MF_BYCOMMAND);            }            else            {              SetMenuDefaultItem(hPopupMenu, ID_RESTORE, FALSE);            }            if(OnTop)            {              CheckMenuItem(hPopupMenu, ID_OPTIONS_ALWAYSONTOP, MF_BYCOMMAND | MF_CHECKED);            } else            {              CheckMenuItem(hPopupMenu, ID_OPTIONS_ALWAYSONTOP, MF_BYCOMMAND | MF_UNCHECKED);            }            SetForegroundWindow(hMainWnd);            TrackPopupMenuEx(hPopupMenu, 0, pt.x, pt.y, hMainWnd, NULL);            DestroyMenu(hMenu);            break;            }        case WM_LBUTTONDBLCLK:            TaskManager_OnRestoreMainWindow();            break;        }        break;    case WM_NOTIFY:        pnmh = (LPNMHDR)lParam;        if ((pnmh->hwndFrom == hTabWnd) &&            (pnmh->idFrom == IDC_TAB) &&            (pnmh->code == TCN_SELCHANGE))        {            TaskManager_OnTabWndSelChange();        }        break;#if 0    case WM_NCPAINT:        hdc = GetDC(hDlg);        GetClientRect(hDlg, &rc);        Draw3dRect(hdc, rc.left, rc.top, rc.right, rc.top + 2, GetSysColor(COLOR_3DSHADOW), GetSysColor(COLOR_3DHILIGHT));        ReleaseDC(hDlg, hdc);        break;    case WM_PAINT:        hdc = BeginPaint(hDlg, &ps);        GetClientRect(hDlg, &rc);        Draw3dRect(hdc, rc.left, rc.top, rc.right, rc.top + 2, GetSysColor(COLOR_3DSHADOW), GetSysColor(COLOR_3DHILIGHT));        EndPaint(hDlg, &ps);        break;#endif
开发者ID:RareHare,项目名称:reactos,代码行数:67,


示例5: MENU_ITEM

//.........这里部分代码省略.........	if (rainmeter.m_Debug)	{		CheckMenuItem(menu, IDM_DEBUGLOG, MF_BYCOMMAND | MF_CHECKED);	}	HMENU allSkinsMenu = GetSubMenu(menu, 4);	if (allSkinsMenu)	{		if (!rainmeter.m_SkinRegistry.IsEmpty())		{			DeleteMenu(allSkinsMenu, 0, MF_BYPOSITION);  // "No skins available" menuitem			CreateAllSkinsMenu(allSkinsMenu);		}		if (rainmeter.m_DisableDragging)		{			CheckMenuItem(allSkinsMenu, IDM_DISABLEDRAG, MF_BYCOMMAND | MF_CHECKED);		}	}	HMENU layoutMenu = GetSubMenu(menu, 5);	if (layoutMenu)	{		if (!rainmeter.m_Layouts.empty())		{			DeleteMenu(layoutMenu, 0, MF_BYPOSITION);  // "No layouts available" menuitem			CreateLayoutMenu(layoutMenu);		}	}	if (meterWindow)	{		HMENU rainmeterMenu = menu;		menu = CreateSkinMenu(meterWindow, 0, allSkinsMenu);		InsertMenu(menu, IDM_CLOSESKIN, MF_BYCOMMAND | MF_POPUP, (UINT_PTR)rainmeterMenu, L"Rainmeter");		InsertMenu(menu, IDM_CLOSESKIN, MF_BYCOMMAND | MF_SEPARATOR, 0, nullptr);	}	else	{		InsertMenu(menu, 12, MF_BYPOSITION | MF_SEPARATOR, 0, nullptr);		// Create a menu for all active skins		int index = 0;		std::map<std::wstring, MeterWindow*>::const_iterator iter = rainmeter.m_MeterWindows.begin();		for (; iter != rainmeter.m_MeterWindows.end(); ++iter)		{			MeterWindow* mw = ((*iter).second);			HMENU skinMenu = CreateSkinMenu(mw, index, allSkinsMenu);			InsertMenu(menu, 12, MF_BYPOSITION | MF_POPUP, (UINT_PTR)skinMenu, mw->GetFolderPath().c_str());			++index;		}		// Add update notification item		if (rainmeter.m_NewVersion)		{			InsertMenu(menu, 0, MF_BYPOSITION, IDM_NEW_VERSION, GetString(ID_STR_UPDATEAVAILABLE));			HiliteMenuItem(rainmeter.GetTrayWindow()->GetWindow(), menu, 0, MF_BYPOSITION | MF_HILITE);			InsertMenu(menu, 1, MF_BYPOSITION | MF_SEPARATOR, 0, nullptr);		}	}	HWND hWnd = WindowFromPoint(pos);	if (hWnd != nullptr)	{		MeterWindow* mw = rainmeter.GetMeterWindow(hWnd);		if (mw)		{			// Cancel the mouse event beforehand			mw->SetMouseLeaveEvent(true);		}	}	// Set the window to foreground	hWnd = meterWindow ? meterWindow->GetWindow() : rainmeter.m_TrayWindow->GetWindow();	HWND hWndForeground = GetForegroundWindow();	if (hWndForeground != hWnd)	{		const DWORD foregroundThreadID = GetWindowThreadProcessId(hWndForeground, nullptr);		const DWORD currentThreadID = GetCurrentThreadId();		AttachThreadInput(currentThreadID, foregroundThreadID, TRUE);		SetForegroundWindow(hWnd);		AttachThreadInput(currentThreadID, foregroundThreadID, FALSE);	}	// Show context menu	TrackPopupMenu(		menu,		TPM_RIGHTBUTTON | TPM_LEFTALIGN | (*GetString(ID_STR_ISRTL) == L'1' ? TPM_LAYOUTRTL : 0),		pos.x,		pos.y,		0,		hWnd,		nullptr);	DestroyMenu(menu);	m_MenuActive = false;}
开发者ID:Crazylemon64,项目名称:rainmeter,代码行数:101,


示例6: ContactListSubclassProc

//.........这里部分代码省略.........					else {						TreeView_SetItemState(hWnd, hItem, 0, TVIS_SELECTED);						dat->SelectedItems.RemoveElem(nIndex);					}					dat->SelectGroups(hItem, nIndex == -1);					NMCLIST nm;					nm.hdr.code = MCLN_SELCHANGED;					nm.hdr.hwndFrom = hWnd;					nm.hdr.idFrom = GetDlgCtrlID(hWnd);					nm.OldSelection = &OldSelection;					nm.NewSelection = &dat->SelectedItems;					SendMessage(GetParent(hWnd), WM_NOTIFY, 0, (LPARAM)&nm);					return 0;				}				// if it was a click on the selected item and there's need to do something in this case, then send SELCHANGED notification by ourselves, as the tree control doesn't do anything				if (hItem == TreeView_GetSelection(hWnd) && (dat->SelectedItems.GetSize() != 1 || (dat->SelectedItems.GetSize() == 1 && dat->SelectedItems[0] != hItem))) {					TreeView_SetItemState(hWnd, hItem, TVIS_SELECTED, TVIS_SELECTED);					NMTREEVIEW nm = { 0 };					nm.hdr.code = TVN_SELCHANGED;					nm.hdr.hwndFrom = hWnd;					nm.hdr.idFrom = GetDlgCtrlID(hWnd);					nm.itemOld.hItem = TreeView_GetSelection(hWnd);					nm.itemOld.mask = TVIF_HANDLE | TVIF_STATE | TVIF_PARAM;					TreeView_GetItem(hWnd, &nm.itemOld);					nm.itemNew = nm.itemOld;					SendMessage(GetParent(hWnd), WM_NOTIFY, 0, (LPARAM)&nm);				}			}		}		break;	case WM_SETFOCUS:	case WM_KILLFOCUS:		for (int i = 0; i < dat->SelectedItems.GetSize(); i++) {			RECT rc;			if (TreeView_GetItemRect(hWnd, dat->SelectedItems[i], &rc, false))				InvalidateRect(hWnd, &rc, false);		}		break;	case WM_SIZE:	case WM_HSCROLL:		InvalidateRect(hWnd, NULL, false);		break;	case WM_MEASUREITEM:		if (!wParam) // if the message was sent by a menu			return Menu_MeasureItem((LPMEASUREITEMSTRUCT)lParam);		break;	case WM_DRAWITEM:		if (!wParam) // if the message was sent by a menu			return Menu_DrawItem((LPDRAWITEMSTRUCT)lParam);		break;	case WM_CONTEXTMENU:		{			POINT pt = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) };			HTREEITEM hItem = NULL;			if (pt.x == -1 && pt.y == -1) {				if (dat->SelectedItems.GetSize() == 1) {					hItem = dat->SelectedItems[0];					TreeView_EnsureVisible(hWnd, hItem);					RECT rc;					TreeView_GetItemRect(hWnd, hItem, &rc, true);					pt.x = rc.left;					pt.y = rc.bottom;				}			}			else {				DWORD hitFlags;				ScreenToClient(hWnd, &pt);				hItem = dat->HitTest(&pt, &hitFlags);				if (!(hitFlags & MCLCHT_ONITEM))					hItem = NULL;			}			if (hItem) {				MCONTACT hContact = dat->GetItemData(hItem).hContact;				if (IsHContactContact(hContact)) {					HMENU hMenu = Menu_BuildContactMenu(hContact);					if (hMenu) {						ClientToScreen(hWnd, &pt);						CallService(MS_CLIST_MENUPROCESSCOMMAND, MAKEWPARAM(TrackPopupMenu(hMenu, TPM_LEFTALIGN | TPM_RIGHTBUTTON | TPM_RETURNCMD, pt.x, pt.y, 0, hWnd, NULL), MPCF_CONTACTMENU), hContact);						DestroyMenu(hMenu);						return 0;					}				}			}		}		break;	case WM_DESTROY:		if (dat->ExtraImageList)			ImageList_Destroy(dat->ExtraImageList);		dat->SelectedItems.RemoveAll();		dat->Items.RemoveAll();		break;	}	return CallWindowProc(dat->OrigTreeViewProc, hWnd, Msg, wParam, lParam);}
开发者ID:Seldom,项目名称:miranda-ng,代码行数:101,


示例7: PopupMenu

//.........这里部分代码省略.........        ppsz_varnames[i] = "fullscreen";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "zoom";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "deinterlace-mode";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "aspect-ratio";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "crop";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "video-on-top";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "directx-wallpaper";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "video-snapshot";        pi_objects[i++] = p_object;        p_dec_obj = (vlc_object_t *)vlc_object_find( p_object,                                                     VLC_OBJECT_DECODER,                                                     FIND_PARENT );        if( p_dec_obj != NULL )        {            ppsz_varnames[i] = "ffmpeg-pp-q";            pi_objects[i++] = p_dec_obj;            vlc_object_release( p_dec_obj );        }        vlc_object_release( p_object );    }    /* Audio menu */    if( i != i_last_separator ) ppsz_varnames[i++] = NULL; /* Separator */    i_last_separator  = i;    p_object = (vlc_object_t *)vlc_object_find( p_intf, VLC_OBJECT_AOUT,                                                FIND_ANYWHERE );    if( p_object != NULL )    {        ppsz_varnames[i] = "audio-device";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "audio-channels";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "visual";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "equalizer";        pi_objects[i++] = p_object;        vlc_object_release( p_object );    } interfacemenu:    /* Interface menu */    if( i != i_last_separator ) ppsz_varnames[i++] = NULL; /* Separator */    i_last_separator = i;    /* Build menu */    vector<MenuItemExt*> popup_menu;    HMENU hmenu = CreatePopupMenu();    RefreshMenu( p_intf, &popup_menu, hmenu, i,                 ppsz_varnames, pi_objects, PopupMenu_Events );    MenuItemExt::ClearList( &popup_menu );    /* Add static entries */    if( p_input != NULL )    {        vlc_value_t val;        AppendMenu( hmenu, MF_SEPARATOR, 0, _T("") );        AppendMenu( hmenu, MF_STRING, StopStream_Event, _T("Stop") );        AppendMenu( hmenu, MF_STRING, PrevStream_Event, _T("Previous") );        AppendMenu( hmenu, MF_STRING, NextStream_Event, _T("Next") );        var_Get( p_input, "state", &val );        if( val.i_int == PAUSE_S )            AppendMenu( hmenu, MF_STRING, PlayStream_Event, _T("Play") );        else            AppendMenu( hmenu, MF_STRING, PlayStream_Event, _T("Pause") );        vlc_object_release( p_input );    }    else    {        playlist_t * p_playlist = pl_Hold( p_intf );        if( p_playlist && !playlist_IsEmpty( p_playlist ) )        {            AppendMenu( hmenu, MF_SEPARATOR, 0, _T("") );            AppendMenu( hmenu, MF_STRING, PlayStream_Event, _T("Play") );        }        if( p_playlist ) pl_Release( p_intf );    }    AppendMenu( hmenu, MF_POPUP|MF_STRING, (UINT)MiscMenu( p_intf ),                _T("Miscellaneous") );    AppendMenu( hmenu, MF_POPUP|MF_STRING, (UINT)OpenStreamMenu( p_intf ),                _T("Open") );    TrackPopupMenu( hmenu, 0, point.x, point.y, 0, p_parent, 0 );    PostMessage( p_parent, WM_NULL, 0, 0 );    DestroyMenu( hmenu );}
开发者ID:shanewfx,项目名称:vlc-arib,代码行数:101,


示例8: CtrlContactWndProc

//.........这里部分代码省略.........				SendMessage(cbex->hBtnEdit, BM_SETIMAGE, IMAGE_ICON, (LPARAM)cbex->pItems[cbex->iSelectedItem].hIcon);		}		return 0;	}	case WM_COMMAND:		switch (LOWORD(wParam)) {		/**		* name:	BTN_MENU		* desc:	the button to dropdown the list to show all items is pressed		**/		case BTN_MENU:			if (HIWORD(wParam) == BN_CLICKED) {				POINT pt = { 0, 0 };				RECT rc;				int i, nItems;				HMENU hMenu;				if (!(hMenu = CreatePopupMenu())) return 0;				SetFocus((HWND)lParam);				MENUITEMINFO mii = { 0 };				mii.cbSize = sizeof(mii);				mii.fMask = MIIM_ID|MIIM_STRING|MIIM_FTYPE|MIIM_STATE;				mii.fType = MFT_STRING;				// insert the items				for (i = nItems = 0; i < cbex->numItems; i++) {					if ((cbex->pItems[i].wFlags & CBEXIF_DELETED) || *cbex->pItems[i].szCat == 0) continue;					mii.fState = (cbex->pItems[i].pszVal && *cbex->pItems[i].pszVal) ? MFS_CHECKED : MFS_UNCHECKED;					mii.wID = CBEXM_MENIITEMFIRST + i;					mii.dwTypeData = cbex->pItems[i].szCat;					if (!InsertMenuItem(hMenu, i, TRUE, &mii)) {						DestroyMenu(hMenu);						return 0;					}					nItems++;				}				// add separator between default and custom items				if (nItems > 3) {					mii.fMask = MIIM_FTYPE;					mii.fType = MFT_SEPARATOR;					mii.wID = 0;					mii.dwItemData = 0;					InsertMenuItem(hMenu, 3, TRUE, &mii);				}				ClientToScreen((HWND)lParam, &pt);				GetClientRect((HWND)lParam, &rc);				i = TrackPopupMenuEx(hMenu, TPM_RIGHTALIGN|TPM_RETURNCMD, pt.x + rc.right, pt.y + rc.bottom, hwnd, NULL);				SendMessage(cbex->hBtnMenu, BM_SETCHECK, NULL, NULL);				if (i >= CBEXM_MENIITEMFIRST && i < CBEXM_MENIITEMFIRST + cbex->numItems) {					CtrlContactWndProc(hwnd, CBEXM_SETCURSEL, (WPARAM)i - CBEXM_MENIITEMFIRST, NULL);				}				DestroyMenu(hMenu);				return 0;			}			break;		/**			* name:	BTN_ADD			* desc:	the button to add a new entry is pressed			**/		case BTN_ADD:			if (HIWORD(wParam) == BN_CLICKED) {				DLGPROC dlgProc;				WORD dlgID;
开发者ID:Seldom,项目名称:miranda-ng,代码行数:67,


示例9: WindowProc

//.........这里部分代码省略.........		{			int wTimerID = wParam;			if( AnimFile.isAnimation == 1 && wTimerID == 2 )			{				UpdateMNG();				SendMessage( hPicWin, WM_PAINT, 0, 0 );			}		}		break;        case WM_COMMAND:            switch( LOWORD(wParam) )            {				case FILE_OPEN:					LoadOFN(hwnd);					break;				case FILE_SAVE:					SaveSFN(hwnd);					break;				case FILE_EXIT:					DestroyWindow( hPicWin );					break;				case HELP_ABOUT:					Warning( 						"MNGView Sample Application for VC6./n" /						"This Code is Public Domain./n" /						"Created by Nikolaus Brennig."					);					break;			}			break;	    case WM_ERASEBKGND:			return 0L;        case WM_PAINT:			// GetDC:			GetClientRect( hPicWin, &rcRect );			hdc = GetDC( hPicWin );			if( MemDC == 0 ) 			{				BitBlt( hdc, 0, 0, rcRect.right, rcRect.bottom, MemDC, 0, 0, BLACKNESS );				ReleaseDC( hPicWin, hdc );				break;			}			// Erase:			// Upper area...			BitBlt( hdc, 0, 0, rcRect.right, (0+dy), MemDC, 0, 0, BLACKNESS );			// Lower area...			BitBlt( hdc, 0, (0+dy)+H, rcRect.right, rcRect.bottom - ((0+dy)+H), MemDC, 0, 0, BLACKNESS );			// Left area...			BitBlt( hdc, 0, 0, (0+dx), rcRect.bottom, MemDC, 0, 0, BLACKNESS );			// Right area...			BitBlt( hdc, (0+dx)+W, 0, rcRect.right, rcRect.bottom, MemDC, 0, 0, BLACKNESS );				// Show Imageframe:			BitBlt( hdc, dx, dy, W, H, MemDC, 0, 0, SRCCOPY );			// Release DC...			ReleaseDC( hPicWin, hdc );            break;		case WM_HSCROLL:		{			int nScrollCode = (int) LOWORD(wParam);  // scroll bar value 			if( nScrollCode == SB_LINELEFT	) dx += 10;			if( nScrollCode == SB_LINERIGHT ) dx -= 10;			SendMessage( hwnd, WM_PAINT, 0, 0 );		}		break;		case WM_VSCROLL:		{			int nScrollCode = (int) LOWORD(wParam);  // scroll bar value 			if( nScrollCode == SB_LINEUP	) dy += 10;			if( nScrollCode == SB_LINEDOWN  ) dy -= 10;			SendMessage( hwnd, WM_PAINT, 0, 0 );		}		break;        case WM_GETMINMAXINFO:			((MINMAXINFO*)lParam)->ptMinTrackSize.x = 550;			((MINMAXINFO*)lParam)->ptMinTrackSize.y = 450;            return 0L;		case WM_DESTROY:			if( AnimFile.isAnimation == 1 ) 				CleanUpMNG();			if( hMenu ) DestroyMenu( hMenu );            PostQuitMessage(0);            return 0L;	}    	return DefWindowProc( hwnd, message, wParam, lParam );}
开发者ID:d3x0r,项目名称:SACK,代码行数:101,


示例10: CreatePopupMenu

HRESULT STDMETHODCALLTYPE CPopupMenu::QueryContextMenu(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags){	if(!IsWorkCopy(&m_Files, m_NumFiles, m_WcPath)){		if(m_NumFiles >= 2){		}		else{			if (FILE_ATTRIBUTE_DIRECTORY == GetFileAttributes(m_Files[0].c_str())){				int i = 0;				HMENU SubMenu = CreatePopupMenu();				m_hInstance = GetModuleHandle("TeamExplorerShellMenu.dll");				InsertMenu(SubMenu, i++, MF_STRING | MF_BYPOSITION, idCmdFirst + 1, _T("Set Environment"));				m_hSetEnv = ::LoadBitmap(m_hInstance, MAKEINTRESOURCE(IDB_SETENV)); 				SetMenuItemBitmaps(SubMenu, i-1, MF_BYPOSITION, m_hSetEnv, m_hSetEnv);				InsertMenu(hmenu, indexMenu, MF_SEPARATOR | MF_BYPOSITION, 0, NULL);				InsertMenu(hmenu, indexMenu+1, MF_POPUP | MF_BYPOSITION, (UINT)SubMenu, _T("Team Explorer"));				m_hPopupMenu = ::LoadBitmap(m_hInstance, MAKEINTRESOURCE(IDB_POPUPMENU)); 				SetMenuItemBitmaps(hmenu, indexMenu+1, MF_BYPOSITION, m_hPopupMenu, m_hPopupMenu);				InsertMenu(hmenu, indexMenu+2, MF_SEPARATOR | MF_BYPOSITION, 0, NULL);				DestroyMenu(SubMenu);			}		}	}	else{		if(!IsTeamExplorer(m_WcPath)){			return MAKE_HRESULT(SEVERITY_SUCCESS, 0, USHORT(13 + 1));		}		int i = 0;		HMENU SubMenu = CreatePopupMenu();		m_hInstance = GetModuleHandle("TeamExplorerShellMenu.dll");		if(IsProductOrTags(m_WcPath)){			InsertMenu(SubMenu, i++, MF_STRING | MF_BYPOSITION, idCmdFirst + 2, _T("Update"));			m_hUpdate = ::LoadBitmap(m_hInstance, MAKEINTRESOURCE(IDB_UPDATE)); 			SetMenuItemBitmaps(SubMenu, i-1, MF_BYPOSITION, m_hUpdate, m_hUpdate);		}		else{			if(CouldWrite(&m_Files, &m_WriteFiles, m_NumFiles)){				InsertMenu(SubMenu, i++, MF_STRING | MF_BYPOSITION, idCmdFirst + 3, _T("Check out"));				m_hCheckout = ::LoadBitmap(m_hInstance, MAKEINTRESOURCE(IDB_CHECKOUT)); 				SetMenuItemBitmaps(SubMenu, i-1, MF_BYPOSITION, m_hCheckout, m_hCheckout);				InsertMenu(SubMenu, i++, MF_STRING | MF_BYPOSITION, idCmdFirst + 4, _T("Commit"));				m_hCommit = ::LoadBitmap(m_hInstance, MAKEINTRESOURCE(IDB_COMMIT)); 				SetMenuItemBitmaps(SubMenu, i-1, MF_BYPOSITION, m_hCommit, m_hCommit);				InsertMenu(SubMenu, i++, MF_STRING | MF_BYPOSITION, idCmdFirst + 5, _T("Check in"));				m_hCheckin = ::LoadBitmap(m_hInstance, MAKEINTRESOURCE(IDB_CHECKIN)); 				SetMenuItemBitmaps(SubMenu, i-1, MF_BYPOSITION, m_hCheckin, m_hCheckin);				InsertMenu(SubMenu, i++, MF_SEPARATOR | MF_BYPOSITION, 0, NULL);				InsertMenu(SubMenu, i++, MF_STRING | MF_BYPOSITION, idCmdFirst + 2, _T("Update"));				m_hUpdate = ::LoadBitmap(m_hInstance, MAKEINTRESOURCE(IDB_UPDATE)); 				SetMenuItemBitmaps(SubMenu, i-1, MF_BYPOSITION, m_hUpdate, m_hUpdate);				InsertMenu(SubMenu, i++, MF_STRING | MF_BYPOSITION, idCmdFirst + 6, _T("Cancel"));				m_hCancel = ::LoadBitmap(m_hInstance, MAKEINTRESOURCE(IDB_CANCEL)); 				SetMenuItemBitmaps(SubMenu, i-1, MF_BYPOSITION, m_hCancel, m_hCancel);				InsertMenu(SubMenu, i++, MF_SEPARATOR | MF_BYPOSITION, 0, NULL);				InsertMenu(SubMenu, i++, MF_STRING | MF_BYPOSITION, idCmdFirst + 8, _T("Revert"));				m_hRevert = ::LoadBitmap(m_hInstance, MAKEINTRESOURCE(IDB_REVERT)); 				SetMenuItemBitmaps(SubMenu, i-1, MF_BYPOSITION, m_hRevert, m_hRevert);				InsertMenu(SubMenu, i++, MF_STRING | MF_BYPOSITION, idCmdFirst + 9, _T("Merge"));				m_hMerge = ::LoadBitmap(m_hInstance, MAKEINTRESOURCE(IDB_MERGE)); 				SetMenuItemBitmaps(SubMenu, i-1, MF_BYPOSITION, m_hMerge, m_hMerge);			}			else{				InsertMenu(SubMenu, i++, MF_STRING | MF_BYPOSITION, idCmdFirst + 3, _T("Check out"));				m_hCheckout = ::LoadBitmap(m_hInstance, MAKEINTRESOURCE(IDB_CHECKOUT)); 				SetMenuItemBitmaps(SubMenu, i-1, MF_BYPOSITION, m_hCheckout, m_hCheckout);				InsertMenu(SubMenu, i++, MF_SEPARATOR | MF_BYPOSITION, 0, NULL);				InsertMenu(SubMenu, i++, MF_STRING | MF_BYPOSITION, idCmdFirst + 7, _T("Add"));				m_hAdd = ::LoadBitmap(m_hInstance, MAKEINTRESOURCE(IDB_ADD)); 				SetMenuItemBitmaps(SubMenu, i-1, MF_BYPOSITION, m_hAdd, m_hAdd);				InsertMenu(SubMenu, i++, MF_STRING | MF_BYPOSITION, idCmdFirst + 2, _T("Update"));				m_hUpdate = ::LoadBitmap(m_hInstance, MAKEINTRESOURCE(IDB_UPDATE)); 				SetMenuItemBitmaps(SubMenu, i-1, MF_BYPOSITION, m_hUpdate, m_hUpdate);			}		}		InsertMenu(SubMenu, i++, MF_STRING | MF_BYPOSITION, idCmdFirst + 10, _T("Show log"));		m_hShowLog = ::LoadBitmap(m_hInstance, MAKEINTRESOURCE(IDB_SHOWLOG)); 		SetMenuItemBitmaps(SubMenu, i-1, MF_BYPOSITION, m_hShowLog, m_hShowLog);		InsertMenu(SubMenu, i++, MF_BYPOSITION | MF_SEPARATOR, 0, NULL);		InsertMenu(SubMenu, i++, MF_STRING | MF_BYPOSITION, idCmdFirst + 11, _T("Diff"));		m_hDiff = ::LoadBitmap(m_hInstance, MAKEINTRESOURCE(IDB_DIFF));//.........这里部分代码省略.........
开发者ID:songcser,项目名称:ALM,代码行数:101,


示例11: WndProc

static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){	enum	{		WM_APP_TRAYICON = WM_APP_RELOAD + 1,	};	static NOTIFYICONDATA nid;	static HMENU hMenu;	switch (uMsg) {	case WM_APP_TRAYICON:		switch (lParam) {		case WM_RBUTTONDOWN:			SetCapture(hWnd);			break;		case WM_RBUTTONUP:			ReleaseCapture();			{				RECT rc;				POINT pt;				GetCursorPos(&pt);				GetWindowRect(GetDesktopWindow(), &rc);				SetForegroundWindow(hWnd);				TrackPopupMenu(GetSubMenu(hMenu, 0),					(pt.x < (rc.left + rc.right) / 2 ? TPM_LEFTALIGN : TPM_RIGHTALIGN) |					(pt.y < (rc.top + rc.bottom) / 2 ? TPM_TOPALIGN : TPM_BOTTOMALIGN) |					TPM_RIGHTBUTTON, pt.x, pt.y, 0, hWnd, NULL);				PostMessage(hWnd, WM_NULL, 0, 0);			}			break;		case NIN_BALLOONHIDE:		case NIN_BALLOONTIMEOUT:		case NIN_BALLOONUSERCLICK:			/* error message closed */			DestroyWindow(hWnd);			break;		}		return 0;	case WM_APP_RELOAD:		{			Config_Load();		}		return 0;	case WM_COMMAND:		switch (LOWORD(wParam)) {		case ID_CONF:			{				TCHAR cmd[MAX_PATH];				GetModuleFileName(NULL, cmd, ARRAYSIZE(cmd));				lstrcpy(cmd + lstrlen(cmd) - 4, TEXT("cf"));				Exec(cmd);			}			break;		case ID_QUIT:			DestroyWindow(hWnd);			break;		}		break;	case WM_CREATE:		{			HINSTANCE hInstance = ((LPCREATESTRUCT)lParam)->hInstance;			Config_Load();			/* menu */			hMenu = LoadMenu(hInstance, MAKEINTRESOURCE(IDM_MAIN));			/* tray icon */			ZeroMemory(&nid, sizeof nid);			nid.cbSize           = sizeof nid;			nid.hWnd             = hWnd;			nid.uID              = 100;			nid.uFlags           = NIF_ICON | NIF_MESSAGE | NIF_TIP;			nid.uCallbackMessage = WM_APP_TRAYICON;			nid.hIcon            = Global.hIconLarge;			lstrcpy(nid.szTip, App.Title);			Shell_NotifyIcon(NIM_ADD, &nid);			/* error message balloon tip */			nid.uFlags      = NIF_INFO;			nid.dwInfoFlags = NIIF_WARNING;			LoadString(hInstance, IDS_DEVICE_NOT_FOUND, nid.szInfo, ARRAYSIZE(nid.szInfo));			lstrcpy(nid.szInfoTitle, App.Title);			/* low level keyboard hook */			Global.hHook = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, hInstance, 0);			if (!SpecialKey_Prepare())				Shell_NotifyIcon(NIM_MODIFY, &nid);		}		break;	case WM_DESTROY:		{			SpecialKey_Cleanup();			UnhookWindowsHookEx(Global.hHook);			Shell_NotifyIcon(NIM_DELETE, &nid);			DestroyMenu(hMenu);		}		PostQuitMessage(0);		return 0;	}//.........这里部分代码省略.........
开发者ID:andantissimo,项目名称:Apple-Keyboard-Bridge,代码行数:101,


示例12: text_ExitInstance

/*****************************************************************************                             text_ExitInstance* Result: void*       * Effect: *       Does whatever cleanup is necessary.  In this case, destroys the*       menu handle.****************************************************************************/void text_ExitInstance()  {   DestroyMenu(TextMenu);   DestroyMenu(TextContextMenu);  }
开发者ID:noxdafox,项目名称:clips,代码行数:13,


示例13: DlgProfileSelect

//.........这里部分代码省略.........			if (ListView_HitTest(hwndList, &lvht) < 0) {				if (lParam != -1)					break;				lvht.iItem = ListView_GetSelectionMark(hwndList);				RECT rc = { 0 };				if (!ListView_GetItemRect(hwndList, lvht.iItem, &rc, LVIR_LABEL))					break;								lvht.pt.x = rc.left;				lvht.pt.y = rc.bottom;				ClientToScreen(hwndList, &lvht.pt);			}			else {				lvht.pt.x = GET_X_LPARAM(lParam);				lvht.pt.y = GET_Y_LPARAM(lParam);			}			HMENU hMenu = CreatePopupMenu();			AppendMenu(hMenu, MF_STRING, 1, TranslateT("Run"));			AppendMenu(hMenu, MF_SEPARATOR, 0, NULL);			if (ServiceExists(MS_DB_CHECKPROFILE)) {				AppendMenu(hMenu, MF_STRING, 2, TranslateT("Check database"));				AppendMenu(hMenu, MF_SEPARATOR, 0, NULL);			}			AppendMenu(hMenu, MF_STRING, 3, TranslateT("Delete"));			int index = TrackPopupMenu(hMenu, TPM_RETURNCMD, lvht.pt.x, lvht.pt.y, 0, hwndDlg, NULL);			switch (index) {			case 1:				SendMessage(GetParent(hwndDlg), WM_COMMAND, IDOK, 0);				break;			case 2:				CheckProfile(hwndList, lvht.iItem, dat);				break;			case 3:				DeleteProfile(hwndList, lvht.iItem, dat);				break;			}			DestroyMenu(hMenu);		}		break;	case WM_NOTIFY:		LPNMHDR hdr = (LPNMHDR)lParam;		if (hdr && hdr->code == PSN_INFOCHANGED)			break;		if (hdr && hdr->idFrom == IDC_PROFILELIST) {			switch (hdr->code) {			case LVN_ITEMCHANGED:				EnableWindow(dat->hwndOK, ListView_GetSelectedCount(hwndList) == 1);			case NM_DBLCLK:				if (dat != NULL) {					TCHAR profile[MAX_PATH];					LVITEM item = { 0 };					item.mask = LVIF_TEXT;					item.iItem = ListView_GetNextItem(hwndList, -1, LVNI_SELECTED | LVNI_ALL);					item.pszText = profile;					item.cchTextMax = SIZEOF(profile);					if (ListView_GetItem(hwndList, &item)) {						// profile is placed in "profile_name" subfolder						TCHAR tmpPath[MAX_PATH];						mir_sntprintf(tmpPath, SIZEOF(tmpPath), _T("%s//%s.dat"), dat->pd->szProfileDir, profile);						HANDLE hFile = CreateFile(tmpPath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);						if (hFile == INVALID_HANDLE_VALUE)							mir_sntprintf(dat->pd->szProfile, MAX_PATH, _T("%s//%s//%s.dat"), dat->pd->szProfileDir, profile, profile);						else							_tcscpy(dat->pd->szProfile, tmpPath);						CloseHandle(hFile);						if (hdr->code == NM_DBLCLK) EndDialog(GetParent(hwndDlg), 1);					}				}				return TRUE;			case LVN_KEYDOWN:				if (((LPNMLVKEYDOWN)lParam)->wVKey == VK_DELETE)					DeleteProfile(hwndList, ListView_GetNextItem(hwndList, -1, LVNI_SELECTED | LVNI_ALL), dat);				break;			case LVN_GETINFOTIP:				NMLVGETINFOTIP *pInfoTip = (NMLVGETINFOTIP *)lParam;				if (pInfoTip != NULL) {					TCHAR profilename[MAX_PATH], fullpath[MAX_PATH];					struct _stat statbuf;					ListView_GetItemText(hwndList, pInfoTip->iItem, 0, profilename, MAX_PATH);					mir_sntprintf(fullpath, SIZEOF(fullpath), _T("%s//%s//%s.dat"), dat->pd->szProfileDir, profilename, profilename);					_tstat(fullpath, &statbuf);					mir_sntprintf(pInfoTip->pszText, pInfoTip->cchTextMax, _T("%s/n%s: %s/n%s: %s"), fullpath, TranslateT("Created"), rtrimt(NEWTSTR_ALLOCA(_tctime(&statbuf.st_ctime))), TranslateT("Modified"), rtrimt(NEWTSTR_ALLOCA(_tctime(&statbuf.st_mtime))));				}			}		}		break;	}	return FALSE;}
开发者ID:Ganster41,项目名称:miranda-ng,代码行数:101,


示例14: DestroyMenu

VOID CMainWnd::OnDestroy(WPARAM wParam, LPARAM lParam){	DestroyMenu(hCurMenu);//销毁菜单资源	PostQuitMessage(0);//如果破坏窗体,则退出主线程	return;}
开发者ID:ifplusor,项目名称:SAUGamePlatform,代码行数:6,


示例15: TRACE_FUNCTION

//.........这里部分代码省略.........                        }                        break;                    default:                        {                        }                    }                }                m_pidlManager.Delete( pItem );                pItem = NULL;            }        }        else if( pNmhdr->code == NM_RCLICK )        {            LPITEMIDLIST* ppIdl = NULL;            int nSelCount = ListView_GetSelectedCount(m_hWnd);            if ( nSelCount > 0 )            {                ppIdl = (LPITEMIDLIST*)_Module.m_Allocator.Alloc( sizeof(LPITEMIDLIST)*nSelCount );                int iIndex = ListView_GetNextItem( m_hWnd, -1, LVIS_SELECTED );                LV_ITEM item = {0};                item.iSubItem = 0;                item.mask = LVIF_PARAM;                int _i = 0;                while( iIndex >= 0                     && _i < nSelCount )                {                        item.iItem = iIndex;                    ListView_GetItem( m_hWnd, &item );                    ppIdl[_i] = m_pidlManager.Copy( ITEMLISTPTR(item.lParam) );                    ++_i;                    iIndex = ListView_GetNextItem( m_hWnd, -1, LVIS_SELECTED );                }            }            LPCONTEXTMENU pMenu = NULL;            HRESULT hr = E_FAIL;            hr = m_pFolder->GetUIObjectOf( m_hWnd, nSelCount, /                (LPCITEMIDLIST*)ppIdl, IID_IContextMenu, NULL, (void**)&pMenu );            if ( FAILED(hr)                || !pMenu)            {                LOG(_T("IID_IContextMenu Failed"));                if ( nSelCount > 0 )                {                    for ( int _i = 0; _i < nSelCount; ++_i )                    {                        m_pidlManager.Delete( ppIdl[_i] );                    }                    _Module.m_Allocator.Free( ppIdl );                }                return S_OK;            }            HMENU hMenu = ::CreatePopupMenu();            if ( !hMenu )            {                if ( nSelCount > 0 )                {                    for ( int _i = 0; _i < nSelCount; ++_i )                    {                        m_pidlManager.Delete( ppIdl[_i] );                    }                    _Module.m_Allocator.Free( ppIdl );                }                return S_OK;            }            hr = pMenu->QueryContextMenu( hMenu, 0, 10, 32767, CMF_NORMAL | CMF_EXPLORE );            if ( FAILED(hr) )            {                if ( nSelCount > 0 )                {                    for ( int _i = 0; _i < nSelCount; ++_i )                    {                        m_pidlManager.Delete( ppIdl[_i] );                    }                    _Module.m_Allocator.Free( ppIdl );                }                DestroyMenu( hMenu );                return hr;            }            POINT point = {0};            GetCursorPos( &point );            UINT command = (UINT)TrackPopupMenu ( hMenu, TPM_RETURNCMD | TPM_LEFTALIGN, point.x, point.y, 0, m_hWnd, NULL );            CMINVOKECOMMANDINFO cmi = {0};            cmi.cbSize = sizeof (CMINVOKECOMMANDINFO);            cmi.lpVerb = (LPSTR) MAKEINTRESOURCE (command-10);            cmi.nShow = SW_SHOWNORMAL;            pMenu->InvokeCommand( &cmi );            pMenu->Release();            if ( nSelCount > 0 )            {                for ( int _i = 0; _i < nSelCount; ++_i )                {                    m_pidlManager.Delete( ppIdl[_i] );                }                _Module.m_Allocator.Free( ppIdl );            }            DestroyMenu( hMenu );        }    }    TRACE_RETURN S_OK;}
开发者ID:winwingy,项目名称:Study,代码行数:101,


示例16: TaskManager_OnTabWndSelChange

static void TaskManager_OnTabWndSelChange(void){    int   i;    HMENU hMenu;    HMENU hOptionsMenu;    HMENU hViewMenu;    HMENU hSubMenu;    WCHAR wszLargeIcons[255];    WCHAR wszSmallIcons[255];    WCHAR wszDetails[255];    WCHAR wszWindows[255];    WCHAR wszSelectColumns[255];    WCHAR wszShow16bTasks[255];    WCHAR wszOneGraphAllCPU[255];    WCHAR wszOneGraphPerCPU[255];    WCHAR wszCPUHistory[255];    WCHAR wszShowKernelTimes[255];    LoadStringW(hInst, IDS_VIEW_LARGE, wszLargeIcons, sizeof(wszLargeIcons)/sizeof(WCHAR));    LoadStringW(hInst, IDS_VIEW_SMALL, wszSmallIcons, sizeof(wszSmallIcons)/sizeof(WCHAR));    LoadStringW(hInst, IDS_VIEW_DETAILS, wszDetails, sizeof(wszDetails)/sizeof(WCHAR));    LoadStringW(hInst, IDS_WINDOWS, wszWindows, sizeof(wszWindows)/sizeof(WCHAR));    LoadStringW(hInst, IDS_VIEW_SELECTCOLUMNS, wszSelectColumns, sizeof(wszSelectColumns)/sizeof(WCHAR));    LoadStringW(hInst, IDS_OPTIONS_SHOW16BITTASKS, wszShow16bTasks, sizeof(wszShow16bTasks)/sizeof(WCHAR));    LoadStringW(hInst, IDS_VIEW_CPUHISTORY_ONEGRAPHALL, wszOneGraphAllCPU, sizeof(wszOneGraphAllCPU)/sizeof(WCHAR));    LoadStringW(hInst, IDS_VIEW_CPUHISTORY_ONEGRAPHPERCPU, wszOneGraphPerCPU, sizeof(wszOneGraphPerCPU)/sizeof(WCHAR));    LoadStringW(hInst, IDS_VIEW_CPUHISTORY, wszCPUHistory, sizeof(wszCPUHistory)/sizeof(WCHAR));    LoadStringW(hInst, IDS_VIEW_SHOWKERNELTIMES, wszShowKernelTimes, sizeof(wszShowKernelTimes)/sizeof(WCHAR));    hMenu = GetMenu(hMainWnd);    hViewMenu = GetSubMenu(hMenu, 2);    hOptionsMenu = GetSubMenu(hMenu, 1);    TaskManagerSettings.ActiveTabPage = TabCtrl_GetCurSel(hTabWnd);    for (i = GetMenuItemCount(hViewMenu) - 1; i > 2; i--) {        hSubMenu = GetSubMenu(hViewMenu, i);        if (hSubMenu)            DestroyMenu(hSubMenu);        RemoveMenu(hViewMenu, i, MF_BYPOSITION);    }    RemoveMenu(hOptionsMenu, 3, MF_BYPOSITION);    switch (TaskManagerSettings.ActiveTabPage) {    case 0:        ShowWindow(hApplicationPage, SW_SHOW);        ShowWindow(hProcessPage, SW_HIDE);        ShowWindow(hPerformancePage, SW_HIDE);        BringWindowToTop(hApplicationPage);        AppendMenuW(hViewMenu, MF_STRING, ID_VIEW_LARGE, wszLargeIcons);        AppendMenuW(hViewMenu, MF_STRING, ID_VIEW_SMALL, wszSmallIcons);        AppendMenuW(hViewMenu, MF_STRING, ID_VIEW_DETAILS, wszDetails);        if (GetMenuItemCount(hMenu) <= 4) {            hSubMenu = LoadMenuW(hInst, MAKEINTRESOURCEW(IDR_WINDOWSMENU));            InsertMenuW(hMenu, 3, MF_BYPOSITION|MF_POPUP, (UINT_PTR)hSubMenu, wszWindows);            DrawMenuBar(hMainWnd);        }        if (TaskManagerSettings.View_LargeIcons)            CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_LARGE, MF_BYCOMMAND);        else if (TaskManagerSettings.View_SmallIcons)            CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_SMALL, MF_BYCOMMAND);        else            CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_DETAILS, MF_BYCOMMAND);        /*         * Give the application list control focus         */        SetFocus(hApplicationPageListCtrl);        break;    case 1:        ShowWindow(hApplicationPage, SW_HIDE);        ShowWindow(hProcessPage, SW_SHOW);        ShowWindow(hPerformancePage, SW_HIDE);        BringWindowToTop(hProcessPage);        AppendMenuW(hViewMenu, MF_STRING, ID_VIEW_SELECTCOLUMNS, wszSelectColumns);        AppendMenuW(hOptionsMenu, MF_STRING, ID_OPTIONS_SHOW16BITTASKS, wszShow16bTasks);        if (TaskManagerSettings.Show16BitTasks)            CheckMenuItem(hOptionsMenu, ID_OPTIONS_SHOW16BITTASKS, MF_BYCOMMAND|MF_CHECKED);        if (GetMenuItemCount(hMenu) > 4)        {            RemoveMenu(hMenu, 3, MF_BYPOSITION);            DrawMenuBar(hMainWnd);        }        /*         * Give the process list control focus         */        SetFocus(hProcessPageListCtrl);        break;    case 2:        ShowWindow(hApplicationPage, SW_HIDE);        ShowWindow(hProcessPage, SW_HIDE);        ShowWindow(hPerformancePage, SW_SHOW);        BringWindowToTop(hPerformancePage);        if (GetMenuItemCount(hMenu) > 4) {            RemoveMenu(hMenu, 3, MF_BYPOSITION);            DrawMenuBar(hMainWnd);        }        hSubMenu = CreatePopupMenu();        AppendMenuW(hSubMenu, MF_STRING, ID_VIEW_CPUHISTORY_ONEGRAPHALL, wszOneGraphAllCPU);        AppendMenuW(hSubMenu, MF_STRING, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, wszOneGraphPerCPU);//.........这里部分代码省略.........
开发者ID:mikekap,项目名称:wine,代码行数:101,


示例17: switch

STDAPI CLangBarItemButton::OnClick(TfLBIClick click, POINT pt, const RECT *prcArea){    if(IsEqualGUID(_LangBarItemInfo.guidItem, GUID_LBI_INPUTMODE))    {        switch(click)        {        case TF_LBI_CLK_RIGHT:        {            HMENU hMenu = LoadMenuW(g_hInst, MAKEINTRESOURCEW(IDR_SYSTRAY_MENU));            if(hMenu)            {                UINT check = IDM_DEFAULT;                for(int i = 0; i < _countof(menuItems); i++)                {                    if(_pTextService->inputmode == menuItems[i].inputmode)                    {                        check = menuItems[i].id;                        break;                    }                }                CheckMenuRadioItem(hMenu, IDM_HIRAGANA, IDM_DEFAULT, check, MF_BYCOMMAND);                HMENU hSubMenu = GetSubMenu(hMenu, 0);                if(hSubMenu)                {                    TPMPARAMS tpm;                    TPMPARAMS *ptpm = nullptr;                    if(prcArea != nullptr)                    {                        tpm.cbSize = sizeof(tpm);                        tpm.rcExclude = *prcArea;                        ptpm = &tpm;                    }                    BOOL bRet = TrackPopupMenuEx(hSubMenu,                                                 TPM_LEFTALIGN | TPM_TOPALIGN | TPM_NONOTIFY | TPM_RETURNCMD | TPM_LEFTBUTTON | TPM_VERTICAL,                                                 pt.x, pt.y, GetFocus(), ptpm);                    this->OnMenuSelect(bRet);                }                DestroyMenu(hMenu);            }        }        break;        case TF_LBI_CLK_LEFT:        {            BOOL fOpen = _pTextService->_IsKeyboardOpen();            if(fOpen)            {                _pTextService->_ClearComposition();            }            else            {                _pTextService->inputmode = im_disable;            }            _pTextService->_SetKeyboardOpen(fOpen ? FALSE : TRUE);        }        break;        default:            break;        }    }    return S_OK;}
开发者ID:nathancorvussolis,项目名称:corvusskk,代码行数:64,


示例18: do_windowList

//.........这里部分代码省略.........				next_desk = Scr.CurrentDesk;			else				next_desk = MY_INT_MAX;		}		else 		{			if (last_desk_done  == MY_INT_MIN)				next_desk = val2;			else				next_desk = MY_INT_MAX;		}		last_desk_done = next_desk;		for (t = Scr.FvwmRoot.next; t != NULL; t = t->next)		{			if			(	t->Desk == next_desk &&				(t->flags & WINDOWLISTSKIP) == 0			)			{				if (++scut == ('9' + 1))					scut = 'A';	/* Next shortcut key */				if (val1 % 2 != 0)					name = t->icon_name;				else					name = t->name;				t_hot = safemalloc (strlen (name) + 48);				sprintf (t_hot, "&%c.  %s", scut, name); /* Generate label */	      				tname = safemalloc(40);				tname[0] = 0;				if(t->flags & ICONIFIED)					strcpy (tname, "(");				sprintf (loc, "%d:", t->Desk);				strcat (tname, loc);				if (t->frame_x >= 0)					sprintf (loc, "+%d", t->frame_x);				else					sprintf (loc, "%d", t->frame_x);				strcat (tname, loc);				if (t->frame_y >=0)					sprintf (loc, "+%d", t->frame_y);				else					sprintf (loc, "%d", t->frame_y);				strcat (tname, loc);				dheight = t->frame_height - t->title_height - 2*t->boundary_width;				dwidth = t->frame_width - 2*t->boundary_width;	      				dwidth -= t->hints.base_width;				dheight -= t->hints.base_height;	      				dwidth /= t->hints.width_inc;				dheight /= t->hints.height_inc;				sprintf (loc, "x%d", dwidth);				strcat (tname, loc);				sprintf (loc, "x%d", dheight);				strcat (tname, loc);				if (t->flags & ICONIFIED)					strcat (tname, ")");				sprintf (tlabel, "RAISE_IT %ld %ld", t, t->w);				strcat (t_hot, "/t");				strcat (t_hot, tname);				AddToMenu (mr, t_hot, tlabel);				free (t_hot);				free (tname);			}		}	}	MakeMenu (mr);  /* If the menu is a result of a ButtonPress, then tell do_menu()     to expect (and ignore) a button release event. Otherwise, it was     as a result of a keypress or something, so we shouldn't expect     a button release event. Fixes problem with keyboard short cuts not     working if window list is popped up by keyboard.         [email
C++ DestroyQuantumInfo函数代码示例
C++ DestroyMagickWand函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。