📄 installmenu.c
字号:
// mainMenu.c: implementation of the mainMenu class.
//
//////////////////////////////////////////////////////////////////////
#include"osddesktop.h"
#include"osdwinuser.h"
//#include"osdwindows.h"
//#include"osdinternal.h"
//#include "installMenu.h"
/*#include"Favorite.h"
#include"SatelliteEditor.h"
#include"SearchChannel.h"
#include"keyboard.h"
#include "epgWnd.h"
#include "PrTuner.h"
#include "games.h"
#include "nvodWnd.h"
#include "systemSetting.h"*/
//#define IDC_OPTIONS 10
//#define IDC_MENU 20
//#define IDC_EDIT 30
static LRESULT WINAPI InstlWndProc(HWND hWnd,UINT msgID,WPARAM wParam,LPARAM lParam)
{
switch(msgID){
//case WM_NCCALCSIZE:break;
//case WM_NCPAINT:return 0;
case WM_MEASUREITEM:
{
MEASUREITEMSTRUCT*mis=(MEASUREITEMSTRUCT*)lParam;;
mis->CtlType = ODT_MENU;
mis->CtlID = 0;
//mis->itemID = lpitem->wID;
//mis->itemData = lpitem->dwItemData;
mis->itemHeight = 40;//ODitemheight;
mis->itemWidth = 150;
}break;
case WM_DRAWITEM:
{
DRAWITEMSTRUCT*ds=(DRAWITEMSTRUCT*)lParam;
char text[128];
HDC hdc=(HDC)ds->hDC;
RECT rc=ds->rcItem;
SetTextColor(hdc,ds->itemState==ODS_SELECTED?RGB(255,0,0):RGB(0,255,0));
FillRect(hdc,&rc,ds->itemState==ODS_SELECTED?
GetSysColorBrush(COLOR_HIGHLIGHT):GetSysColorBrush(COLOR_BTNFACE));
DrawText(hdc,"OwnerDrawItem\nMultiLine",-1,&rc,DT_VCENTER);
DrawEdge(hdc,&rc,BDR_RAISEDINNER,BF_RECT);
}break;
case WM_KEYDOWN:
switch(wParam){
case VK_MENU:
{
HWND w=(HWND)CreateMainMenu();
ShowWindow(w,SW_SHOWNORMAL);
}break;
case VK_UP:
{
HWND w=(HWND)CreateEPGPFWnd();
ShowWindow(w,SW_SHOWNORMAL);
}break;
case VK_RETURN:CreateFavoriteWnd();break;
case VK_ESCAPE:break;
default:return DefWindowProc(hWnd,msgID,wParam,lParam);
}break;
case WM_RBUTTONUP:
{
HMENU hmenu=(HMENU)GetWindowLong(hWnd,GWL_USERDATA);
POINT pt;
pt.x=LOWORD(lParam);pt.y=HIWORD(lParam);
MapWindowPoints(hWnd,NULL,&pt,1);//将窗口坐标转换成屏幕坐标
TrackPopupMenu(hmenu,TPM_TOPALIGN|TPM_RIGHTBUTTON,
pt.x,pt.y,0,hWnd,NULL);
}break;
case WM_COMMAND:
switch(LOWORD(wParam)){
case 100:CreateFavoriteWnd();break;
case 101:CreateSysSetWindow();break;
case 102:CreateFavoriteEditWnd();break;
case 103:CreateEpgWnd();break;
//case 104:CreateGameWnd();break;
case 105:CreateNvodWnd();break;
case 106:CreateSysConfigWnd();break;
}break;
case WM_DESTROY:
{
HMENU hmenu=(HMENU)GetWindowLong(hWnd,GWL_USERDATA);
DestroyMenu(hmenu);
DefWindowProc(hWnd,msgID,wParam,lParam);
}break;
default: return DefWindowProc(hWnd,msgID,wParam,lParam);
}
return 0;
}
static HMENU CreateInstallMenu(void)
{
HMENU mnuDesk;
MENUITEMINFO pmi;
int i;
char*mnustr[]={"Installation","System Setting","Channels","Games","System Information",NULL};
char*popmnustr[]={"Dish Setting","Motorized Setting","Auto Scan","Blind Scan","Manual Scan","PID Scan",NULL};
mnuDesk=CreatePopupMenu();
memset(&pmi,0,sizeof(pmi));
pmi.fMask = MIIM_ID | MIIM_TYPE | MIIM_DATA;
for(i=0;mnustr[i]!=NULL;i++){
HMENU hsub;
pmi.hSubMenu=0;
pmi.fMask = MIIM_ID | MIIM_TYPE | MIIM_DATA;
//pmi.fType=mnustr[i][0]=='-'?MF_MENUBREAK:MFT_STRING;
pmi.fType=mnustr[i][0]=='-'?MFT_SEPARATOR:MFT_STRING;
if(i>8){
int j;
hsub=CreatePopupMenu();
for(j=0;popmnustr[j]!=NULL;j++){
//char str[128];
//sprintf(str,"Sub menu item %d-%d ",i,j+1);
pmi.fMask=MIIM_ID | MIIM_TYPE | MIIM_DATA;
pmi.dwTypeData=(LPSTR)popmnustr[j];
pmi.wID=100+i*20+j;
InsertMenuItem(hsub,j,TRUE,&pmi);
}
pmi.hSubMenu=hsub;
pmi.fMask|=MIIM_SUBMENU;
}
pmi.wID=100+i;
pmi.dwTypeData=(LPSTR)mnustr[i];
InsertMenuItem(mnuDesk,i,FALSE,&pmi);
}
return mnuDesk;
}
HWND CreateInstall(void)
{
HWND hc,hc1;
HWND hwndInstall;
hwndInstall=CreateMainWindow("MAIN MENU",WS_VISIBLE|WS_OVERLAPPEDWINDOW/*|WS_VSCROLL*/,
100,100,520,400,InstlWndProc);
ShowWindow(hwndInstall,SW_SHOW);
SetWindowLong(hwndInstall,GWL_USERDATA,(ULONG)CreateInstallMenu());
return hwndInstall;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -