/**************/ /* lasswi5.c */ /**************************************************************************** ** switch-lause, joka on sama kuin laskurm4.c:ssä, paitsi ** WM_PAINT-viestiä ei tarvitse käsitellä. ****************************************************************************/ switch (message) { case WM_ERASEBKGND: PiirraTausta((HDC)wParam); return TRUE; case WM_CREATE: if ( !alusta_autot(NULL,hWnd,WTITLE) ) alusta_autot(NULL,hWnd,".\\"WTITLE); break; case WM_INITDIALOG: /* Luetaan edellisen kerran arvot */ GetPrivateProfileString(WTITLE,WTITLE,"",s,sizeof(s),WTITLE".INI"); teksti_laskureiksi(hWnd,s,laskurit); // return FALSE; return TRUE; /* In dialog put focus to first control */ case WM_COMMAND: /* Dialogin toiminnot: */ switch (wParam) { case HA: /* Painonappia painettu */ case KA: ShowStatic(hWnd,wParam-HA+HAL,laskurit[wParam-HA]+=suunta); Changed(&File); return TRUE; case NOLLAA: nollaa_laskurit(hWnd,laskurit); Changed(&File); return TRUE; /* OPTIONS */ case IDM_OPTIONS_INC: hMenu = GetMenu(hWnd); CheckMenuItem(hMenu,IDM_OPTIONS_DEC,MF_BYCOMMAND | MF_UNCHECKED); CheckMenuItem(hMenu,IDM_OPTIONS_INC,MF_BYCOMMAND | MF_CHECKED); suunta = 1; return TRUE; case IDM_OPTIONS_DEC: hMenu = GetMenu(hWnd); CheckMenuItem(hMenu,IDM_OPTIONS_DEC,MF_BYCOMMAND | MF_CHECKED); CheckMenuItem(hMenu,IDM_OPTIONS_INC,MF_BYCOMMAND | MF_UNCHECKED); suunta = -1; return TRUE; /* EDIT */ case IDM_EDIT_CUT: laskurit_leikekirjaan(hWnd,laskurit); nollaa_laskurit(hWnd,laskurit); return TRUE; case IDM_EDIT_COPY: laskurit_leikekirjaan(hWnd,laskurit); return TRUE; case IDM_EDIT_PASTE: leikekirja_laskureihin(hWnd,laskurit); return TRUE; /* FILE */ case IDM_FILE_NEW: NewFile(hWnd,&File); return TRUE; case IDM_FILE_OPEN: OpenAndReadFile(hWnd,&File); return TRUE; case IDM_FILE_SAVEAS: SaveFileAs(hWnd,&File); return TRUE; case IDM_FILE_SAVE: SaveFile(hWnd,&File); return TRUE; case IDM_FILE_EXIT: case IDCANCEL: case EXIT: WritePrivateProfileString(WTITLE,WTITLE, laskurit_tekstiksi(laskurit),WTITLE".INI"); if ( NewFile(hWnd,&File) ) return TRUE; tuhoa_autot(); DestroyWindow(hWnd); PostQuitMessage(0); return TRUE; case 175: /* Tästä ei saada viestiä! */ MessageBox(hWnd,"Terve!","Painoit ikonia!", MB_APPLMODAL | MB_OK | MB_ICONEXCLAMATION); default: return FALSE; } }