📄 work.c
字号:
return -1; ShowWindow (hMainWnd, SW_SHOW); while (GetMessage(&Msg, hMainWnd)) { TranslateMessage(&Msg); DispatchMessage(&Msg); } MainWindowThreadCleanup (hMainWnd); return 0;}static intBookProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam){ HWND hdc; RECT rect; GetClientRect(hDlg,&rect); int count,flag=0; static float rate=1; static FILEITEM *currentfile,*load,*head=NULL,*end=NULL; FILEDLGDATA myWinFileData; int id = LOWORD (wParam); int code = HIWORD (wParam); int sel=0,max_x,max_y; IVITEMINFO ivii; static int i = 0,flag_i=0,bmp_size=0; switch (message) { case MSG_INITDIALOG: { IVITEMINFO ivii; for (i=0; i<2; i++) { LoadBitmap (HDC_SCREEN, &myicons[i], iconfiles[i]); } hIconView = GetDlgItem (hDlg, IDC_ICONVIEW); SetWindowBkColor (hIconView, 0xFFFFFF); // SetWindowBkColor (hDlg, 0xC2C2C2); /* SendMessage (hIconView, IVM_SETITEMSIZE, 200, 200); for (i = 0; i < 2; i++) { memset (&ivii, 0, sizeof(IVITEMINFO)); ivii.bmp = &myicons[i]; ivii.nItem = i; ivii.label = iconlabels[i]; ivii.addData = (DWORD)iconlabels[i]; SendMessage (hIconView, IVM_ADDITEM, 0, (LPARAM)&ivii); } ////////////////////////////////////////////////////////// ANIMATION* anim3= CreateAnimationFromGIF89aFile (HDC_SCREEN, "res/next.gif"); if (anim3 == NULL) return 1; SetWindowAdditionalData (hDlg, (DWORD) anim3); CreateWindowEx (CTRL_ANIMATION, "", WS_VISIBLE | ANS_AUTOLOOP | ANS_SCALED, WS_EX_TRANSPARENT, IDC_NEXT, 580, 130, 50, 30, hDlg, (DWORD)anim3); //////////////////////////////////////////////////////// ANIMATION* anim2= CreateAnimationFromGIF89aFile (HDC_SCREEN, "res/pri.gif"); if (anim2 == NULL) return 1; SetWindowAdditionalData (hDlg, (DWORD) anim2); CreateWindowEx (CTRL_ANIMATION, "", WS_VISIBLE | ANS_AUTOLOOP | ANS_SCALED, WS_EX_TRANSPARENT, IDC_PRIVIOUS, 580, 230, 50, 30, hDlg, (DWORD)anim2); //////////////////////////////////////////////////////open anim= CreateAnimationFromGIF89aFile (HDC_SCREEN, filename); if (anim == NULL) return 1; SetWindowAdditionalData (hDlg, (DWORD) anim); CreateWindowEx (CTRL_ANIMATION, "", WS_VISIBLE | ANS_AUTOLOOP | ANS_SCALED, WS_EX_TRANSPARENT, IDC_OPEN, 580, 180, 50, 30, hDlg, (DWORD)anim);*/ //////////////////////////////////////next //SendMessage(GetDlgItem(hDlg,IDC_OPEN),BM_SETIMAGE,BM_IMAGE_BITMAP,myicons[i]);位图按钮/////////////////////////////////////////////////////////////////////////////////////////////////// /*hdc = BeginPaint (hDlg); max_x = GetGDCapability(hdc,GDCAP_MAXX); max_y = GetGDCapability(hdc,GDCAP_MAXY); FillBoxWithBitmap(hdc,0,0,max_x, max_y,&myicons[2]); EndPaint (hDlg, hdc);*/ } case MSG_ERASEBKGND: { HWND hdc = (HWND)wParam; const RECT* clip = (const RECT*) lParam; BOOL fGetDC = FALSE; RECT rcTemp; if (hdc == 0) { hdc = GetClientDC (hDlg); fGetDC = TRUE; } if (clip) { rcTemp = *clip; ScreenToClient (hDlg, &rcTemp.left, &rcTemp.top); ScreenToClient (hDlg, &rcTemp.right, &rcTemp.bottom); IncludeClipRect (hdc, &rcTemp); } /* 用图片填充背景 */ FillBoxWithBitmap (hdc, 0, 0, 0, 0, &myicons[125]); if (fGetDC) ReleaseDC (hdc); return 0; } case MSG_COMMAND: { switch (id) { case IDC_ICONVIEW: if (code == IVN_CLICKED) { sel = SendMessage (hIconView, IVM_GETCURSEL, 0, 0); //if(sel<2) showmy(sel,hDlg); //else // showmy((char *)myWinFileData.filefullname); //sprintf((char*)iconfiles[i],"%s",myWinFileData.filefullname); } break; case IDC_BIG: return -1; break; case IDC_OPEN: { int choise; strcpy(myWinFileData.filepath,"."); myWinFileData.IsSave=FALSE; choise = OpenFileDialog(hDlg, FALSE, &myWinFileData); if (choise == IDOK && IsSupport(myWinFileData.filename) ) { if (head) { ReleaseList(head); } head = findmatchfile(&myWinFileData,¤tfile); } else { { if(choise !=IDOK ) break; } { MessageBox(hDlg,"Can'T open the file!","ERROR",MB_OK | MB_ICONINFORMATION); break; } } load=head; for (bmp_size=0;load!=NULL;bmp_size++) { load=load->next; } hdc=BeginPaint(hIconView); TextOut(hdc,100,50,"LOADING...."); EndPaint(hIconView, hdc); load=head; for( i=0;i<bmp_size&&load->name!=NULL;i++) { //UnloadBitmap(&myicons[i]); if( LoadBitmap(HDC_SCREEN, &myicons[i], load->name) < 0 ) { fprintf(stderr,"Load Bitmap %s Error\n",load->name); return -1; } load->i=i; load=load->next ; } load=head; for(i=0;load->next==NULL; i++) { if(load==currentfile) { flag_i=load->i; break; } load=load->next; } SendMessage (hIconView, IVM_RESETCONTENT, 0, 0); for( i=0;i<2&&flag_i<bmp_size;i++) { hIconView = GetDlgItem (hDlg, IDC_ICONVIEW); SendMessage (hIconView, IVM_SETITEMSIZE, 233, 200); memset (&ivii, 0, sizeof(IVITEMINFO)); ivii.bmp = &myicons[flag_i++]; ivii.nItem = i; ivii.label = NULL; ivii.addData = (DWORD)myWinFileData.filename; SendMessage (hIconView, IVM_ADDITEM, 0, (LPARAM)&ivii); } } break; case IDC_NEXT: { SendMessage (hIconView, IVM_RESETCONTENT, 0, 0); for( i=0;i<2;i++) { hIconView = GetDlgItem (hDlg, IDC_ICONVIEW); //SendMessage (hIconView, IVM_SETITEMSIZE, 233, 200); memset (&ivii, 0, sizeof(IVITEMINFO)); ivii.bmp = &myicons[flag_i]; ivii.nItem = i; ivii.label = NULL; ivii.addData = (DWORD)myWinFileData.filename; SendMessage (hIconView, IVM_ADDITEM, 0, (LPARAM)&ivii); if(flag_i<bmp_size) { flag_i++; } else { flag_i=0; } } } break; case IDC_PRIVIOUS: { SendMessage (hIconView, IVM_RESETCONTENT, 0, 0); for(i=0;i<4;i++) { if(flag_i>0) flag_i--; else flag_i=0; } for( i=0;i<2&&flag_i>=0;i++) { hIconView = GetDlgItem (hDlg, IDC_ICONVIEW); //SendMessage (hIconView, IVM_SETITEMSIZE, 233, 200); memset (&ivii, 0, sizeof(IVITEMINFO)); ivii.bmp = &myicons[flag_i++]; ivii.nItem = i; ivii.label = NULL; ivii.addData = (DWORD)myWinFileData.filename; SendMessage (hIconView, IVM_ADDITEM, 0, (LPARAM)&ivii); } } break; } break; } case MSG_PAINT: { } break; case MSG_CLOSE: { EndDialog (hDlg, 0); PostQuitMessage (hDlg); DestroyMainWindow (hDlg); return 0; } } /* end switch */ return DefaultDialogProc (hDlg, message, wParam, lParam);}int MiniGUIMain (int argc, const char* argv[]){ #ifdef _MGRM_PROCESSES JoinLayer(NAME_DEF_LAYER , "iconview" , 0 , 0);#endif if (!InitMiniGUIExt()) { return 2; } LoadBitmap (HDC_SCREEN, &myicons[124], "res/pri.jpg"); LoadBitmap (HDC_SCREEN, &myicons[125], "res/bk2.jpg"); LoadBitmap (HDC_SCREEN, &myicons[126], iconfiles[4]); LoadBitmap (HDC_SCREEN, &myicons[127], "res/myopen.gif"); DialogBoxIndirectParam (&DlgIcon, HWND_DESKTOP, BookProc, 0L); MiniGUIExtCleanUp (); return 0;}#ifndef _LITE_VERSION#include <minigui/dti.c>#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -