LRESULT APIENTRY MainWndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) { int i; PAINTSTRUCT ps; switch( message ){ case WM_CREATE: InitCommonControls(); break; case WM_MOUSEWHEEL: sysInf.zDelta = (short) HIWORD(wParam); break; case WM_DESTROY: case WM_QUIT: case WM_CLOSE: #ifdef _MASTER if(IDYES==MessageBox(sysInf.hWnd,"鎖−クサリ− を終了します。よろしいですか?","終了確認",MB_YESNO)){ sysInf.bGameEnd = on; } #else sysInf.bGameEnd = on; #endif return 0; case WM_ACTIVATE: for(i=0;i<g_iDIDeviceNum;i++){ if(LOWORD(wParam) == WA_INACTIVE){ g_pDIDevice[i]->Unacquire(); }else{ g_pDIDevice[i]->Acquire(); g_pDIDevice[i]->Poll(); } } sysInf.bIsActive = LOWORD(wParam) ? TRUE : FALSE; if(sysInf.bIsActive)myOutputDebugString("ActivateHandle: Active\n"); else myOutputDebugString("ActivateHandle: Non Active\n"); if(sysInf.bIsActive)clearPadState(); break; case WM_KEYDOWN: #ifndef _MASTER switch(wParam){ case (VK_F2): sysInf.bInfo = !sysInf.bInfo; if(!sysInf.bInfo && sysInf.hDebugWnd){ SendMessage(sysInf.hDebugWnd,WM_CLOSE,0,0); }else if(sysInf.bInfo && NULL==sysInf.hDebugWnd){ sysInf.hDebugWnd = CreateDialog( sysInf.hInstance, MAKEINTRESOURCE(IDD_DEBUGWND), sysInf.hWnd, (DLGPROC)DebugDlgProc); } break; } #endif break; case WM_COMMAND: switch( LOWORD(wParam) ){ case ID_END: sysInf.bGameEnd = on; return 0; case ID_MYAPP_EXIT: #ifdef _MASTER if(IDYES==MessageBox(sysInf.hWnd,"鎖−クサリ− を終了します。よろしいですか?","終了確認",MB_YESNO)){ sysInf.bGameEnd = on; } #else sysInf.bGameEnd = on; #endif return 0; case ID_DISPCHANGE: if(0==sysInf.full_screen){ if(CheckOSw2k()){ SendMessage(hWnd,WM_COMMAND,ID_SUBMENU,0); }else{ SendMessage(hWnd,WM_COMMAND,ID_DISPFULL,0); } }else{ SendMessage(hWnd,WM_COMMAND,ID_DISPWINDOW,0); } break; case ID_DISPFULL: if(lpMovie) return 0; ScreenChange(1,0); EnableMenuItem( sysInf.hMenu,ID_DISPFULL, MF_GRAYED ); CheckMenuItem( sysInf.hMenu, ID_DISPFULL, MF_CHECKED ); EnableMenuItem( sysInf.hMenu,ID_DISPWINDOW, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_UNCHECKED ); break; case ID_DISPWINDOW: if(lpMovie) return 0; ScreenChange(0,0); if(CheckOSw2k()){ for(i=0;i<DispFreqMax;i++){ EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i, MF_UNCHECKED ); } }else{ EnableMenuItem( sysInf.hMenu, ID_DISPFULL, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_DISPFULL, MF_UNCHECKED ); } EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_GRAYED ); CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_CHECKED ); break; case ID_SUBMENU: case ID_SUBMENU+1: case ID_SUBMENU+2: case ID_SUBMENU+3: case ID_SUBMENU+4: case ID_SUBMENU+5: case ID_SUBMENU+6: case ID_SUBMENU+7: if(lpMovie) return 0; ScreenChange( wParam-ID_SUBMENU+1 ,TRUE); for(i=0;i<DispFreqMax;i++){ EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i, MF_UNCHECKED ); } EnableMenuItem( sysInf.hMenu, LOWORD(wParam), MF_GRAYED ); CheckMenuItem( sysInf.hMenu, LOWORD(wParam), MF_CHECKED ); EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_UNCHECKED ); break; case ID_AUTOREAD: msgWnd.toggleAutoRead(); break; case ID_READSKIP: msgWnd.toggleMessageSkip(); break; case ID_UPDATE: ShellExecute( sysInf.hWnd, NULL, "http://leaf.aquaplus.co.jp", NULL, NULL, SW_SHOWNORMAL ); break; case ID_VER: DialogBox( sysInf.hInstance, MAKEINTRESOURCE(IDD_ABOUTDIALOG), sysInf.hWnd, AboutDialogBoxProc ); break; case ID_SYSTEMINFO: DialogBox( sysInf.hInstance, MAKEINTRESOURCE(IDD_INFODIALOG), sysInf.hWnd, InfoDialogBoxProc ); break; case ID_CONFIG: if(NULL==optionWnd) optionWnd = new OptionMode; break; #ifndef _MASTER case ID_FLAGEDIT: DialogBox( sysInf.hInstance, MAKEINTRESOURCE(IDD_FLAGEDIT), sysInf.hWnd, FlagDialogBoxProc ); break; #endif case ID_LOADEXEC: if(ESC_GetFlag(_セーブロード無効))break; switch(sysInf.execMode){ case event_exec_mode: case select_exec_mode: case opening_mode: if(NULL==EXEC_LangBuf){ EXEC_LangBuf = (char *)&LangData.LangBuf; EXEC_LangInfo = &LangData; } if(NULL==saveWnd)saveWnd = new SaveWnd(load_mode); break; } break; case ID_SAVEEXEC: if(ESC_GetFlag(_セーブロード無効))break; if(NULL==EXEC_LangBuf)break; switch(sysInf.execMode){ case event_exec_mode: case select_exec_mode: if(NULL==saveWnd)saveWnd = new SaveWnd(save_mode); break; } break; case ID_BACKTITLE: ReturnTitile(TRUE); break; case ID_BACKSELECT: SAV_Load( 98 ); break; case ID_MOVIEHI: sysInf.movieQuality = 2; CheckMenuItem( sysInf.hMenu, ID_MOVIEHI, MF_CHECKED ); CheckMenuItem( sysInf.hMenu, ID_MOVIEMID, MF_UNCHECKED ); CheckMenuItem( sysInf.hMenu, ID_MOVIELOW, MF_UNCHECKED ); break; case ID_MOVIEMID: sysInf.movieQuality = 1; CheckMenuItem( sysInf.hMenu, ID_MOVIEHI, MF_UNCHECKED ); CheckMenuItem( sysInf.hMenu, ID_MOVIEMID, MF_CHECKED ); CheckMenuItem( sysInf.hMenu, ID_MOVIELOW, MF_UNCHECKED ); break; case ID_MOVIELOW: sysInf.movieQuality = 0; CheckMenuItem( sysInf.hMenu, ID_MOVIEHI, MF_UNCHECKED ); CheckMenuItem( sysInf.hMenu, ID_MOVIEMID, MF_UNCHECKED ); CheckMenuItem( sysInf.hMenu, ID_MOVIELOW, MF_CHECKED ); break; case ID_NOUSEOVERLAY: sysInf.nouseOverlay = !sysInf.nouseOverlay; if(sysInf.nouseOverlay){ CheckMenuItem( sysInf.hMenu, ID_NOUSEOVERLAY, MF_CHECKED ); }else{ CheckMenuItem( sysInf.hMenu, ID_NOUSEOVERLAY, MF_UNCHECKED ); } break; case ID_FPS60: sysInf.setFPS = 2; CheckMenuItem( sysInf.hMenu, ID_FPS60, MF_CHECKED ); CheckMenuItem( sysInf.hMenu, ID_FPS30, MF_UNCHECKED ); CheckMenuItem( sysInf.hMenu, ID_FPS20, MF_UNCHECKED ); break; case ID_FPS30: sysInf.setFPS = 1; CheckMenuItem( sysInf.hMenu, ID_FPS60, MF_UNCHECKED ); CheckMenuItem( sysInf.hMenu, ID_FPS30, MF_CHECKED ); CheckMenuItem( sysInf.hMenu, ID_FPS20, MF_UNCHECKED ); break; case ID_FPS20: sysInf.setFPS = 0; CheckMenuItem( sysInf.hMenu, ID_FPS60, MF_UNCHECKED ); CheckMenuItem( sysInf.hMenu, ID_FPS30, MF_UNCHECKED ); CheckMenuItem( sysInf.hMenu, ID_FPS20, MF_CHECKED ); break; } break; case WM_SYSCOMMAND: if(sysInf.full_screen){ switch (wParam) { case SC_KEYMENU : return 0; } }else{ switch(wParam & 0xfff0){ case SC_MAXIMIZE: if(lpMovie) return 0; ScreenChange(1,0); EnableMenuItem( sysInf.hMenu,ID_DISPFULL, MF_GRAYED ); CheckMenuItem( sysInf.hMenu, ID_DISPFULL, MF_CHECKED ); EnableMenuItem( sysInf.hMenu,ID_DISPWINDOW, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_UNCHECKED ); return 0; } } break; case WM_DISPLAYCHANGE: if(!sysInf.bDisplayChange)break; SetTimer(sysInf.hWnd, 1, 500, NULL); break; case WM_TIMER: if(!sysInf.bDisplayChange || 1!=wParam)break; KillTimer(sysInf.hWnd, wParam); if(0==sysInf.full_screen){ MoveWindow(sysInf.hWnd, (GetSystemMetrics(SM_CXSCREEN)-sysInf.ScreenW)/2,(GetSystemMetrics(SM_CYSCREEN)-sysInf.ScreenH)/2, sysInf.ScreenW +GetSystemMetrics(SM_CXDLGFRAME)*2, sysInf.ScreenH +GetSystemMetrics(SM_CYDLGFRAME)*2 +GetSystemMetrics(SM_CYBORDER)+GetSystemMetrics(SM_CYSIZE) +GetSystemMetrics(SM_CYMENU), TRUE); }else{ MoveWindow(sysInf.hWnd, 0, 0, sysInf.ScreenW, sysInf.ScreenH, TRUE); if(NULL==sysInf.hMenuWnd){ sysInf.hMenuWnd = CreateWindow(className,"menuWnd",WS_POPUP, 0,0, WIN_SIZEX,GetSystemMetrics(SM_CYMENUSIZE),sysInf.hWnd,sysInf.hMenu,sysInf.hInstance,NULL); } } sysInf.bDisplayChange = FALSE; break; case WM_PAINT: if(lpMovie){ myOutputDebugString("movie WM_PAINT\n"); if(lpMovie->forccNum<3){ BeginPaint( sysInf.hWnd, &ps ); EndPaint( sysInf.hWnd, &ps ); } }else{ BeginPaint( sysInf.hWnd, &ps ); BitBlt( ps.hdc, 0, 0, WIN_SIZEX, WIN_SIZEY, g_DibInf.memDC, 0, 0, SRCCOPY ); EndPaint( sysInf.hWnd, &ps ); } break; case WM_SETCURSOR: default: break; } return DefWindowProc(hWnd, message, wParam, lParam); } // MainWndProc
BOOL StaffmodeWnd::Exec() { int i,loadTex,nextStaff; BOOL bPush = FALSE; POINT icPt; if(staffmode_mode!=sysInf.execMode)return FALSE; switch(state){ case 0: case 6: time = bgInf.look_cnt-timeGetTime(); baseWnd.alpha = float(bgInf.look_max-time)/bgInf.look_max; if(time<=0){ baseWnd.alpha = 1.0f; bgInf.look_cnt = 0; state ++; } if(1==state)baseWnd.loadLGF(pack_gparts,"staffBase"); if(7==state)changeExecMode( event_exec_mode ); panel[0].alpha = panel[1].alpha = button.alpha = logo.alpha = baseWnd.alpha; return TRUE; case 1: if(keyState.push_cancel || keyState.push_down){ PlayEffectNum(evtHandle[1],CancelSnd); baseWnd.loadLGF(pack_eventcg,"s20100"); bgInf.colorBuf.loadLGF(pack_eventcg,"s20100",Type_back); backColorBuf.BltFast(40, 30, &bgInf.colorBuf, NULL, FALSE); saveInf.btRect.left = saveInf.btRect.top = 0; saveInf.btRect.right = 800; saveInf.btRect.bottom = 600; saveInf.btPoint.x = 40; saveInf.btPoint.y = 30; state = 6; bgInf.look_max = 900; bgInf.look_cnt = timeGetTime() +bgInf.look_max; panel[0].alpha = panel[1].alpha = button.alpha = logo.alpha = baseWnd.alpha = 0; }else if(keyState.push_left){ bTurn = 1; }else if(keyState.push_right){ bTurn = 2; }else if(keyState.push_up){ bTurn = 3; } for(i=0;i<3;i++){ if(btn[i].CheckState(&sysInf.msPoint)){ bTurn = i+1; } } if(bTurn==1){ selectNum --; if(selectNum < 0) selectNum = 43; nextStaff = selectNum -1; if(nextStaff < 0)nextStaff += 44; frontNum --; if(frontNum < 0)frontNum = 3; loadTex = frontNum -1; if(loadTex < 0) loadTex = 3; wsprintf(str,"stt%03d",nextStaff); panel[loadTex].loadLGF(pack_eventcg,str); src[loadTex].buf = (BYTE *)panel[loadTex].pBuf; src[loadTex].pal = (RGB32 *)panel[loadTex].palColor; state = 2; writeName(); PlayEffectNum(evtHandle[1],CurMoveSnd); }else if(bTurn==2){ selectNum ++; if(selectNum > 43) selectNum = 0; nextStaff = selectNum+1; if(nextStaff > 43)nextStaff -= 44; frontNum ++; if(frontNum > 3)frontNum = 0; loadTex = frontNum +1; if(loadTex > 3) loadTex = 0; wsprintf(str,"stt%03d",nextStaff); panel[loadTex].loadLGF(pack_eventcg,str); src[loadTex].buf = (BYTE *)panel[loadTex].pBuf; src[loadTex].pal = (RGB32 *)panel[loadTex].palColor; state = 2; writeName(); PlayEffectNum(evtHandle[1],CurMoveSnd); }else if(bTurn==3){ state = 2; moveStep = 0; PlayEffectNum(evtHandle[1],SelectSnd); } break; case 2: if(3==bTurn){ moveStep ++; button.alpha = logo.alpha = float(19-moveStep)/19; if(moveStep==19){ bTurn = 0; wsprintf(str,"st%03d",selectNum); baseWnd.loadLGF(pack_eventcg,str); clearPadState(); state = 3; } break; } if(1==bTurn){ deg += 5; if(deg >= 360) deg -= 360; }else if(2==bTurn){ deg -= 5; if(deg < 0)deg += 360; } if(deg % 90 == 0){ bTurn = 0; state = 1; } break; case 3: if(keyState.push_action || keyState.push_down || keyState.push_cancel){ PlayEffectNum(evtHandle[1],CancelSnd); baseWnd.loadLGF(pack_gparts,"staffBase"); bTurn = 3; moveStep = 18; state = 4; } break; case 4: moveStep --; button.alpha = logo.alpha = float(19-moveStep)/19; if(moveStep==0){ bTurn = 0; state = 1; } break; } return TRUE; } // StaffmodeWnd::Exec
LRESULT APIENTRY MainWndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) { int i; PAINTSTRUCT ps; switch( message ){ case WM_CREATE: InitCommonControls(); break; case WM_MOUSEWHEEL: sysInf.zDelta = (short) HIWORD(wParam); break; case WM_DESTROY: case WM_QUIT: case WM_CLOSE: if(IDYES==MessageBox(sysInf.hWnd,"アルルゥとあそぼ!!を終了してよろしいですか?","終了確認",MB_YESNO)){ sysInf.bGameEnd = on; } return 0; case WM_ACTIVATE: for(i=0;i<g_iDIDeviceNum;i++){ if(LOWORD(wParam) == WA_INACTIVE){ g_pDIDevice[i]->Unacquire(); }else{ g_pDIDevice[i]->Acquire(); g_pDIDevice[i]->Poll(); } } sysInf.bIsActive = LOWORD(wParam) ? TRUE : FALSE; myOutputDebugString("ActivateHandle: "); if(sysInf.bIsActive)myOutputDebugString("Active\n"); else myOutputDebugString("Non Active\n"); if(sysInf.bIsActive)clearPadState(); break; case WM_COMMAND: switch( LOWORD(wParam) ){ case ID_MYAPP_EXIT: if(IDYES==MessageBox(sysInf.hWnd,"アルルゥとあそぼ!!を終了してよろしいですか?","終了確認",MB_YESNO)){ sysInf.bGameEnd = on; } return 0; case ID_DISPCHANGE: if(lpMovie) lpMovie->StopMovie(); if(0==sysInf.full_screen){ if(CheckOSw2k()){ ScreenChange( 1 ,TRUE); for(i=0;i<DispFreqMax;i++){ EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i, MF_UNCHECKED ); } EnableMenuItem( sysInf.hMenu, ID_SUBMENU, MF_GRAYED ); CheckMenuItem( sysInf.hMenu, ID_SUBMENU, MF_CHECKED ); EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_UNCHECKED ); }else{ ScreenChange(1,0); EnableMenuItem( sysInf.hMenu,ID_DISPFULL, MF_GRAYED ); CheckMenuItem( sysInf.hMenu, ID_DISPFULL, MF_CHECKED ); EnableMenuItem( sysInf.hMenu,ID_DISPWINDOW, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_UNCHECKED ); } }else{ ScreenChange(0,0); if(CheckOSw2k()){ for(i=0;i<DispFreqMax;i++){ EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i, MF_UNCHECKED ); } }else{ EnableMenuItem( sysInf.hMenu, ID_DISPFULL, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_DISPFULL, MF_UNCHECKED ); } EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_GRAYED ); CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_CHECKED ); } break; case ID_DISPFULL: if(lpMovie) lpMovie->StopMovie(); ScreenChange(1,0); EnableMenuItem( sysInf.hMenu,ID_DISPFULL, MF_GRAYED ); CheckMenuItem( sysInf.hMenu, ID_DISPFULL, MF_CHECKED ); EnableMenuItem( sysInf.hMenu,ID_DISPWINDOW, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_UNCHECKED ); break; case ID_DISPWINDOW: if(lpMovie) lpMovie->StopMovie(); ScreenChange(0,0); if(CheckOSw2k()){ for(i=0;i<DispFreqMax;i++){ EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i, MF_UNCHECKED ); } }else{ EnableMenuItem( sysInf.hMenu, ID_DISPFULL, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_DISPFULL, MF_UNCHECKED ); } EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_GRAYED ); CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_CHECKED ); break; case ID_SUBMENU: case ID_SUBMENU+1: case ID_SUBMENU+2: case ID_SUBMENU+3: case ID_SUBMENU+4: case ID_SUBMENU+5: case ID_SUBMENU+6: case ID_SUBMENU+7: if(lpMovie) lpMovie->StopMovie(); ScreenChange( wParam-ID_SUBMENU+1 ,TRUE); for(i=0;i<DispFreqMax;i++){ EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i, MF_UNCHECKED ); } EnableMenuItem( sysInf.hMenu, LOWORD(wParam), MF_GRAYED ); CheckMenuItem( sysInf.hMenu, LOWORD(wParam), MF_CHECKED ); EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_ENABLED ); CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_UNCHECKED ); break; case ID_AUTOREAD: sysInf.bAutoRead = !sysInf.bAutoRead; if(sysInf.bAutoRead){ CheckMenuItem( sysInf.hMenu, ID_AUTOREAD, MF_CHECKED ); }else{ CheckMenuItem( sysInf.hMenu, ID_AUTOREAD, MF_UNCHECKED ); } break; case ID_READSKIP: sysInf.bReadSkip = !sysInf.bReadSkip; if(sysInf.bReadSkip){ CheckMenuItem( sysInf.hMenu, ID_READSKIP, MF_CHECKED ); sysInf.bAlreadyRead = AVG_CheckScenarioFlag(); }else{ CheckMenuItem( sysInf.hMenu, ID_READSKIP, MF_UNCHECKED ); } break; case ID_UPDATE: ShellExecute( sysInf.hWnd, NULL, "http://leaf.aquaplus.co.jp", NULL, NULL, SW_SHOWNORMAL ); break; case ID_VER: DialogBox( sysInf.hInstance, MAKEINTRESOURCE(IDD_ABOUTDIALOG), sysInf.hWnd, AboutDialogBoxProc ); break; case ID_CONFIG: DialogBox( sysInf.hInstance, MAKEINTRESOURCE(IDD_CONFIGDIALOG), sysInf.hWnd, ConfDialogBoxProc ); break; case ID_LOADEXEC: if(lpMovie)break; if(NULL==EXEC_LangBuf){ EXEC_LangBuf = (char *)&LangData.LangBuf; EXEC_LangInfo = &LangData; } if(NULL==saveWnd)saveWnd = new SaveWnd(load_mode); break; case ID_SAVEEXEC: if(lpMovie || NULL==EXEC_LangBuf)break; if(NULL==saveWnd)saveWnd = new SaveWnd(save_mode); break; case ID_BACKTITLE: selectWnd.selectEnd(); ESC_InitEOprFlag(); lpSoundDS->ChangeMusic(bgmHandle,pack_bgmfile,2,FALSE,0); my_delete(lpMenuWnd); my_delete(lpKabeSetWnd); my_delete(lpStaffmodeWnd); my_delete(lpStaffRoll); my_delete(lpMovie); lpMovie = new CMovie; lpMovie->OpenMovie("title.avi",-1,TRUE); break; } break; case WM_SYSCOMMAND: if(sysInf.full_screen){ switch (wParam) { case SC_KEYMENU : return 0; } } break; case WM_DISPLAYCHANGE: if(!sysInf.bDisplayChange)break; SetTimer(sysInf.hWnd,1,500,NULL); break; case WM_TIMER: if(!sysInf.bDisplayChange || 1!=wParam)break; KillTimer(sysInf.hWnd,1); if(0==sysInf.full_screen){ MoveWindow(sysInf.hWnd, (GetSystemMetrics(SM_CXSCREEN)-sysInf.ScreenW)/2,(GetSystemMetrics(SM_CYSCREEN)-sysInf.ScreenH)/2, sysInf.ScreenW +GetSystemMetrics(SM_CXDLGFRAME)*2, sysInf.ScreenH +GetSystemMetrics(SM_CYDLGFRAME)*2 +GetSystemMetrics(SM_CYBORDER)+GetSystemMetrics(SM_CYSIZE) +GetSystemMetrics(SM_CYMENU), TRUE); }else{ MoveWindow(sysInf.hWnd, 0, 0, sysInf.ScreenW, sysInf.ScreenH, TRUE); if(NULL==sysInf.hMenuWnd){ sysInf.hMenuWnd = CreateWindow(className,"menuWnd",WS_POPUP, 0,0, WIN_SIZEX,GetSystemMetrics(SM_CYMENUSIZE),sysInf.hWnd,sysInf.hMenu,sysInf.hInstance,NULL); } } sysInf.bDisplayChange = FALSE; break; case WM_PAINT: if(lpMovie)break; BeginPaint( sysInf.hWnd, &ps ); BitBlt( ps.hdc, 0, 0, WIN_SIZEX, WIN_SIZEY, g_DibInf.memDC, 0, 0, SRCCOPY ); EndPaint( sysInf.hWnd, &ps ); break; case WM_SETCURSOR: default: break; } return DefWindowProc(hWnd, message, wParam, lParam); } // MainWndProc