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

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

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

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

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

示例1: DlgProcText

INT_PTR CALLBACK DlgProcText(HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam){	RECT rc, pos;	HWND button;	HMENU hMenu, hMenu1;	TCHAR str[4096];	switch (msg) {	case WM_INITDIALOG:		opt_startup = TRUE;		// set windows position, make it top-most		GetWindowRect(hdlg, &rc);		SetWindowPos(hdlg, HWND_TOPMOST, rc.left, rc.top, 0, 0, SWP_NOSIZE);		TranslateDialogDefault(hdlg);		// generate the display text for variable list		_tcsncpy(str, VAR_LIST_OPT, _countof(str) - 1);		SetDlgItemText(hdlg, IDC_VARLIST, str);		// make the more variable and other buttons flat		SendDlgItemMessage(hdlg, IDC_MORE, BUTTONSETASFLATBTN, TRUE, 0);		SendDlgItemMessage(hdlg, IDC_TM1, BUTTONSETASFLATBTN, TRUE, 0);		SendDlgItemMessage(hdlg, IDC_TM2, BUTTONSETASFLATBTN, TRUE, 0);		SendDlgItemMessage(hdlg, IDC_TM3, BUTTONSETASFLATBTN, TRUE, 0);		SendDlgItemMessage(hdlg, IDC_TM4, BUTTONSETASFLATBTN, TRUE, 0);		SendDlgItemMessage(hdlg, IDC_TM5, BUTTONSETASFLATBTN, TRUE, 0);		SendDlgItemMessage(hdlg, IDC_TM6, BUTTONSETASFLATBTN, TRUE, 0);		SendDlgItemMessage(hdlg, IDC_TM7, BUTTONSETASFLATBTN, TRUE, 0);		SendDlgItemMessage(hdlg, IDC_TM8, BUTTONSETASFLATBTN, TRUE, 0);		SendDlgItemMessage(hdlg, IDC_RESET, BUTTONSETASFLATBTN, TRUE, 0);		// load the settings		LoadTextSettings(hdlg);		opt_startup = FALSE;		return TRUE;	case WM_COMMAND:		if (opt_startup)	return TRUE;		switch (LOWORD(wParam)) {		case IDC_CTEXT:		case IDC_BTITLE:		case IDC_BTEXT:		case IDC_NTEXT:		case IDC_XTEXT:		case IDC_ETEXT:		case IDC_HTEXT:		case IDC_BTITLE2:			if (HIWORD(wParam) == EN_CHANGE)				SendMessage(GetParent(hdlg), PSM_CHANGED, 0, 0);			break;		case IDC_MORE:			// display custom variables list			MoreVarList();			break;		case IDC_TM1:		case IDC_TM2:		case IDC_TM3:		case IDC_TM4:		case IDC_TM5:		case IDC_TM6:		case IDC_TM7:		case IDC_TM8:			// display the menu			button = GetDlgItem(hdlg, LOWORD(wParam));			GetWindowRect(button, &pos);			hMenu = LoadMenu(hInst, MAKEINTRESOURCE(IDR_TMMENU));			hMenu1 = GetSubMenu(hMenu, 0);			TranslateMenu(hMenu1);			switch (TrackPopupMenu(hMenu1, TPM_LEFTBUTTON | TPM_RETURNCMD, pos.left, pos.bottom, 0, hdlg, NULL)) {			case ID_MPREVIEW:				{					// show the preview in a message box, using the weather data from the default station					WEATHERINFO winfo = LoadWeatherInfo(opt.DefStn);					GetDisplay(&winfo, *var[LOWORD(wParam) - IDC_TM1], str);					MessageBox(NULL, str, TranslateT("Weather Protocol Text Preview"), MB_OK | MB_TOPMOST);					break;				}			case ID_MRESET:				unsigned varo = LOWORD(wParam) - IDC_TM1;				// remove the old setting from db and free memory				TCHAR* vartmp = *var[varo];				wfree(&vartmp);				SetTextDefault(varname[varo]);				SetDlgItemText(hdlg, cname[varo], *var[varo]);				break;			}			DestroyMenu(hMenu);			break;		case IDC_RESET:			// left click action selection menu			button = GetDlgItem(hdlg, IDC_RESET);			GetWindowRect(button, &pos);			hMenu = LoadMenu(hInst, MAKEINTRESOURCE(IDR_TMENU));			hMenu1 = GetSubMenu(hMenu, 0);			TranslateMenu(hMenu1);			switch (TrackPopupMenu(hMenu1, TPM_LEFTBUTTON | TPM_RETURNCMD, pos.left, pos.bottom, 0, hdlg, NULL)) {			case ID_T1:				// reset to the strings in memory, discard all changes				LoadTextSettings(hdlg);				break;//.........这里部分代码省略.........
开发者ID:Seldom,项目名称:miranda-ng,代码行数:101,


示例2: FileDlgProc

//.........这里部分代码省略.........		break;	case WM_NOTIFY:		{			lPnmhdr = (LPNMHDR)lParam;			hList = GetDlgItem(hDlg,IDC_LIST1);			if (lPnmhdr->hwndFrom==hList)			{				switch (lPnmhdr->code)				{				case NM_DBLCLK:					{						hList = GetDlgItem(hDlg,IDC_LIST1);						int index = ListView_GetSelectionMark(hList);						int count = ListView_GetItemCount(hList);						char szType[10] = {0};						ListView_GetItemText(hList,index,0,szType,sizeof(szType));						if (strcmp(szType,"FILE")==0)						{							break;						}						if (index<count)						{							char szFile[NAMESIZE] = {0};							char szType[10] = {0};							ListView_GetItemText(hList,index,0,szType,sizeof(szType));							ListView_GetItemText(hList,index,1,szFile,NAMESIZE);							FileOpen(sockfd,szFile,szType);						}					}					break;				case NM_RCLICK:					{						HMENU hMenu = LoadMenu(hInst,MAKEINTRESOURCE(IDR_MENU1));						hMenu = GetSubMenu(hMenu,0);						POINT stPos;						GetCursorPos(&stPos);						TrackPopupMenu(hMenu,TPM_LEFTALIGN,stPos.x,stPos.y,NULL,hDlg,NULL);					}					break;				}			}		}		break;	case WM_INITMENUPOPUP:		{			switch(LOWORD(lParam))			{			case 0:				{					//文件禁用:打开(EXE不禁用)					//文件夹禁用:下载					//盘符禁用:返回					hList = GetDlgItem(hDlg,IDC_LIST1);					int index = ListView_GetSelectionMark(hList);					int count = ListView_GetItemCount(hList);					if (index>=count && strlen(szTempPath)==0)					{						EnableMenuItem((HMENU)wParam,ID_POPUP_40001,MF_GRAYED);						EnableMenuItem((HMENU)wParam,ID_POPUP_40002,MF_GRAYED);						EnableMenuItem((HMENU)wParam,ID_POPUP_40004,MF_GRAYED);						EnableMenuItem((HMENU)wParam,ID_POPUP_40005,MF_GRAYED);					}					else if (index>=count)					{						EnableMenuItem((HMENU)wParam,ID_POPUP_40001,MF_GRAYED);						EnableMenuItem((HMENU)wParam,ID_POPUP_40002,MF_ENABLED);
开发者ID:drupalhunter,项目名称:HackCollect,代码行数:67,


示例3: MenuDrawProc

//.........这里部分代码省略.........            break;//        case WM_LBUTTONUP:        case WM_MBUTTONUP:        case WM_MBUTTONDOWN:        case WM_RBUTTONDBLCLK:        case WM_MBUTTONDBLCLK:        case WM_RBUTTONUP:            SetFocus(hwnd);            return 1;        case WM_PAINT:            menuData = (struct resRes *)GetWindowLong(hwnd, 0);            GetClientRect(hwnd, &r);            dc = BeginPaint(hwnd, &paint);            DoPaint(hwnd, dc, &paint, &r, menuData);            EndPaint(hwnd, &paint);            break;        case WM_RBUTTONDOWN:            menuData = (struct resRes *)GetWindowLong(hwnd, 0);            SendMessage(hwnd, WM_COMMAND, ID_EDIT + (EN_KILLFOCUS << 16), 0);            mouse.x = LOWORD(lParam);            mouse.y = HIWORD(lParam);            i = menuHitTest(hwnd, menuData, mouse);            if (i)            {                HMENU menu, popup;                SendMessage(hwnd, WM_COMMAND, MAKEWPARAM(ID_EDIT, CBN_KILLFOCUS), 0);                menu = LoadMenuGeneric(hInstance, "RESMENUMENU");                if (i & 2)                    EnableMenuItem(menu, IDM_DELETE, MF_BYCOMMAND | MF_GRAYED);                if (i & 4)                    EnableMenuItem(menu, IDM_INSERT_SEPARATOR, MF_BYCOMMAND | MF_GRAYED);                menuData->gd.selectedRow = mouse.y + menuData->gd.scrollPos.y;                menuData->gd.selectedColumn = mouse.x + menuData->gd.scrollPos.x;                popup = GetSubMenu(menu, 0);                ClientToScreen(hwnd, &mouse);                InsertBitmapsInMenu(popup);                TrackPopupMenuEx(popup, TPM_TOPALIGN | TPM_LEFTALIGN | TPM_LEFTBUTTON, mouse.x,                    mouse.y, hwnd, NULL);                DestroyMenu(menu);            }            return 1;        case WM_LBUTTONDBLCLK:            SendMessage(hwnd, WM_COMMAND, ID_EDIT + (EN_KILLFOCUS << 16), 0);            SetFocus(hwnd);            menuData = (struct resRes *)GetWindowLong(hwnd, 0);            mouse.x = LOWORD(lParam);            mouse.y = HIWORD(lParam);            SelectSubmenu(hwnd, menuData, mouse, TRUE);            break;        case WM_MOUSEMOVE:            if (dragging)            {                menuData = (struct resRes *)GetWindowLong(hwnd, 0);                mouse.x = LOWORD(lParam);                mouse.y = HIWORD(lParam);                menuData->gd.selectedMenu = start;                i = menuHitTest(hwnd, menuData, mouse);                if (!oldcurs)                    oldcurs = GetCursor();                SetCursor(i & 8 ? dragCur : noCur);            }            break;        case WM_LBUTTONDOWN:            SetFocus(hwnd);            menuData = (struct resRes *)GetWindowLong(hwnd, 0);            SendMessage(hwnd, WM_COMMAND, ID_EDIT + (EN_KILLFOCUS << 16), 0);
开发者ID:jossk,项目名称:OrangeC,代码行数:67,


示例4: WepWindowsDlgProc

//.........这里部分代码省略.........        }        break;    case WM_COMMAND:        {            switch (LOWORD(wParam))            {            case IDCANCEL:            //case IDOK:                DestroyWindow(hwndDlg);                break;            case IDC_REFRESH:                WepRefreshWindows(context);                break;            case ID_SHOWCONTEXTMENU:                {                    POINT point;                    PWE_WINDOW_NODE *windows;                    ULONG numberOfWindows;                    HMENU menu;                    HMENU subMenu;                    point.x = (SHORT)LOWORD(lParam);                    point.y = (SHORT)HIWORD(lParam);                    WeGetSelectedWindowNodes(                        &context->TreeContext,                        &windows,                        &numberOfWindows                        );                    if (numberOfWindows != 0)                    {                        menu = LoadMenu(PluginInstance->DllBase, MAKEINTRESOURCE(IDR_WINDOW));                        subMenu = GetSubMenu(menu, 0);                        SetMenuDefaultItem(subMenu, ID_WINDOW_PROPERTIES, FALSE);                        if (numberOfWindows == 1)                        {                            WINDOWPLACEMENT placement = { sizeof(placement) };                            BYTE alpha;                            ULONG flags;                            ULONG i;                            ULONG id;                            // State                            GetWindowPlacement(windows[0]->WindowHandle, &placement);                            if (placement.showCmd == SW_MINIMIZE)                                PhEnableMenuItem(subMenu, ID_WINDOW_MINIMIZE, FALSE);                            else if (placement.showCmd == SW_MAXIMIZE)                                PhEnableMenuItem(subMenu, ID_WINDOW_MAXIMIZE, FALSE);                            else if (placement.showCmd == SW_NORMAL)                                PhEnableMenuItem(subMenu, ID_WINDOW_RESTORE, FALSE);                            // Visible                            CheckMenuItem(subMenu, ID_WINDOW_VISIBLE,                                (GetWindowLong(windows[0]->WindowHandle, GWL_STYLE) & WS_VISIBLE) ? MF_CHECKED : MF_UNCHECKED);                            // Enabled                            CheckMenuItem(subMenu, ID_WINDOW_ENABLED,                                !(GetWindowLong(windows[0]->WindowHandle, GWL_STYLE) & WS_DISABLED) ? MF_CHECKED : MF_UNCHECKED);                            // Always on Top
开发者ID:JamesLinus,项目名称:processhacker_2.33,代码行数:67,


示例5: GetWindowLong

//.........这里部分代码省略.........		ListView_SetBkColor( nav->mTree, GetSysColor( COLOR_3DFACE ) );		ListView_SetTextBkColor( nav->mTree, GetSysColor( COLOR_3DFACE ) );		nav->mListWndProc = ( WNDPROC )GetWindowLong( nav->mTree, GWL_WNDPROC );		SetWindowLong( nav->mTree, GWL_USERDATA, ( LONG )nav );		SetWindowLong( nav->mTree, GWL_WNDPROC, ( LONG )ListWndProc );		// Insert the only column		col.mask = 0;		ListView_InsertColumn( nav->mTree, 0, &col );		break;	}	case WM_SIZE: {		RECT rClient;		MoveWindow( nav->mTree, 0, 0, LOWORD( lParam ), HIWORD( lParam ), TRUE );		GetClientRect( nav->mTree, &rClient );		ListView_SetColumnWidth( nav->mTree, 0, rClient.right - rClient.left - 1 );		break;	}	case WM_NCACTIVATE:		return gApp.ToolWindowActivate( gApp.GetMDIFrame(), msg, wParam, lParam );	case WM_NOTIFY: {		LPNMHDR nh;		nh = ( LPNMHDR ) lParam;		switch( nh->code ) {		case NM_CLICK:		case NM_DBLCLK: {			DWORD dwpos = GetMessagePos();			LVHITTESTINFO info;			info.pt.x = LOWORD( dwpos );			info.pt.y = HIWORD( dwpos );			MapWindowPoints( HWND_DESKTOP, nh->hwndFrom, &info.pt, 1 );			int index = ListView_HitTest( nav->mTree, &info );			if( index != -1 ) {				RECT	rItem;				int		offset;				ListView_GetItemRect( nav->mTree, index, &rItem, LVIR_BOUNDS );				LVITEM item;				item.mask = LVIF_PARAM;				item.iItem = index;				ListView_GetItem( nav->mTree, &item );				idWindow *window = ( idWindow * )item.lParam;				rvGEWindowWrapper *wrapper = rvGEWindowWrapper::GetWrapper( window );				offset = wrapper->GetDepth( ) * 10 + 1;				if( info.pt.x < GENAV_ITEMHEIGHT ) {					if( !rvGEWindowWrapper::GetWrapper( window )->IsHidden( ) ) {						nav->mWorkspace->HideWindow( window );					} else {						nav->mWorkspace->UnhideWindow( window );					}				} else if( info.pt.x > GENAV_ITEMHEIGHT + offset && info.pt.x < GENAV_ITEMHEIGHT + offset + 16 ) {					if( wrapper->CanHaveChildren( ) && window->GetChildCount( ) ) {						if( wrapper->IsExpanded( ) ) {							wrapper->Collapse( );							nav->Update( );						} else {							wrapper->Expand( );							nav->Update( );						}					}				} else if( nh->code == NM_DBLCLK ) {					SendMessage( gApp.GetMDIFrame( ), WM_COMMAND, MAKELONG( ID_GUIED_ITEM_PROPERTIES, 0 ), 0 );				}			}			break;		}		case NM_RCLICK: {			DWORD dwpos = GetMessagePos();			LVHITTESTINFO info;			info.pt.x = LOWORD( dwpos );			info.pt.y = HIWORD( dwpos );			MapWindowPoints( HWND_DESKTOP, nh->hwndFrom, &info.pt, 1 );			int index = ListView_HitTest( nav->mTree, &info );			if( index != -1 ) {				ClientToScreen( hWnd, &info.pt );				HMENU menu = GetSubMenu( LoadMenu( gApp.GetInstance(), MAKEINTRESOURCE( IDR_GUIED_ITEM_POPUP ) ), 0 );				TrackPopupMenu( menu, TPM_RIGHTBUTTON | TPM_LEFTALIGN, info.pt.x, info.pt.y, 0, gApp.GetMDIFrame( ), NULL );				DestroyMenu( menu );			}			break;		}		case LVN_ITEMCHANGED: {			NMLISTVIEW *nml = ( NMLISTVIEW * ) nh;			if( ( nml->uNewState & LVIS_SELECTED ) != ( nml->uOldState & LVIS_SELECTED ) ) {				LVITEM item;				item.iItem = nml->iItem;				item.mask = LVIF_PARAM;				ListView_GetItem( nav->mTree, &item );				if( nml->uNewState & LVIS_SELECTED ) {					nav->mWorkspace->GetSelectionMgr().Add( ( idWindow * )item.lParam, false );				} else {					nav->mWorkspace->GetSelectionMgr().Remove( ( idWindow * )item.lParam );				}			}			break;		}		}		break;	}	}	return DefWindowProc( hWnd, msg, wParam, lParam );}
开发者ID:SL987654,项目名称:The-Darkmod-Experimental,代码行数:101,


示例6: MessageBox

bool CConEmuInside::TurnExplorerTipPane(wchar_t (&szAddMsg)[128]){	bool bRepeat = false;	int nBtn = IDCANCEL;	DWORD_PTR nRc;	LRESULT lSendRc;	if (gnOsVer < 0x600)	{		// WinXP, Win2k3		nBtn = IDYES; // MessageBox(L"Tip pane is not found in Explorer window!/nThis pane is required for 'ConEmu Inside' mode./nDo you want to show this pane?", MB_ICONQUESTION|MB_YESNO);		if (nBtn == IDYES)		{		#if 0			HWND hWorker = GetDlgItem(mh_InsideParentRoot, 0xA005);			#ifdef _DEBUG			if (hWorker)			{				HWND hReBar = FindWindowEx(hWorker, NULL, L"ReBarWindow32", NULL);				if (hReBar)				{					POINT pt = {4,4};					HWND hTool = ChildWindowFromPoint(hReBar, pt);					if (hTool)					{						//TBBUTTON tb = {};						//lSendRc = SendMessageTimeout(mh_InsideParentRoot, TB_GETBUTTON, 2, (LPARAM)&tb, SMTO_NOTIMEOUTIFNOTHUNG, 500, &nRc);						//if (tb.idCommand)						//{						//	NMTOOLBAR nm = {{hTool, 0, TBN_DROPDOWN}, 32896/*tb.idCommand*/};						//	lSendRc = SendMessageTimeout(mh_InsideParentRoot, WM_NOTIFY, 0, (LPARAM)&nm, SMTO_NOTIMEOUTIFNOTHUNG, 500, &nRc);						//}						lSendRc = SendMessageTimeout(mh_InsideParentRoot, WM_COMMAND, 32896, 0, SMTO_NOTIMEOUTIFNOTHUNG, 500, &nRc);					}				}			}			// There is no way to force "Tip pane" in WinXP			// if popup menu "View -> Explorer bar" was not _shown_ at least once			// In that case, Explorer ignores WM_COMMAND(41536) and does not reveal tip pane.			HMENU hMenu1 = GetMenu(mh_InsideParentRoot), hMenu2 = NULL, hMenu3 = NULL;			if (hMenu1)			{				hMenu2 = GetSubMenu(hMenu1, 2);				//if (!hMenu2)				//{				//	lSendRc = SendMessageTimeout(mh_InsideParentRoot, WM_MENUSELECT, MAKELONG(2,MF_POPUP), (LPARAM)hMenu1, SMTO_NOTIMEOUTIFNOTHUNG, 1500, &nRc);				//	hMenu2 = GetSubMenu(hMenu1, 2);				//}				if (hMenu2)				{					hMenu3 = GetSubMenu(hMenu2, 2);				}			}			#endif		#endif			//INPUT keys[4] = {INPUT_KEYBOARD,INPUT_KEYBOARD,INPUT_KEYBOARD,INPUT_KEYBOARD};			//keys[0].ki.wVk = VK_F10; keys[0].ki.dwFlags = 0; //keys[0].ki.wScan = MapVirtualKey(VK_F10,MAPVK_VK_TO_VSC);			//keys[1].ki.wVk = VK_F10; keys[1].ki.dwFlags = KEYEVENTF_KEYUP; //keys[0].ki.wScan = MapVirtualKey(VK_F10,MAPVK_VK_TO_VSC);			//keys[1].ki.wVk = 'V';			//keys[2].ki.wVk = 'E';			//keys[3].ki.wVk = 'T';			//LRESULT lSentRc = 0;			//SetForegroundWindow(mh_InsideParentRoot);			//LRESULT lSentRc = SendInput(2/*countof(keys)*/, keys, sizeof(keys[0]));			//lSentRc = SendMessageTimeout(mh_InsideParentRoot, WM_SYSKEYUP, 'V', 0, SMTO_NOTIMEOUTIFNOTHUNG, 5000, &nRc);			lSendRc = SendMessageTimeout(mh_InsideParentRoot, WM_COMMAND, EMID_TIPOFDAY/*41536*/, 0, SMTO_NOTIMEOUTIFNOTHUNG, 5000, &nRc);			UNREFERENCED_PARAMETER(lSendRc);			mb_InsidePaneWasForced = true;			// Подготовим сообщение если не удастся			wcscpy_c(szAddMsg, L"Forcing Explorer to show Tip pane failed./nShow pane yourself and recall ConEmu./n/n");		}	}	if (nBtn == IDYES)	{		// Первая проверка		mh_InsideParentWND = mh_InsideParentRel = NULL;		m_InsideIntegration = ii_Auto;		InsideFindShellView(mh_InsideParentRoot);		if (mh_InsideParentWND && mh_InsideParentRel)		{			bRepeat = true;			goto wrap;		}		// Если не нашли - задержка и повторная проверка		Sleep(500);		mh_InsideParentWND = mh_InsideParentRel = NULL;		m_InsideIntegration = ii_Auto;		InsideFindShellView(mh_InsideParentRoot);		if (mh_InsideParentWND && mh_InsideParentRel)		{			bRepeat = true;//.........这里部分代码省略.........
开发者ID:Alexander-Shukaev,项目名称:ConEmu,代码行数:101,


示例7: WinMain

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,                   LPSTR lpCmdLine, int nCmdShow){	char *pb;	char *pe;	WNDCLASS wc;	HWND hWnd;	HMENU hMainMenu;	MSG msg;	for (pb = lpCmdLine; *pb == ' ' || *pb == '/t'; pb++);	for (pe = pb; *pe != '/0'; pe++);	while (--pe > pb && (*pe == ' ' || *pe == '/t'));	/* Now pb and pe point at respectively the first and last	   non-blank character in lpCmdLine. If pb > pe then the command line	   is blank. */	if (*pb == '"' && *pe == '"')		pb++;	else		pe++;	*pe = '/0';	/* Now pb contains the filename, if any, specified on the command line. */	hWnd = FindWindow(WND_CLASS_NAME, NULL);	if (hWnd != NULL) {		/* as instance of WASAP is already running */		if (*pb != '/0') {			/* pass the filename */			COPYDATASTRUCT cds = { 'O', (DWORD) (pe + 1 - pb), pb };			SendMessage(hWnd, WM_COPYDATA, (WPARAM) NULL, (LPARAM) &cds);		}		else {			/* bring the open dialog to top */			HWND hChild = GetLastActivePopup(hWnd);			if (hChild != hWnd)				SetForegroundWindow(hChild);		}		return 0;	}	wc.style = CS_OWNDC | CS_VREDRAW | CS_HREDRAW;	wc.lpfnWndProc = MainWndProc;	wc.cbClsExtra = 0;	wc.cbWndExtra = 0;	wc.hInstance = hInstance;	wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APP));	wc.hCursor = LoadCursor(NULL, IDC_ARROW);	wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);	wc.lpszMenuName = NULL;	wc.lpszClassName = WND_CLASS_NAME;	RegisterClass(&wc);	hWnd = CreateWindow(WND_CLASS_NAME,		APP_TITLE,		WS_OVERLAPPEDWINDOW,		CW_USEDEFAULT,		CW_USEDEFAULT,		CW_USEDEFAULT,		CW_USEDEFAULT,		NULL,		NULL,		hInstance,		NULL	);	hStopIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_STOP));	hPlayIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_PLAY));	hMainMenu = LoadMenu(hInstance, MAKEINTRESOURCE(IDR_TRAYMENU));	hTrayMenu = GetSubMenu(hMainMenu, 0);	hSongMenu = CreatePopupMenu();	InsertMenu(hTrayMenu, 1, MF_BYPOSITION | MF_ENABLED | MF_STRING | MF_POPUP,	           (UINT_PTR) hSongMenu, "So&ng");	hQualityMenu = GetSubMenu(hTrayMenu, 3);	SetMenuDefaultItem(hTrayMenu, 0, TRUE);	Tray_Add(hWnd, hStopIcon);	SetQuality(hWnd, use_16bit, quality);	if (*pb != '/0') {		memcpy(strFile, pb, pe + 1 - pb);		LoadFile(hWnd);	}	else		SelectAndLoadFile(hWnd);	while (GetMessage(&msg, NULL, 0, 0)) {		TranslateMessage(&msg);		DispatchMessage(&msg);	}	WaveOut_Close();	Tray_Delete(hWnd);	DestroyMenu(hMainMenu);	return 0;}
开发者ID:Erikhht,项目名称:TCPMP,代码行数:91,


