/*! 選択されてるバイト数をステータスバーに表示 */ VOID DocSelectedByteStatus( VOID ) { TCHAR atBuffer[MIN_STRING]; if( gdSelByte ) { StringCchPrintf( atBuffer, MIN_STRING, TEXT("SEL %d Bytes"), gdSelByte ); MainStatusBarSetText( SB_SELBYTE, atBuffer ); } else { MainStatusBarSetText( SB_SELBYTE, TEXT("") ); } return; }
/*! 変更したか @param[in] dMode 非0変更した 0保存したから変更はなかったことに @return HRESULT 終了状態コード */ HRESULT DocModifyContent( UINT dMode ) { if( dMode ) { if( (*gitFileIt).dModify ) return S_FALSE; // 変更のとき、已に変更の処理してたら何もしなくて良い MainStatusBarSetText( SB_MODIFY, MODIFY_MSG ); } else { MainStatusBarSetText( SB_MODIFY, TEXT("") ); } DocMultiFileModify( dMode ); (*gitFileIt).dModify = dMode; // ここで記録しておく return S_OK; }
/*! ウインドウを閉じるときに発生。デバイスコンテキストとか確保した画面構造のメモリとかも終了。 @param[in] hWnd 親ウインドウのハンドル @return 無し */ VOID Vrt_OnDestroy( HWND hWnd ) { MainStatusBarSetText( SB_LAYER, TEXT("") ); if( ghVertViewWnd ) { DestroyWindow( ghVertViewWnd ); } ghVertWnd = NULL; return; }
/*! 動かされているときに発生・マウスでウインドウドラッグ中とか @param[in] hWnd ウインドウハンドル @param[in] pstPos その瞬間のスクリーン座標 */ VOID Vvw_OnMoving( HWND hWnd, LPRECT pstPos ) { LONG xEt, yEt, xLy, yLy, xSb, ySb; LONG dLine, dRema; BOOLEAN bMinus = FALSE; TCHAR atBuffer[SUB_STRING]; // フレーム窓の左上スクリーン座標 xLy = pstPos->left + gstFrmSz.x; yLy = pstPos->top + gstFrmSz.y; // ビューの左上テキストエリア位置 xEt = (gstViewOrigin.x + LINENUM_WID); yEt = (gstViewOrigin.y + RULER_AREA); // TRACE( TEXT("%d x %d"), xEt, yEt ); // オフセット量 xSb = xLy - xEt; // Xはそのままドット数 ySb = yLy - yEt; // Yもドットなので行数にしないといけない if( 0 > ySb ) { ySb *= -1; // マイナス補正 bMinus = TRUE; } // 行数的なモノを求めるってばよ dLine = ySb / LINE_HEIGHT; dRema = ySb % LINE_HEIGHT; if( (LINE_HEIGHT/2) < dRema ) { dLine++; } if( bMinus ) { dLine *= -1; } else { dLine++; } // 20110704 ここでは、まだ位置はスクロールのズレが考慮されてない xSb += gdHideXdot; dLine += gdViewTopLine; StringCchPrintf( atBuffer, SUB_STRING, TEXT("VLINE %d[dot] %d[line]"), xSb, dLine ); MainStatusBarSetText( SB_LAYER, atBuffer ); return; }