panels.c
来自「MDE 图形引擎」· C语言 代码 · 共 1,458 行 · 第 1/4 页
C
1,458 行
break; } case IDC_CHBMPPATHBTM: { MessageBox(hDlg,"功能未考虑好是否该实现","控制面板",MB_OK); break; } case IDC_FILECHOISE: { if(code != LBN_SELCHANGE) return 0; i = SendDlgItemMessage(hDlg, IDC_FILECHOISE, LB_GETCURSEL, 0, 0); if (i == -1) return 0; SendDlgItemMessage(hDlg, IDC_FILECHOISE, LB_GETTEXT, i, (LPARAM)tempStr); strcpy(bmpfile,bmppath); strcat(bmpfile,"/"); strcat(bmpfile,tempStr); LoadBitmap(HDC_SCREEN,&bgbitmap,bmpfile); invrc.left = 220; invrc.top = 45; invrc.right = invrc.left + screenbitmap.bmWidth; invrc.bottom = invrc.top + screenbitmap.bmHeight; InvalidateRect(hDlg,&invrc,FALSE); break; } case IDOK: { int i; char temp[30]; if(SetValueToEtcFile(MINIGUI_CONFIG, "bgpicture","position",Eposition[bgposition])!=ETC_OK) { MessageBox(hDlg,"设置文件写入失败","控制面板",MB_OK| MB_ICONSTOP); return 0; } for(i=0;i<10;i++) { sprintf(temp,"availPosition%d",i+1); SetValueToEtcFile(MINIGUI_CONFIG, "bgpicture",temp,Eposition[i]); } i = SendDlgItemMessage(hDlg, IDC_FILECHOISE, LB_GETCURSEL, 0, 0);// if (i == -1) return; SendDlgItemMessage(hDlg, IDC_FILECHOISE, LB_GETTEXT, i, (LPARAM)tempStr); if(SetValueToEtcFile(MINIGUI_CONFIG, "bitmapinfo","bgpicture",tempStr)!=ETC_OK) { MessageBox(hDlg,"设置文件写入失败","控制面板",MB_OK| MB_ICONSTOP); return 0; } EndDialog(hDlg,IDOK); break; } } } } return DefaultDialogProc(hDlg, message, wParam, lParam);}int DisplayPanelDialog(HWND hWnd){ DlgDisplayPanelInfo.controls = CtrlDisplayPanelInfo; return DialogBoxIndirectParam(&DlgDisplayPanelInfo, hWnd, DialogDisplayPanelProc, 0);}/************************ mouse panel dialog *************************/#define IDC_CURLIST 100#define IDC_CHCURPATHBTM 101#define IDC_CURPATHEDIT 102#define IDC_MOUSEDEVEDIT 103#define IDC_MOUSETYPEMBUTTON 104#define IDC_MOUSETIMEEDIT 105DLGTEMPLATE DlgMousePanelInfo ={ WS_BORDER|WS_CAPTION, WS_EX_NONE, 120, 40, 320, 400, "鼠标属性", 0, 0, 16, NULL};CTRLDATA CtrlMousePanelInfo [] ={ { "static", WS_VISIBLE | SS_GROUPBOX | SS_LEFT, 10, 10, 300, 220, IDC_STATIC, "指针(仅供浏览)", 0 }, { "static", WS_VISIBLE | SS_LEFT, 20, 32, 80, 20, IDC_STATIC, "指针列表", 0 }, { "listbox", WS_VISIBLE | WS_TABSTOP | LBS_NOTIFY | WS_VSCROLL | WS_BORDER, 20, 55, 190, 100, IDC_CURLIST, NULL, 0 }, { "static", WS_VISIBLE | SS_LEFT, 20, 175, 60, 20, IDC_STATIC, "指针路径", 0 }, { "button", WS_VISIBLE | BS_PUSHLIKE | BS_CENTER , 77, 170, 120, 22, IDC_CHCURPATHBTM, "选择指针图片路径", 0 }, { "sledit", WS_VISIBLE | WS_TABSTOP | LBS_NOTIFY | WS_BORDER, 20, 200, 280, 22, IDC_CURPATHEDIT, "", 0 }, { "static", WS_VISIBLE | SS_LEFT, 220, 32, 80, 20, IDC_STATIC, "预览(未实现)", 0 }, { "static", WS_VISIBLE | SS_GROUPBOX | SS_LEFT, 10, 235, 300, 110, IDC_STATIC, "鼠标", 0 }, { "static", WS_VISIBLE | SS_LEFT, 20, 260, 100, 20, IDC_STATIC, "鼠标设备", 0 }, { "sledit", WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP , 130, 255, 120, 22, IDC_MOUSEDEVEDIT, "", 0 }, { "static", WS_VISIBLE | SS_LEFT, 20, 290, 100, 20, IDC_STATIC, "鼠标类型", 0 }, { "menubutton", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 130, 285, 120, 22, IDC_MOUSETYPEMBUTTON, "请选择鼠标类型", 0 }, { "static", WS_VISIBLE | SS_LEFT, 20, 320, 100, 20, IDC_STATIC, "双击间隔时间", 0 }, { "sledit", WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP , 130, 315, 120, 22, IDC_MOUSETIMEEDIT, "", 0 }, { "button", WS_VISIBLE | BS_PUSHLIKE | BS_CENTER , 180, 354, 60, 22, IDOK, "确定", 0 }, { "button", WS_VISIBLE | BS_PUSHLIKE | BS_CENTER , 250, 354, 60, 22, IDCANCEL, "取消", 0 },};void ListCURFiles(HWND hDlg,char* path){ struct dirent* pDirEnt; DIR* dir; struct stat ftype; char fullpath [PATH_MAX + 1]; SendDlgItemMessage (hDlg, IDC_CURLIST, LB_RESETCONTENT, 0, (LPARAM)0); dir = opendir (path); while ( (pDirEnt = readdir ( dir )) != NULL ) { strncpy (fullpath, path, PATH_MAX); strcat (fullpath, "/"); strcat (fullpath, pDirEnt->d_name); if (lstat (fullpath, &ftype) < 0 ) { Ping(); continue; } if (S_ISREG(ftype.st_mode)) { SendDlgItemMessage (hDlg, IDC_CURLIST, LB_ADDSTRING,0,(LPARAM)pDirEnt->d_name); } }}static char *mouseType[]={ "Microsoft","MouseSystems","MMSeries","Logitech","Busmouse", "PS2","MouseMan","Spaceball","IntelliMouse","None"};int Mp(char * mouse){ int i; for(i=0;i<10;i++) if (strcmp(mouse,mouseType[i])==0) return i; return -1;}static intDialogMousePanelProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam){ char tempStr[101]; static char curpath[PATH_MAX]; static int mousetype; switch(message) { case MSG_INITDIALOG: { HWND hTmp; MENUBUTTONITEM mbi; int i; mbi.data=0; mbi.bmp=0; //mouse type hTmp = GetDlgItem(hDlg,IDC_MOUSETYPEMBUTTON); for(i=0;i<10;i++) { mbi.text= mouseType[i]; SendMessage (hTmp, MBM_ADDITEM, -1, (LPARAM) &mbi); } if(GetValueFromEtcFile(MINIGUI_CONFIG, "system","mtype",tempStr,100)!=ETC_OK) { tempStr[0]=0; } else { tempStr[100]=0; mousetype = Mp(tempStr); SendMessage (hTmp,MBM_SETCURITEM,mousetype,0); } if(GetValueFromEtcFile(MINIGUI_CONFIG, "cursorinfo","cursorpath",curpath,100)!=ETC_OK) { curpath[0]=0; }; curpath[100]=0; hTmp = GetDlgItem(hDlg,IDC_CURPATHEDIT); EnableWindow(hTmp,FALSE); SetDlgItemText(hDlg,IDC_CURPATHEDIT,curpath); ListCURFiles(hDlg,curpath); if(GetValueFromEtcFile(MINIGUI_CONFIG, "system","mdev",tempStr,100)!=ETC_OK) { tempStr[0]=0; }; tempStr[100]=0; SetDlgItemText(hDlg,IDC_MOUSEDEVEDIT,tempStr); if(GetValueFromEtcFile(MINIGUI_CONFIG, "mouse","dblclicktime",tempStr,100)!=ETC_OK) { tempStr[0]=0; }; tempStr[100]=0; SetDlgItemText(hDlg,IDC_MOUSETIMEEDIT,tempStr); } break; case MSG_PAINT: { } break; case MSG_COMMAND: { int id = LOWORD(wParam); int code = HIWORD(wParam); switch (id) { case IDC_MOUSETYPEMBUTTON: { if(code != MBN_CHANGED) return 0; mousetype = SendDlgItemMessage(hDlg,IDC_MOUSETYPEMBUTTON, MBM_GETCURITEM ,0,0); break; } case IDC_CHCURPATHBTM: { MessageBox(hDlg,"功能未考虑好是否该实现","控制面板",MB_OK); break; } case IDOK: { int i; char temp[30]; if(SetValueToEtcFile(MINIGUI_CONFIG, "system","mtype",mouseType[mousetype])!=ETC_OK) { MessageBox(hDlg,"设置文件写入失败","控制面板",MB_OK| MB_ICONSTOP); return 0; } for(i=0;i<10;i++) { sprintf(temp,"availMType%d",i+1); SetValueToEtcFile(MINIGUI_CONFIG, "system",temp,mouseType[i]); } GetDlgItemText(hDlg,IDC_MOUSEDEVEDIT,tempStr,200), tempStr[199]=0; if(SetValueToEtcFile(MINIGUI_CONFIG, "system","mdev",tempStr)!=ETC_OK) { MessageBox(hDlg,"设置文件写入失败","控制面板",MB_OK| MB_ICONSTOP); return 0; } GetDlgItemText(hDlg,IDC_MOUSETIMEEDIT,tempStr,200), tempStr[199]=0; if(SetValueToEtcFile(MINIGUI_CONFIG, "mouse","dblclicktime",tempStr)!=ETC_OK) { MessageBox(hDlg,"设置文件写入失败","控制面板",MB_OK| MB_ICONSTOP); return 0; } EndDialog(hDlg,IDOK); break; } } } } return DefaultDialogProc(hDlg, message, wParam, lParam);}int MousePanelDialog(HWND hWnd){ DlgMousePanelInfo.controls = CtrlMousePanelInfo; return DialogBoxIndirectParam(&DlgMousePanelInfo, hWnd, DialogMousePanelProc, 0);}/************************ app panel dialog *************************/#define IDC_CHAPPPATHBTM 101#define IDC_APPPATHEDIT 102DLGTEMPLATE DlgAppPanelInfo ={ WS_BORDER|WS_CAPTION, WS_EX_NONE, 120, 40, 270, 350, "应用程序属性", 0, 0, 10, NULL};CTRLDATA CtrlAppPanelInfo [] ={ { "static", WS_VISIBLE | SS_GROUPBOX | SS_LEFT, 10, 10, 250, 90, IDC_STATIC, "MINIGUI应用程序", 0 }, { "static", WS_VISIBLE | SS_LEFT, 20, 40, 100, 20, IDC_STATIC, "应用程序路径", 0 }, { "button", WS_VISIBLE | BS_PUSHLIKE | BS_CENTER , 120, 35, 120, 22, IDC_CHAPPPATHBTM, "选择应用程序路径", 0 }, { "sledit", WS_VISIBLE | WS_TABSTOP | LBS_NOTIFY | WS_BORDER, 20, 70, 230, 22, IDC_APPPATHEDIT, "", 0 }, { "static", WS_VISIBLE | SS_GROUPBOX | SS_LEFT, 10, 100, 250, 50, IDC_STATIC, "VConGUI", 0 }, { "static", WS_VISIBLE | SS_GROUPBOX | SS_LEFT, 10, 150, 250, 50, IDC_STATIC, "NoteBook", 0 }, { "static", WS_VISIBLE | SS_GROUPBOX | SS_LEFT, 10, 200, 250, 50, IDC_STATIC, "bomb", 0 }, { "static", WS_VISIBLE | SS_GROUPBOX | SS_LEFT, 10, 250, 250, 50, IDC_STATIC, "russia", 0 }, { "button", WS_VISIBLE | BS_PUSHLIKE | BS_CENTER , 130, 304, 60, 22, IDOK, "确定", 0 }, { "button", WS_VISIBLE | BS_PUSHLIKE | BS_CENTER , 200, 304, 60, 22, IDCANCEL, "取消", 0 },};static intDialogAppPanelProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam){ static char apppath[PATH_MAX]; switch(message) { case MSG_INITDIALOG: { HWND hTmp; if(GetValueFromEtcFile(MINIGUI_CONFIG, "appinfo","apprespath",apppath,100)!=ETC_OK) { apppath[0]=0; }; apppath[100]=0; hTmp = GetDlgItem(hDlg,IDC_APPPATHEDIT); EnableWindow(hTmp,FALSE); SetDlgItemText(hDlg,IDC_APPPATHEDIT,apppath); } break; case MSG_PAINT: { } break; case MSG_COMMAND: { int id = LOWORD(wParam); switch (id)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?