示例8: GetSubMenu

void TrayIcon::OnContextMenu(){   HMENU hMenu, hmenuTrackPopup;   POINT pt;   HRESULT res;   int i;   Desktop * desk;   //Get the "base" menu   hMenu = Locale::GetInstance().LoadMenu(IDC_VIRTUALDIMENSION);   if (hMenu == NULL)      return;   hmenuTrackPopup = GetSubMenu(hMenu, 0);   //Append the list of desktops   InsertMenu(hmenuTrackPopup, 0, MF_BYPOSITION | MF_SEPARATOR, 0, 0);   i = 0;   for( desk = deskMan->GetFirstDesktop();        desk != NULL;        desk = deskMan->GetNextDesktop())   {      MENUITEMINFO mii;      mii.cbSize = sizeof(mii);      mii.fMask = MIIM_STATE | MIIM_STRING | MIIM_ID | MIIM_DATA;      if (desk->IsActive())         mii.fState = MFS_CHECKED;      else         mii.fState = MFS_UNCHECKED;      mii.dwItemData = (DWORD_PTR)desk;      mii.dwTypeData = desk->GetText();      mii.cch = (UINT)_tcslen(mii.dwTypeData);      mii.wID = WM_USER + i++;      InsertMenuItem(hmenuTrackPopup, 0, TRUE, &mii);   }   //And show the menu   GetCursorPos(&pt);   SetForegroundWindow(m_hWnd);   res = TrackPopupMenu(hmenuTrackPopup, TPM_RIGHTBUTTON | TPM_RETURNCMD, pt.x, pt.y, 0, m_hWnd, NULL);   //Process the resulting message   if (res >= WM_USER)   {      Desktop * desk;      MENUITEMINFO mii;      mii.cbSize = sizeof(mii);      mii.fMask = MIIM_DATA;      GetMenuItemInfo(hmenuTrackPopup, res, FALSE, &mii);      desk = (Desktop*)mii.dwItemData;      deskMan->SwitchToDesktop(desk);      InvalidateRect(m_hWnd, NULL, TRUE);   }   else      PostMessage(m_hWnd, WM_COMMAND, res, 0);   //Do not forget to destroy the menu   DestroyMenu(hMenu);}
开发者ID:HaijinW,项目名称:VirtualDimension,代码行数:62,


示例9: OnCreate

//.........这里部分代码省略.........    item.mask = TCIF_TEXT;    item.pszText = wszPerformance;    SendMessageW(hTabWnd, TCM_INSERTITEMW, 2, (LPARAM)&item);    /* Size everything correctly */    GetClientRect(hWnd, &rc);    nOldWidth = rc.right;    nOldHeight = rc.bottom;    /* nOldStartX = rc.left; */    /*nOldStartY = rc.top;  */#define PAGE_OFFSET_LEFT    17#define PAGE_OFFSET_TOP     72#define PAGE_OFFSET_WIDTH   (PAGE_OFFSET_LEFT*2)#define PAGE_OFFSET_HEIGHT  (PAGE_OFFSET_TOP+32)    if ((TaskManagerSettings.Left != 0) ||        (TaskManagerSettings.Top != 0) ||        (TaskManagerSettings.Right != 0) ||        (TaskManagerSettings.Bottom != 0))    {        MoveWindow(hWnd, TaskManagerSettings.Left, TaskManagerSettings.Top, TaskManagerSettings.Right - TaskManagerSettings.Left, TaskManagerSettings.Bottom - TaskManagerSettings.Top, TRUE);#ifdef __GNUC__TEST__        MoveWindow(hApplicationPage, TaskManagerSettings.Left + PAGE_OFFSET_LEFT, TaskManagerSettings.Top + PAGE_OFFSET_TOP, TaskManagerSettings.Right - TaskManagerSettings.Left - PAGE_OFFSET_WIDTH, TaskManagerSettings.Bottom - TaskManagerSettings.Top - PAGE_OFFSET_HEIGHT, FALSE);        MoveWindow(hProcessPage, TaskManagerSettings.Left + PAGE_OFFSET_LEFT, TaskManagerSettings.Top + PAGE_OFFSET_TOP, TaskManagerSettings.Right - TaskManagerSettings.Left - PAGE_OFFSET_WIDTH, TaskManagerSettings.Bottom - TaskManagerSettings.Top - PAGE_OFFSET_HEIGHT, FALSE);        MoveWindow(hPerformancePage, TaskManagerSettings.Left + PAGE_OFFSET_LEFT, TaskManagerSettings.Top + PAGE_OFFSET_TOP, TaskManagerSettings.Right - TaskManagerSettings.Left - PAGE_OFFSET_WIDTH, TaskManagerSettings.Bottom - TaskManagerSettings.Top - PAGE_OFFSET_HEIGHT, FALSE);#endif    }    if (TaskManagerSettings.Maximized)        ShowWindow(hWnd, SW_MAXIMIZE);    /* Set the always on top style */    hMenu = GetMenu(hWnd);    hEditMenu = GetSubMenu(hMenu, 1);    hViewMenu = GetSubMenu(hMenu, 2);    hUpdateSpeedMenu = GetSubMenu(hViewMenu, 1);    hCPUHistoryMenu = GetSubMenu(hViewMenu, 7);    /* Check or uncheck the always on top menu item */    if (TaskManagerSettings.AlwaysOnTop) {        CheckMenuItem(hEditMenu, ID_OPTIONS_ALWAYSONTOP, MF_BYCOMMAND|MF_CHECKED);        SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);    } else {        CheckMenuItem(hEditMenu, ID_OPTIONS_ALWAYSONTOP, MF_BYCOMMAND|MF_UNCHECKED);        SetWindowPos(hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);    }    /* Check or uncheck the minimize on use menu item */    if (TaskManagerSettings.MinimizeOnUse)        CheckMenuItem(hEditMenu, ID_OPTIONS_MINIMIZEONUSE, MF_BYCOMMAND|MF_CHECKED);    else        CheckMenuItem(hEditMenu, ID_OPTIONS_MINIMIZEONUSE, MF_BYCOMMAND|MF_UNCHECKED);    /* Check or uncheck the hide when minimized menu item */    if (TaskManagerSettings.HideWhenMinimized)        CheckMenuItem(hEditMenu, ID_OPTIONS_HIDEWHENMINIMIZED, MF_BYCOMMAND|MF_CHECKED);    else        CheckMenuItem(hEditMenu, ID_OPTIONS_HIDEWHENMINIMIZED, MF_BYCOMMAND|MF_UNCHECKED);    /* Check or uncheck the show 16-bit tasks menu item */    if (TaskManagerSettings.Show16BitTasks)        CheckMenuItem(hEditMenu, ID_OPTIONS_SHOW16BITTASKS, MF_BYCOMMAND|MF_CHECKED);    else        CheckMenuItem(hEditMenu, ID_OPTIONS_SHOW16BITTASKS, MF_BYCOMMAND|MF_UNCHECKED);    if (TaskManagerSettings.View_LargeIcons)
开发者ID:Sunmonds,项目名称:wine,代码行数:67,


示例10: DlgProcDisplayData

//.........这里部分代码省略.........			SendDlgItemMessage(hwndDlg, IDC_STICK_BUTTON, BUTTONSETASFLATBTN, 0, 0);			SendDlgItemMessage(hwndDlg, IDC_UPDATE_BUTTON, BUTTONSETASFLATBTN, 0, 0);			SendDlgItemMessage(hwndDlg, IDC_FIND_BUTTON, BUTTONSETASFLATBTN, 0, 0);			SendDlgItemMessage(hwndDlg, IDC_OPTIONS_BUTTON, BUTTONSETASFLATBTN, 0, 0);			SendDlgItemMessage(hwndDlg, IDC_ALERT_BUTTON, BUTTONSETASFLATBTN, 0, 0);			SendDlgItemMessage(hwndDlg, IDC_STOP, BUTTONSETASFLATBTN, 0, 0);			SendDlgItemMessage(hwndDlg, IDC_OPEN_URL, BUTTONSETASFLATBTN, 0, 0);			HDC hdc = GetDC(GetDlgItem(hwndDlg, IDC_STATUSBAR));			SelectObject(hdc, (HFONT) SendDlgItemMessage(hwndDlg, IDC_STATUSBAR, WM_GETFONT, 0, 0));			SIZE textSize;			GetTextExtentPoint32(hdc, tszSizeString, _countof(tszSizeString), &textSize);			int partWidth[2] = { textSize.cx, -1 };			ReleaseDC(GetDlgItem(hwndDlg, IDC_STATUSBAR), hdc);			SendDlgItemMessage(hwndDlg, IDC_STATUSBAR, SB_SETPARTS, _countof(partWidth), (LPARAM)partWidth);			SendDlgItemMessage(hwndDlg, IDC_STATUSBAR, SB_SETTEXT, 1 | SBT_OWNERDRAW, 0);			if ( db_get_b(NULL, MODULENAME, SAVE_INDIVID_POS_KEY, 0))				Utils_RestoreWindowPosition(hwndDlg, hContact2, MODULENAME, "WV");		}		break;	case WM_NOTIFY:		switch (((NMHDR *) lParam)->code) {		case EN_MSGFILTER:			switch (((MSGFILTER *) lParam)->msg) {			case WM_RBUTTONUP:				{					POINT  pt;					CHARRANGE sel, all = {0, -1};					HMENU hSubMenu = GetSubMenu(hMenu, 0);					TranslateMenu(hSubMenu);					SendMessage(((NMHDR *) lParam)->hwndFrom, EM_EXGETSEL, 0, (LPARAM) & sel);					EnableMenuItem(hSubMenu, IDM_COPY, MF_ENABLED);					EnableMenuItem(hSubMenu, IDM_CUT, MF_ENABLED);					EnableMenuItem(hSubMenu, IDM_DELETE, MF_ENABLED);					if (sel.cpMin == sel.cpMax) {						EnableMenuItem(hSubMenu, IDM_COPY, MF_BYCOMMAND | MF_GRAYED);						EnableMenuItem(hSubMenu, IDM_CUT, MF_BYCOMMAND | MF_GRAYED);						EnableMenuItem(hSubMenu, IDM_DELETE, MF_BYCOMMAND | MF_GRAYED);					}					pt.x = (short) LOWORD(((ENLINK *) lParam)->lParam);					pt.y = (short) HIWORD(((ENLINK *) lParam)->lParam);					ClientToScreen(((NMHDR *) lParam)->hwndFrom, &pt);					switch (TrackPopupMenu(hSubMenu, TPM_RETURNCMD, pt.x, pt.y, 0, hwndDlg, NULL)) {					case IDM_COPY:						SendMessage(((NMHDR *) lParam)->hwndFrom, WM_COPY, 0, 0);						break;					case IDM_COPYALL:						SendMessage(((NMHDR *) lParam)->hwndFrom, EM_EXSETSEL, 0, (LPARAM) & all);						SendMessage(((NMHDR *) lParam)->hwndFrom, WM_COPY, 0, 0);						SendMessage(((NMHDR *) lParam)->hwndFrom, EM_EXSETSEL, 0, (LPARAM) & sel);						break;					case IDM_SELECTALL:						SendMessage(((NMHDR *) lParam)->hwndFrom, EM_EXSETSEL, 0, (LPARAM) & all);						break;					case IDM_CUT:						SendMessage(((NMHDR *) lParam)->hwndFrom, WM_CUT, 0, 0);
开发者ID:kmdtukl,项目名称:miranda-ng,代码行数:67,


示例11: __glutWindowProc

//.........这里部分代码省略.........       CPU spiking when an idle function is installed. */    if (wParam == 2)      return 0;#endif    /* only worry about the idle function and the timeouts, since       these are the only events we expect to process during       processing of a menu. */    /* we no longer process the idle functions (as outlined in the       README), since drawing can't be done until the menu has       finished...it's pretty lame when the animation goes on, but       doesn't update, so you get this weird jerkiness. */#if 0         if (__glutIdleFunc)       __glutIdleFunc();#endif    if (__glutTimerList)      handleTimeouts();    return 0;  case WM_EXITMENULOOP:    /* nuke the above created timer...we don't need it anymore, since       the menu is gone now. */    KillTimer(hwnd, 1);    return 0;  case WM_MENUSELECT:    if (lParam != 0)      __glutHMenu = (HMENU)lParam;    return 0;  case WM_COMMAND:    if (__glutMappedMenu) {      if (GetSubMenu(__glutHMenu, LOWORD(wParam)))	__glutItemSelected = NULL;      else	__glutItemSelected = 	  __glutGetUniqueMenuItem(__glutMappedMenu, LOWORD(wParam));      GetCursorPos(&point);      ScreenToClient(hwnd, &point);      __glutFinishMenu(hwnd, point.x, point.y);    }     return 0;  case WM_MOUSEMOVE:    if (!__glutMappedMenu) {      window = __glutGetWindow(hwnd);      if (window) {          /* If motion function registered _and_ buttons held *             down, call motion function...  */	x = LOWORD(lParam);	y = HIWORD(lParam);	/* Win32 doesn't return the same numbers as X does when the	   mouse goes beyond the upper or left side of the window.	   roll the Win32's 0..2^16 pointer co-ord range to 0..+/-2^15. */	if(x & 1 << 15) x -= (1 << 16);	if(y & 1 << 15) y -= (1 << 16);	if (window->motion && wParam &            (MK_LBUTTON | MK_MBUTTON | MK_RBUTTON)) {	  __glutSetWindow(window);	  window->motion(x, y);	}	/* If passive motion function registered _and_	   buttons not held down, call passive motion
开发者ID:hiteshsathawane,项目名称:Cube-Rotation,代码行数:67,


示例12: WinObjExMain

//.........这里部分代码省略.........            break;        g_hwndObjectList = CreateWindowEx(WS_EX_CLIENTEDGE, WC_LISTVIEW, NULL,            WS_VISIBLE | WS_CHILD | WS_TABSTOP | LVS_AUTOARRANGE | LVS_REPORT |            LVS_SHOWSELALWAYS | LVS_SINGLESEL | LVS_SHAREIMAGELISTS, 0, 0, 0, 0,            MainWindow, (HMENU)1003, g_WinObj.hInstance, NULL);        if (g_hwndObjectList == NULL)            break;        hwndToolBar = CreateWindowEx(0, TOOLBARCLASSNAME, NULL,            WS_VISIBLE | WS_CHILD | CCS_TOP | TBSTYLE_FLAT | TBSTYLE_TRANSPARENT |            TBSTYLE_TOOLTIPS, 0, 0, 0, 0, MainWindow, (HMENU)1004, g_WinObj.hInstance, NULL);        if (hwndToolBar == NULL)            break;        hwndSplitter = CreateWindowEx(0, WC_STATIC, NULL,            WS_VISIBLE | WS_CHILD, 0, 0, 0, 0, MainWindow, (HMENU)1005, g_WinObj.hInstance, NULL);        // initialization of views        SendMessage(MainWindow, WM_SIZE, 0, 0);        ListView_SetExtendedListViewStyle(g_hwndObjectList,            LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_LABELTIP | LVS_EX_DOUBLEBUFFER);        // set tree imagelist        TreeViewImages = supLoadImageList(g_WinObj.hInstance, IDI_ICON_VIEW_DEFAULT, IDI_ICON_VIEW_SELECTED);        if (TreeViewImages) {            TreeView_SetImageList(g_hwndObjectTree, TreeViewImages, TVSIL_NORMAL);        }        //not enough user rights, insert run as admin menu entry and hide admin only stuff        if ((IsFullAdmin == FALSE) && (g_kdctx.IsWine == FALSE)) {            hMenu = GetSubMenu(GetMenu(MainWindow), 0);            InsertMenu(hMenu, 0, MF_BYPOSITION, ID_FILE_RUNASADMIN, T_RUNASADMIN);            InsertMenu(hMenu, 1, MF_BYPOSITION | MF_SEPARATOR, 0, NULL);            //set menu shield icon            RtlSecureZeroMemory(&sii, sizeof(sii));            sii.cbSize = sizeof(sii);            if (SHGetStockIconInfo(SIID_SHIELD, SHGSI_ICON | SHGFI_SMALLICON, &sii) == S_OK) {                supSetMenuIcon(hMenu, ID_FILE_RUNASADMIN, (ULONG_PTR)sii.hIcon);            }        }        if (g_kdctx.hDevice == NULL) {            //require driver usage, remove            DeleteMenu(GetSubMenu(GetMenu(MainWindow), 4), ID_EXTRAS_SSDT, MF_BYCOMMAND);            DeleteMenu(GetSubMenu(GetMenu(MainWindow), 4), ID_EXTRAS_PRIVATENAMESPACES, MF_BYCOMMAND);        }        //unsupported        if (g_WinObj.osver.dwBuildNumber > 10240) {            DeleteMenu(GetSubMenu(GetMenu(MainWindow), 4), ID_EXTRAS_PRIVATENAMESPACES, MF_BYCOMMAND);        }        //wine unsupported        if (g_kdctx.IsWine != FALSE) {            DeleteMenu(GetSubMenu(GetMenu(MainWindow), 4), ID_EXTRAS_DRIVERS, MF_BYCOMMAND);        }        //load listview images        g_ListViewImages = supLoadImageList(g_WinObj.hInstance, IDI_ICON_DEVICE, IDI_ICON_UNKNOWN);        if (g_ListViewImages) {            hIcon = LoadImage(g_WinObj.hInstance, MAKEINTRESOURCE(IDI_ICON_SORTUP), IMAGE_ICON, 0, 0, LR_DEFAULTCOLOR);            if (hIcon) {                ImageList_ReplaceIcon(g_ListViewImages, -1, hIcon);
开发者ID:songbei6,项目名称:WinObjEx64,代码行数:67,


示例13: PhpFindObjectsDlgProc

//.........这里部分代码省略.........                            break;                        case VK_DELETE:                            SendMessage(hwndDlg, WM_COMMAND, ID_OBJECT_CLOSE, 0);                            break;                        }                    }                }                break;            }        }        break;    case WM_CONTEXTMENU:        {            if ((HWND)wParam == PhFindObjectsListViewHandle)            {                POINT point;                PPHP_OBJECT_SEARCH_RESULT *results;                ULONG numberOfResults;                point.x = (SHORT)LOWORD(lParam);                point.y = (SHORT)HIWORD(lParam);                if (point.x == -1 && point.y == -1)                    PhGetListViewContextMenuPoint((HWND)wParam, &point);                PhGetSelectedListViewItemParams(PhFindObjectsListViewHandle, &results, &numberOfResults);                if (numberOfResults != 0)                {                    HMENU menu;                    HMENU subMenu;                    menu = LoadMenu(PhInstanceHandle, MAKEINTRESOURCE(IDR_FINDOBJ));                    subMenu = GetSubMenu(menu, 0);                    SetMenuDefaultItem(subMenu, ID_OBJECT_PROPERTIES, FALSE);                    PhpInitializeFindObjMenu(                        subMenu,                        results,                        numberOfResults                        );                    PhShowContextMenu(                        hwndDlg,                        PhFindObjectsListViewHandle,                        subMenu,                        point                        );                    DestroyMenu(menu);                }                PhFree(results);            }        }        break;    case WM_SIZE:        {            PhLayoutManagerLayout(&WindowLayoutManager);        }        break;    case WM_SIZING:        {            PhResizingMinimumSize((PRECT)lParam, wParam, MinimumSize.right, MinimumSize.bottom);        }        break;    case WM_PH_SEARCH_UPDATE:
开发者ID:john-peterson,项目名称:processhacker,代码行数:67,


示例14: createWindow

voidCMSWindowsClientTaskBarReceiver::runMenu(int x, int y){	// do popup menu.  we need a window to pass to TrackPopupMenu().	// the SetForegroundWindow() and SendMessage() calls around	// TrackPopupMenu() are to get the menu to be dismissed when	// another window gets activated and are just one of those	// win32 weirdnesses.	createWindow();	SetForegroundWindow(m_window);	HMENU menu = GetSubMenu(m_menu, 0);	SetMenuDefaultItem(menu, IDC_TASKBAR_STATUS, FALSE);	HMENU logLevelMenu = GetSubMenu(menu, 3);	CheckMenuRadioItem(logLevelMenu, 0, 6,							CLOG->getFilter() - kERROR, MF_BYPOSITION);	int n = TrackPopupMenu(menu,							TPM_NONOTIFY |							TPM_RETURNCMD |							TPM_LEFTBUTTON |							TPM_RIGHTBUTTON,							x, y, 0, m_window, NULL);	SendMessage(m_window, WM_NULL, 0, 0);	// perform the requested operation	switch (n) {	case IDC_TASKBAR_STATUS:		showStatus();		break;	case IDC_TASKBAR_LOG:		copyLog();		break;	case IDC_TASKBAR_SHOW_LOG:		ARCH->showConsole(true);		break;	case IDC_TASKBAR_LOG_LEVEL_ERROR:		CLOG->setFilter(kERROR);		break;	case IDC_TASKBAR_LOG_LEVEL_WARNING:		CLOG->setFilter(kWARNING);		break;	case IDC_TASKBAR_LOG_LEVEL_NOTE:		CLOG->setFilter(kNOTE);		break;	case IDC_TASKBAR_LOG_LEVEL_INFO:		CLOG->setFilter(kINFO);		break;	case IDC_TASKBAR_LOG_LEVEL_DEBUG:		CLOG->setFilter(kDEBUG);		break;	case IDC_TASKBAR_LOG_LEVEL_DEBUG1:		CLOG->setFilter(kDEBUG1);		break;	case IDC_TASKBAR_LOG_LEVEL_DEBUG2:		CLOG->setFilter(kDEBUG2);		break;	case IDC_TASKBAR_QUIT:		quit();		break;	}}
开发者ID:dbkr,项目名称:synergy-onnaf,代码行数:70,


示例15: createWindow

voidCMSWindowsServerTaskBarReceiver::runMenu(int x, int y){	// do popup menu.  we need a window to pass to TrackPopupMenu().	// the SetForegroundWindow() and SendMessage() calls around	// TrackPopupMenu() are to get the menu to be dismissed when	// another window gets activated and are just one of those	// win32 weirdnesses.	createWindow();	SetForegroundWindow(m_window);	HMENU menu = GetSubMenu(m_menu, 0);	SetMenuDefaultItem(menu, IDC_TASKBAR_STATUS, FALSE);	HMENU logLevelMenu = GetSubMenu(menu, 3);	CheckMenuRadioItem(logLevelMenu, 0, 6,							CLOG->getFilter() - CLog::kERROR, MF_BYPOSITION);	int n = TrackPopupMenu(menu,							TPM_NONOTIFY |							TPM_RETURNCMD |							TPM_LEFTBUTTON |							TPM_RIGHTBUTTON,							x, y, 0, m_window, NULL);	SendMessage(m_window, WM_NULL, 0, 0);	// perform the requested operation	switch (n) {	case IDC_TASKBAR_STATUS:		showStatus();		break;	case IDC_TASKBAR_LOG:		copyLog();		break;	case IDC_TASKBAR_SHOW_LOG:		ARCH->showConsole(true);		break;	case IDC_RELOAD_CONFIG:		EVENTQUEUE->addEvent(CEvent(getReloadConfigEvent(),							IEventQueue::getSystemTarget()));		break;	case IDC_FORCE_RECONNECT:		EVENTQUEUE->addEvent(CEvent(getForceReconnectEvent(),							IEventQueue::getSystemTarget()));		break;	case ID_SYNERGY_RESETSERVER:		EVENTQUEUE->addEvent(CEvent(getResetServerEvent(),							IEventQueue::getSystemTarget()));		break;	case IDC_TASKBAR_LOG_LEVEL_ERROR:		CLOG->setFilter(CLog::kERROR);		break;	case IDC_TASKBAR_LOG_LEVEL_WARNING:		CLOG->setFilter(CLog::kWARNING);		break;	case IDC_TASKBAR_LOG_LEVEL_NOTE:		CLOG->setFilter(CLog::kNOTE);		break;	case IDC_TASKBAR_LOG_LEVEL_INFO:		CLOG->setFilter(CLog::kINFO);		break;	case IDC_TASKBAR_LOG_LEVEL_DEBUG:		CLOG->setFilter(CLog::kDEBUG);		break;	case IDC_TASKBAR_LOG_LEVEL_DEBUG1:		CLOG->setFilter(CLog::kDEBUG1);		break;	case IDC_TASKBAR_LOG_LEVEL_DEBUG2:		CLOG->setFilter(CLog::kDEBUG2);		break;	case IDC_TASKBAR_QUIT:		quit();		break;	}}
开发者ID:axelson,项目名称:synergy-plus,代码行数:85,


示例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 = SendMessageW(hTabWnd, TCM_GETCURSEL, 0, 0);    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:Sunmonds,项目名称:wine,代码行数:101,


示例17: ProcessHelpRequest

//.........这里部分代码省略.........		    }	      }					// Cas des menus	if  ( Origin  ==  MenuHelp )	   {		if  ( Type  ==  Normal )		// le cas le plus simple		   {			Entry = HelpDef -> MenuEntries ;			goto  GotHelpEntry ;		    }				// Menu popup : on va  recherche son entrée dans la table en se basant	// sur l'identificateur de son premier élément		if  ( LastSelectedMenuType  & MF_SYSMENU )		   {			Entry = HelpDef -> MenuEntries ;			goto  GotHelpEntry ;		    }		if  ( LastSelectedMenuType  & MF_POPUP )		   {			hMenu = LastSelectedMenuHandle ;			depth = 0 ;			i = -1 ;			while  ( i  ==  -1 )			   {				i = GetMenuItemID ( hMenu, 0 ) ;				hMenu = GetSubMenu ( hMenu, 0 ) ;				depth ++ ;				if  ( hMenu  ==  NULL )					break ;			     }						// Aucun sous-élément n'a été trouvé !			if  ( i  ==  -1 )			   {				Entry = HelpDef -> MenuEntries ;				goto  GotHelpEntry ;			    }		// Un élément a été trouvé : on le cherche dans les entrées			nesting = 0 ;			for  ( sp = NULL, ep  =  HelpDef -> MenuEntries, found = 0 ; 					ep  !=  NULL  &&					ep -> Type !=  EndOfTable  &&  					( ep  -> Type  != MenuEnd  ||  nesting ) ; ep ++ )			   {				if  ( ! ep -> Id )						sp = ep ;	// Dernier élément nul				else if  ( ep -> Id  ==  i )				   {					found = 1 ;					break ;				    }				if  ( ep -> Type  ==   MenuStart )					nesting ++ ;
开发者ID:wuthering-bytes,项目名称:cheops,代码行数:67,


示例18: TaskManagerWndProc

//.........这里部分代码省略.........            break;        case ID_PROCESS_PAGE_SETPRIORITY_LOW:            ProcessPage_OnSetPriorityLow();            break;        case ID_PROCESS_PAGE_DEBUGCHANNELS:            ProcessPage_OnDebugChannels();            break;        case ID_HELP_TOPICS:            WinHelpW(hDlg, wszTaskmgr, HELP_FINDER, 0);            break;        case ID_HELP_ABOUT:            OnAbout();            break;        case ID_FILE_EXIT:            EndDialog(hDlg, IDOK);            break;        }             break;    case WM_ONTRAYICON:        switch(lParam)        {        case WM_RBUTTONDOWN:            {            POINT pt;            BOOL OnTop;            HMENU hMenu, hPopupMenu;                        GetCursorPos(&pt);                        OnTop = (GetWindowLongW(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);            }                        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))
开发者ID:Sunmonds,项目名称:wine,代码行数:67,


示例19: ChildWndProc

//.........这里部分代码省略.........                    break;                }            }        }        break;    case WM_CONTEXTMENU:    {        POINT pt;        if((HWND)wParam == g_pChildWnd->hListWnd)        {            int i, cnt;            BOOL IsDefault;            pt.x = (short) LOWORD(lParam);            pt.y = (short) HIWORD(lParam);            cnt = ListView_GetSelectedCount(g_pChildWnd->hListWnd);            i = ListView_GetNextItem(g_pChildWnd->hListWnd, -1, LVNI_FOCUSED | LVNI_SELECTED);            if (pt.x == -1 && pt.y == -1)            {                RECT rc;                if (i != -1)                {                    rc.left = LVIR_BOUNDS;                    SendMessageW(g_pChildWnd->hListWnd, LVM_GETITEMRECT, i, (LPARAM) &rc);                    pt.x = rc.left + 8;                    pt.y = rc.top + 8;                }                else                    pt.x = pt.y = 0;                ClientToScreen(g_pChildWnd->hListWnd, &pt);            }            if(i == -1)            {                TrackPopupMenu(GetSubMenu(hPopupMenus, PM_NEW), TPM_RIGHTBUTTON, pt.x, pt.y, 0, hFrameWnd, NULL);            }            else            {                HMENU mnu = GetSubMenu(hPopupMenus, PM_MODIFYVALUE);                SetMenuDefaultItem(mnu, ID_EDIT_MODIFY, MF_BYCOMMAND);                IsDefault = IsDefaultValue(g_pChildWnd->hListWnd, i);                if(cnt == 1)                    EnableMenuItem(mnu, ID_EDIT_RENAME, MF_BYCOMMAND | (IsDefault ? MF_DISABLED | MF_GRAYED : MF_ENABLED));                else                    EnableMenuItem(mnu, ID_EDIT_RENAME, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);                EnableMenuItem(mnu, ID_EDIT_MODIFY, MF_BYCOMMAND | (cnt == 1 ? MF_ENABLED : MF_DISABLED | MF_GRAYED));                EnableMenuItem(mnu, ID_EDIT_MODIFY_BIN, MF_BYCOMMAND | (cnt == 1 ? MF_ENABLED : MF_DISABLED | MF_GRAYED));                TrackPopupMenu(mnu, TPM_RIGHTBUTTON, pt.x, pt.y, 0, hFrameWnd, NULL);            }        }        else if ((HWND)wParam == g_pChildWnd->hTreeWnd)        {            TVHITTESTINFO hti;            HMENU hContextMenu;            TVITEMW item;            MENUITEMINFOW mii;            WCHAR resource[256];            WCHAR buffer[256];            LPWSTR s;            LPCWSTR keyPath;            HKEY hRootKey;            int iLastPos;            WORD wID;            pt.x = (short) LOWORD(lParam);            pt.y = (short) HIWORD(lParam);
开发者ID:hoangduit,项目名称:reactos,代码行数:67,


示例20: AfxMergeMenus

HMENU AFXAPI AfxMergeMenus(HMENU hMenuShared, HMENU hMenuSource,	LONG* lpMenuWidths, int iWidthIndex, BOOL bMergeHelpMenus /* = FALSE */){	ASSERT(hMenuShared != NULL && IsMenu(hMenuShared));	ASSERT(hMenuSource != NULL && IsMenu(hMenuSource));	BOOL bHelpMergedAsSubMenu = FALSE;	HMENU hHelpSubMenu = NULL;	// copy the popups from the pMenuSource	int cMenuItems = GetMenuItemCount(hMenuSource);	int cGroupWidth = 0;	int nPosition = 0;	// insert at appropriate spot depending on iWidthIndex	ASSERT(iWidthIndex == 0 || iWidthIndex == 1);	if (iWidthIndex == 1)		nPosition = (int)lpMenuWidths[0];	for (int i = 0; i < cMenuItems; i++)	{		// get the HMENU of the popup		HMENU hMenuPopup = ::GetSubMenu(hMenuSource, i);		// separators move us to next group		UINT state = GetMenuState(hMenuSource, i, MF_BYPOSITION);		if (hMenuPopup == NULL && (state & MF_SEPARATOR) != 0)		{			ASSERT(iWidthIndex <= 5);   // servers should not touch past 5			lpMenuWidths[iWidthIndex] = cGroupWidth;			cGroupWidth = 0;			if (iWidthIndex < 5)				nPosition += (int)lpMenuWidths[iWidthIndex+1];			iWidthIndex += 2;		}		else		{			HMENU hHelpMenu = NULL;			// are we processing the help menu group?			if (bMergeHelpMenus && iWidthIndex == 5)			{				// if so, see if the container has Help any menu items				if (lpMenuWidths[iWidthIndex] == 1)				{					// get the help menu from the container					hHelpMenu = GetSubMenu(hMenuShared, nPosition);				}			}			// get the menu item text			TCHAR szItemText[256];			int nLen = GetMenuString(hMenuSource, i, szItemText,				sizeof szItemText, MF_BYPOSITION);			// popups are handled differently than normal menu items			if (hMenuPopup != NULL)			{				if (hHelpMenu != NULL)				{					CString strTearOff = AfxGetAppName();					if (!strTearOff.IsEmpty())						strTearOff += ' ';					strTearOff += szItemText;					// container has help items -- add ours to its submenu					AppendMenu(hHelpMenu, MF_STRING | MF_POPUP,						(UINT)hMenuPopup, strTearOff);					// clear the count of Help group items and add					// the help menu to the window group					lpMenuWidths[iWidthIndex] = 0;					lpMenuWidths[iWidthIndex-1]++;					bHelpMergedAsSubMenu = TRUE;					hHelpSubMenu = hMenuPopup;				}				else if (::GetMenuItemCount(hMenuPopup) != 0)				{					// strip the HIBYTE because it contains a count of items					state = LOBYTE(state) | MF_POPUP;   // must be popup					// non-empty popup -- add it to the shared menu bar					InsertMenu(hMenuShared, nPosition, state | MF_BYPOSITION,						(UINT)hMenuPopup, szItemText);					++nPosition;					++cGroupWidth;				}			}			else if (nLen > 0)			{				// only non-empty items are added				ASSERT(szItemText[0] != 0);				// here the state does not contain a count in the HIBYTE				InsertMenu(hMenuShared, nPosition, state | MF_BYPOSITION,					GetMenuItemID(hMenuSource, i), szItemText);				++nPosition;//.........这里部分代码省略.........
开发者ID:Rupan,项目名称:winscp,代码行数:101,


示例21: AudioDlgProc

//.........这里部分代码省略.........      case WM_SHOWWINDOW:        set_window_title(hDlg);        break;      case WM_NOTIFY:	switch(((LPNMHDR)lParam)->code) {	    case PSN_KILLACTIVE:	      SetWindowLongPtr(hDlg, DWLP_MSGRESULT, FALSE);	      break;	    case PSN_APPLY:	      set_reg_key(config_key, "Drivers", "Audio", curAudioDriver);              apply();	      SetWindowLongPtr(hDlg, DWLP_MSGRESULT, PSNRET_NOERROR);	      break;	    case PSN_SETACTIVE:	      break;            case NM_CLICK:              if (((LPNMHDR)lParam)->idFrom == IDC_AUDIO_TREE)              {                  TVHITTESTINFO ht;                  DWORD dwPos = GetMessagePos();                  HWND tree = ((LPNMHDR)lParam)->hwndFrom;                  ZeroMemory(&ht, sizeof(ht));                  ht.pt.x = (short)LOWORD(dwPos);                  ht.pt.y = (short)HIWORD(dwPos);                  MapWindowPoints(HWND_DESKTOP, tree, &ht.pt, 1);                  SendMessageW( tree, TVM_HITTEST, 0, (LPARAM)&ht );                  if (TVHT_ONITEMSTATEICON & ht.flags)                  {                      TVITEM tvItem;                      int index;                      ZeroMemory(&tvItem, sizeof(tvItem));                      tvItem.hItem = ht.hItem;                      SendMessageW( tree, TVM_GETITEMW, 0, (LPARAM) &tvItem );                      index = TreeView_GetItemState(tree, ht.hItem, TVIS_STATEIMAGEMASK);                      if (index == INDEXTOSTATEIMAGEMASK(1))                      {                          TreeView_SetItemState(tree, ht.hItem, INDEXTOSTATEIMAGEMASK(2), TVIS_STATEIMAGEMASK);                          addDriver(loadedAudioDrv[tvItem.lParam & 0xff].szDriver);                          SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM) hDlg, 0); /* enable apply button */                      }                      else if (index == INDEXTOSTATEIMAGEMASK(2))                      {                          TreeView_SetItemState(tree, ht.hItem, INDEXTOSTATEIMAGEMASK(1), TVIS_STATEIMAGEMASK);                          removeDriver(loadedAudioDrv[tvItem.lParam & 0xff].szDriver);                          SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM) hDlg, 0); /* enable apply button */                      }                  }              }              break;            case NM_RCLICK:              if (((LPNMHDR)lParam)->idFrom == IDC_AUDIO_TREE)              {                  TVHITTESTINFO ht;                  DWORD dwPos = GetMessagePos();                  HWND tree = ((LPNMHDR)lParam)->hwndFrom;                  POINT pt;                  ZeroMemory(&ht, sizeof(ht));                  pt.x = (short)LOWORD(dwPos);                  pt.y = (short)HIWORD(dwPos);                  ht.pt = pt;                  MapWindowPoints(HWND_DESKTOP, tree, &ht.pt, 1);                  SendMessageW( tree, TVM_HITTEST, 0, (LPARAM)&ht );                  if (TVHT_ONITEMLABEL & ht.flags)                  {                      TVITEM tvItem;                      ZeroMemory(&tvItem, sizeof(tvItem));                      tvItem.hItem = ht.hItem;                      tvItem.mask = TVIF_PARAM;                      tvItem.lParam = -1;                      if (TreeView_GetItem(tree, &tvItem))                      {                          if (tvItem.lParam & DRIVER_MASK)                          {                              if (hPopupMenus)                              {                                  TrackPopupMenu(GetSubMenu(hPopupMenus, 0), TPM_RIGHTBUTTON, pt.x, pt.y, 0, tree, NULL);                                  toConfigure = tvItem.lParam & ~DRIVER_MASK;                              }                          }                          else if (tvItem.lParam & DEVICE_MASK)                          {                              /* FIXME TBD */                          }                      }                  }              }	}	break;  case WM_INITDIALOG:    initAudioDlg(hDlg);    break;  }  return FALSE;}
开发者ID:bilboed,项目名称:wine,代码行数:101,


示例22: SendMessage

void CManageBookmarksDialog::ShowViewMenu(){	DWORD dwButtonState = static_cast<DWORD>(SendMessage(m_hToolbar,TB_GETSTATE,TOOLBAR_ID_VIEWS,MAKEWORD(TBSTATE_PRESSED,0)));	SendMessage(m_hToolbar,TB_SETSTATE,TOOLBAR_ID_VIEWS,MAKEWORD(dwButtonState|TBSTATE_PRESSED,0));	HMENU hMenu = LoadMenu(GetInstance(),MAKEINTRESOURCE(IDR_MANAGEBOOKMARKS_VIEW_MENU));	UINT uCheck;	if(m_pmbdps->m_bSortAscending)	{		uCheck = IDM_MB_VIEW_SORTASCENDING;	}	else	{		uCheck = IDM_MB_VIEW_SORTDESCENDING;	}	CheckMenuRadioItem(hMenu,IDM_MB_VIEW_SORTASCENDING,IDM_MB_VIEW_SORTDESCENDING,uCheck,MF_BYCOMMAND);	switch(m_pmbdps->m_SortMode)	{	case NBookmarkHelper::SM_NAME:		uCheck = IDM_MB_VIEW_SORTBYNAME;		break;	case NBookmarkHelper::SM_LOCATION:		uCheck = IDM_MB_VIEW_SORTBYLOCATION;		break;	case NBookmarkHelper::SM_VISIT_DATE:		uCheck = IDM_MB_VIEW_SORTBYVISITDATE;		break;	case NBookmarkHelper::SM_VISIT_COUNT:		uCheck = IDM_MB_VIEW_SORTBYVISITCOUNT;		break;	case NBookmarkHelper::SM_ADDED:		uCheck = IDM_MB_VIEW_SORTBYADDED;		break;	case NBookmarkHelper::SM_LAST_MODIFIED:		uCheck = IDM_MB_VIEW_SORTBYLASTMODIFIED;		break;	}	CheckMenuRadioItem(hMenu,IDM_MB_VIEW_SORTBYNAME,IDM_MB_VIEW_SORTBYLASTMODIFIED,uCheck,MF_BYCOMMAND);	RECT rcButton;	SendMessage(m_hToolbar,TB_GETRECT,TOOLBAR_ID_VIEWS,reinterpret_cast<LPARAM>(&rcButton));	POINT pt;	pt.x = rcButton.left;	pt.y = rcButton.bottom;	ClientToScreen(m_hToolbar,&pt);	TrackPopupMenu(GetSubMenu(hMenu,0),TPM_LEFTALIGN,pt.x,pt.y,0,m_hDlg,NULL);	DestroyMenu(hMenu);	SendMessage(m_hToolbar,TB_SETSTATE,TOOLBAR_ID_VIEWS,MAKEWORD(dwButtonState,0));}
开发者ID:defhook,项目名称:explorerplusplus,代码行数:62,


示例23: switch

// Process window messagesLRESULT CALLBACK Daemon::WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) {	// This is a static method, so we don't know which instantiation we're 	// dealing with. We have stored a pseudo-this in the window user data, 	// though.    Daemon *_this = helper::SafeGetWindowUserData<Daemon>(hwnd);	switch (iMsg) {	case WM_CREATE:		{			return 0;		}	case WM_SOCKEVENT:		{			assert(HIWORD(lParam) == 0);			// A new socket created by accept might send messages to			// this procedure. We can ignore them.			if(wParam != _this->m_deamon_sock) {				return 0;			}			switch(lParam) {			case FD_ACCEPT:				{					struct sockaddr_in incoming;					int size_incoming=sizeof(incoming);					memset(&incoming, 0, sizeof(incoming));					SOCKET hNewSock;					hNewSock = accept(_this->m_deamon_sock, (struct sockaddr *)&incoming,&size_incoming);					WSAAsyncSelect(hNewSock, hwnd, 0, 0);					unsigned long nbarg = 0;					ioctlsocket(hNewSock, FIONBIO, &nbarg);					// Phil Money @ Advantig, LLC 7-9-2005					if (ListenMode){ 						pApp->NewConnection(true,hNewSock);					}else{ 						closesocket(hNewSock); 						hNewSock = INVALID_SOCKET;					} 										break;				}			case FD_READ:				{					unsigned long numbytes=0;					ioctlsocket(_this->m_deamon_sock, FIONREAD, &numbytes);					recv(_this->m_deamon_sock, _this->netbuf, numbytes, 0);					break;				}			case FD_CLOSE:				vnclog.Print(5, _T("Daemon connection closed/n"));				DestroyWindow(hwnd);				break;			}						return 0;		}	case WM_COMMAND:		switch (LOWORD(wParam)) {		case ID_NEWCONN:			pApp->NewConnection(false);			break;		case IDC_OPTIONBUTTON:			pApp->m_options.DoDialog();			break;		// Phil Money @ Advantig, LLC 7-9-2005		case ID_LISTEN_MODE:			if (GetListenMode()){ 				SetListenMode(false); 			}else{ 				SetListenMode(true); 			} 			_this->CheckTrayIcon(); 			break;		case ID_CLOSEAPP:			PostQuitMessage(0);			//DestroyWindow(hwnd);			break;		case ID_CLOSEDAEMON:			//if (_this->m_sock!=NULL) shutdown(_this->m_sock, SD_BOTH);			//if (_this->m_sock!=NULL) closesocket(_this->m_sock);			//_this->m_sock=NULL;			break;		case IDD_APP_ABOUT:			ShowAboutBox();			break;		}		return 0;	case WM_TRAYNOTIFY:		{			HMENU hSubMenu = GetSubMenu(_this->m_hmenu, 0);			if (lParam==WM_LBUTTONDBLCLK) {				// double click: execute first menu item				::SendMessage(_this->m_nid.hWnd, WM_COMMAND, //.........这里部分代码省略.........
开发者ID:runsoftdev,项目名称:ultravnc,代码行数:101,


示例24: moduleListRightClick

void moduleListRightClick(HWND hwnd, WPARAM wParam, LPARAM lParam) // hwnd here is to the main window, NOT the treview{	TVHITTESTINFO hti;	hti.pt.x = (short)LOWORD(GetMessagePos());	hti.pt.y = (short)HIWORD(GetMessagePos());	ScreenToClient(((LPNMHDR)lParam)->hwndFrom, &hti.pt);	if (TreeView_HitTest(((LPNMHDR)lParam)->hwndFrom, &hti)) {		if (hti.flags & TVHT_ONITEM) {			TVITEM tvi = {0};			HMENU hMenu, hSubMenu;			int menuNumber;			char module[256];			tvi.mask = TVIF_HANDLE | TVIF_PARAM | TVIF_TEXT;			tvi.hItem = hti.hItem;			tvi.pszText = module;			tvi.cchTextMax = 255;			TreeView_GetItem(((LPNMHDR)lParam)->hwndFrom, &tvi);			if (tvi.lParam) {				ModuleTreeInfoStruct *mtis = (ModuleTreeInfoStruct *)tvi.lParam;				MCONTACT hContact = mtis->hContact;				GetCursorPos(&hti.pt);				hMenu = LoadMenu(hInst, MAKEINTRESOURCE(IDR_CONTEXTMENU));				TranslateMenu(hMenu);				if (mtis->type == CONTACT && hContact)					menuNumber = 2;				else if ((mtis->type == MODULE) && !hContact)					menuNumber = 1;				else if (mtis->type == CONTACT && !hContact)					menuNumber = 3;				else if (mtis->type == CONTACT_ROOT_ITEM && !hContact)					menuNumber = 4;				else if ((mtis->type == MODULE) && hContact)					menuNumber = 5;				else return;				hSubMenu = GetSubMenu(hMenu, menuNumber);				TranslateMenu(hSubMenu);				switch (menuNumber) {				case 1: // null module				case 5: // contact module					{						// check if we r already watching the module						int i, watching = 0;						// check if the setting is being watched and if it is then check the menu item						if (WatchListArray.item)							for (i = 0; i < WatchListArray.count; i++)								if (WatchListArray.item[i].module && (hContact == WatchListArray.item[i].hContact)) {									if (!mir_strcmp(module, WatchListArray.item[i].module) && !WatchListArray.item[i].setting) {										// yes so uncheck it										CheckMenuItem(hSubMenu, MENU_WATCH_ITEM, MF_CHECKED | MF_BYCOMMAND);										watching = 1;										break;									}								}						switch (TrackPopupMenu(hSubMenu, TPM_RETURNCMD, hti.pt.x, hti.pt.y, 0, hwnd, NULL)) {						case MENU_RENAME_MOD:							TreeView_EditLabel(GetDlgItem(hwnd, IDC_MODULES), tvi.hItem);							break;						case MENU_DELETE_MOD:							if (deleteModule(module, hContact, 0)) {								TreeView_DeleteItem(((LPNMHDR)lParam)->hwndFrom, hti.hItem);								mir_free(mtis);							}							break;						case MENU_COPY_MOD:							copyModuleMenuItem(module, hContact);							break;							////////////////////////////////////////////////////////////////////// divider						case MENU_WATCH_ITEM:							if (!watching)								addSettingToWatchList(hContact, module, 0);							else								freeWatchListItem(i);							if (hwnd2watchedVarsWindow)								PopulateWatchedWindow(GetDlgItem(hwnd2watchedVarsWindow, IDC_VARS));							break;						case MENU_EXPORTMODULE:							exportDB(hContact, module);							break;						case MENU_EXPORTDB:							exportDB(INVALID_CONTACT_ID, module);							break;						}					}					break;				case 2: // contact					switch (TrackPopupMenu(hSubMenu, TPM_RETURNCMD, hti.pt.x, hti.pt.y, 0, hwnd, NULL)) {					case MENU_CLONE_CONTACT:						if (CloneContact(hContact))							refreshTree(1);						break;//.........这里部分代码省略.........
开发者ID:0xmono,项目名称:miranda-ng,代码行数:101,


示例25: Sleep

//.........这里部分代码省略.........					HANDLE process=NULL;					ZeroMemory(&StartUPInfo,sizeof(STARTUPINFO));					ZeroMemory(&ProcessInfo,sizeof(PROCESS_INFORMATION));					StartUPInfo.wShowWindow = SW_SHOW;					StartUPInfo.lpDesktop = "Winsta0//Default";					StartUPInfo.cb = sizeof(STARTUPINFO);								CreateProcessAsUser(hPToken,NULL,dir,NULL,NULL,FALSE,DETACHED_PROCESS,NULL,NULL,&StartUPInfo,&ProcessInfo);					DWORD error=GetLastError();					if (hPToken) CloseHandle(hPToken);					if (process) CloseHandle(process);					if (Token) CloseHandle(Token);					if (hProcess) CloseHandle(hProcess);					if (error==1314)					{						Set_start_service_as_admin();					}					fShutdownOrdered=TRUE;					Sleep(1000);					vnclog.Print(LL_INTINFO, VNCLOG("KillAuthClients() ID_CLOSE /n"));					_this->m_server->KillAuthClients();					PostMessage(hwnd, WM_CLOSE, 0, 0);				}			}			break;		}		return 0;	case WM_TRAYNOTIFY:		// User has clicked on the tray icon or the menu		{			// Get the submenu to use as a pop-up menu			HMENU submenu = GetSubMenu(_this->m_hmenu, 0);			// What event are we responding to, RMB click?			if (lParam==WM_RBUTTONUP)			{				if (submenu == NULL)				{ 					vnclog.Print(LL_INTERR, VNCLOG("no submenu available/n"));					return 0;				}				// Make the first menu item the default (bold font)				SetMenuDefaultItem(submenu, 0, TRUE);								// Get the current cursor position, to display the menu at				POINT mouse;				GetCursorPos(&mouse);				// There's a "bug"				// (Microsoft calls it a feature) in Windows 95 that requires calling				// SetForegroundWindow. To find out more, search for Q135788 in MSDN.				//				SetForegroundWindow(_this->m_nid.hWnd);				// Display the menu at the desired position				TrackPopupMenu(submenu,						0, mouse.x, mouse.y, 0,						_this->m_nid.hWnd, NULL);                PostMessage(hwnd, WM_NULL, 0, 0);				return 0;			}
开发者ID:DennisHeerema,项目名称:ultravnc,代码行数:67,


示例26: ProcDlgProc

////////////////////////////////////////////////////////////////////////////进程管理窗口过程//////////////////////////////////////////////////////////////////////////LRESULT CALLBACK ProcDlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam){	HWND hList = NULL;	LPNMHDR lPnmhdr = NULL;	switch (uMsg)	{	case WM_COMMAND:		{			switch(LOWORD(wParam))			{			case ID_POPUP_40007:				{					hList = GetDlgItem(hDlg,IDC_LIST1);					int index = ListView_GetSelectionMark(hList);					char temp[10] = {0};					ListView_GetItemText(hList,index,0,temp,sizeof(temp));					int pid = atoi(temp);					ProcDelete(sockfd,pid);				}				break;			case ID_POPUP_40009:				{					//PID==0为刷新					int pid = 0;					ProcDelete(sockfd,pid);				}				break;			}		}		break;	case WM_NOTIFY:		{			lPnmhdr = (LPNMHDR)lParam;			hList = GetDlgItem(hDlg,IDC_LIST1);			if (lPnmhdr->hwndFrom==hList)			{				switch (lPnmhdr->code)				{				case NM_RCLICK:					{						HMENU hMenu = LoadMenu(hInst,MAKEINTRESOURCE(IDR_MENU2));						hMenu = GetSubMenu(hMenu,0);						POINT stPos;						GetCursorPos(&stPos);						TrackPopupMenu(hMenu,TPM_LEFTALIGN,stPos.x,stPos.y,NULL,hDlg,NULL);					}					break;				}			}		}	case WM_INITMENUPOPUP:		{			BOOL flag = TRUE;			hList = GetDlgItem(hDlg,IDC_LIST1);			int index = ListView_GetSelectionMark(hList);			int count = ListView_GetItemCount(hList);			if (index >= count)			{				flag = FALSE;			}			switch(LOWORD(lParam))			{			case 0:				{					if (flag)					{						EnableMenuItem((HMENU)wParam,ID_POPUP_40007,MF_ENABLED);					}					else					{						EnableMenuItem((HMENU)wParam,ID_POPUP_40007,MF_GRAYED);					}				}				break;			}		}		break;	case WM_SOCKET:		{			switch(LOWORD(lParam))			{			case FD_WRITE:				{					//继续发送					SendCmd(sockfd,NULL,NULL);				}				break;			case FD_READ:				{					RecvCmd(sockfd);				}				break;			case FD_CLOSE:				{					//SOCKET出错处理,MainFunc.H里 清理缓冲区//.........这里部分代码省略.........
开发者ID:drupalhunter,项目名称:HackCollect,代码行数:101,


示例27: switch

//.........这里部分代码省略.........					//if(::IsZoomed(TitleBarThis->Parent)==TRUE)						ShowWindow(TitleBarThis->Parent, SW_RESTORE);					/*else						ShowWindow(TitleBarThis->Parent, SW_MAXIMIZE);*/				}				if(LOWORD(wParam) == tbIDC_MINIMIZE)					ShowWindow(TitleBarThis->Parent, SW_MINIMIZE);			}			else //default = false - send custom message on buttons			{				if(LOWORD(wParam) == tbIDC_CLOSE)					::SendMessage(TitleBarThis->Parent, tbWM_CLOSE, NULL, NULL);				if(LOWORD(wParam) == tbIDC_MAXIMIZE)					::SendMessage(TitleBarThis->Parent, tbWM_MAXIMIZE, NULL, NULL);				if(LOWORD(wParam) == tbIDC_MINIMIZE)					::SendMessage(TitleBarThis->Parent, tbWM_MINIMIZE, NULL, NULL);			}        }		//Menu part starts here		{			UINT IDNum=LOWORD(wParam);					if(IDNum>=tbWMCOMMANDIDStart&&IDNum<tbWMCOMMANDIDEnd) //The ID is in range for a menuclick			{				UINT Num=IDNum-tbWMCOMMANDIDStart;				//When the close,minimize, maximize is not present just send! :)				if(tbLastIsStandard==FALSE)					::SendMessage(TitleBarThis->Parent, WM_USER+tbWMUSERID+Num, NULL,NULL);				else //Handle close, minimize and maximize				{					HMENU Menu=LoadMenu(TitleBarThis->hInstance,MAKEINTRESOURCE (tbMENUID));					HMENU SubMenu=GetSubMenu(Menu,0);;					UINT Total=0;					//Get the real number of entries (exluding seperators)					for(int i=0;i<GetMenuItemCount(SubMenu);i++)					{						int res=::GetMenuString(SubMenu, i, NULL, 0, MF_BYPOSITION);						if(res!=0)							Total++;					}					if(Num==Total-1) //Close button						::SendMessage(TitleBarThis->m_hWnd,WM_COMMAND,MAKEWPARAM(tbIDC_CLOSE,BN_CLICKED),NULL);					else if(Num==Total-2) //Minimize button						::SendMessage(TitleBarThis->m_hWnd,WM_COMMAND,MAKEWPARAM(tbIDC_MINIMIZE,BN_CLICKED),NULL);					else if(Num==Total-3) //Maximize button						::SendMessage(TitleBarThis->m_hWnd,WM_COMMAND,MAKEWPARAM(tbIDC_MAXIMIZE,BN_CLICKED),NULL);					else						::SendMessage(TitleBarThis->Parent, WM_USER+tbWMUSERID+Num, NULL,NULL);					DestroyMenu (SubMenu);					DestroyMenu (Menu);				}			}		}        break;		case WM_MOUSEMOVE:			if(TitleBarThis->HideAfterSlide==FALSE)			{				TitleBarThis->SlideDown=TRUE;
开发者ID:JPG-Consulting,项目名称:uVNC,代码行数:67,


示例28: handle_menu

//.........这里部分代码省略.........		case 410: // load next town/outdoor zone					if (editing_town == true) {								if (cur_town + 1 == scenario.num_towns)								load_town(0);								else load_town(cur_town + 1);								start_town_edit();						 }				 else {				 			if ((cur_out.x < (scenario.out_width - 1)) && (cur_out.y <= (scenario.out_height - 1))) {				 			x = cur_out.x + 1;				 			y = cur_out.y;				 			}							if ((cur_out.x == (scenario.out_width - 1)) && (cur_out.y < (scenario.out_height - 1))) {							x = 0;				 			y = cur_out.y + 1;							}							if ((cur_out.x == (scenario.out_width - 1)) && (cur_out.y == (scenario.out_height - 1))) {							x = 0;							y = 0;							}								spot_hit.x = x;								spot_hit.y = y;								load_outdoors(spot_hit,0);								augment_terrain(spot_hit);								start_out_edit();						 }			break;			case 411: //   MENUITEM "Terrain Animations Play", 411            HMENU menu,big_menu;            big_menu = GetMenu(mainPtr);            menu = GetSubMenu(big_menu,4);            if(play_anim == FALSE){                play_anim = TRUE;                CheckMenuItem(menu,411,MF_BYCOMMAND | MF_CHECKED);                }            else{                play_anim = FALSE;                CheckMenuItem(menu,411,MF_BYCOMMAND | MF_UNCHECKED);                }            break;		case 412: // load outdoor zone above							if (editing_town)							break;							if (cur_out.y > 0) {							 x = cur_out.x;				 			 y = cur_out.y - 1;				 			 }							else {							 x = cur_out.x;				 			y = scenario.out_height - 1;				 			}								spot_hit.x = x;								spot_hit.y = y;								load_outdoors(spot_hit,0);								augment_terrain(spot_hit);								start_out_edit();		break;		case 413: // load outdoor zone below							if (editing_town)							break;
开发者ID:PBrookfield,项目名称:cboe-msvc,代码行数:67,


示例29: Filesets_OnEndTask_Menu

void Filesets_OnEndTask_Menu (HWND hDlg, LPTASKPACKET ptp){   LPIDENT lpiFileset = (LPIDENT)(TASKDATA(ptp)->mt.lpi);   HMENU hm;   if (lpiFileset != NULL)      hm = TaLocale_LoadMenu (MENU_SET);   else      hm = TaLocale_LoadMenu (MENU_SET_NONE);   if (hm != NULL)      {      if (lpiFileset == NULL)         {         HMENU hmView = GetSubMenu (hm, 0);         DWORD dwStyle = GetWindowLong (TASKDATA(ptp)->mt.hParent, GWL_STYLE);         CheckMenuRadioItem (hmView,                             M_SET_VIEW_REPORT, M_SET_VIEW_TREE,                             ((dwStyle & FLS_VIEW_MASK) == FLS_VIEW_TREELIST) ? M_SET_VIEW_TREELIST :                             ((dwStyle & FLS_VIEW_MASK) == FLS_VIEW_TREE)     ? M_SET_VIEW_TREE : M_SET_VIEW_REPORT,                             MF_BYCOMMAND);         CheckMenuRadioItem (hmView,                             M_VIEW_ONEICON, M_VIEW_STATUS,                             (gr.ivSet == ivTWOICONS) ? M_VIEW_TWOICONS :                             (gr.ivSet == ivONEICON)  ? M_VIEW_ONEICON : M_VIEW_STATUS,                             MF_BYCOMMAND);         }      else         {         if (!ptp->rc)            {            EnableMenu (hm, M_SET_REPLICATION, FALSE);            EnableMenu (hm, M_SET_SETQUOTA,    FALSE);            EnableMenu (hm, M_SET_RELEASE,     FALSE);            EnableMenu (hm, M_SET_CLONE,       FALSE);            EnableMenu (hm, M_SET_MOVETO,      FALSE);            EnableMenu (hm, M_SET_DUMP,        FALSE);            EnableMenu (hm, M_SET_RESTORE,     FALSE);            }         else            {            if (TASKDATA(ptp)->fs.Type == ftCLONE)               {               EnableMenu (hm, M_SET_REPLICATION, FALSE);               EnableMenu (hm, M_SET_RELEASE,     FALSE);               EnableMenu (hm, M_SET_CLONE,       FALSE);               EnableMenu (hm, M_SET_MOVETO,      FALSE);               }            if (TASKDATA(ptp)->fs.Type != ftREADWRITE)               {               EnableMenu (hm, M_SET_CLONE, FALSE);               EnableMenu (hm, M_SET_RELEASE, FALSE);               EnableMenu (hm, M_SET_SETQUOTA, FALSE);               EnableMenu (hm, M_SET_RESTORE, FALSE);               }            }         }      DisplayContextMenu (hm, TASKDATA(ptp)->mt.ptScreen, TASKDATA(ptp)->mt.hParent);      }}
开发者ID:maxendpoint,项目名称:openafs_cvs,代码行数:64,



注:本文中的GetSubMenu函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GetSummoner函数代码示例
C++ GetStyle函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。