Exemple #1
0
/*!
	選択されてるバイト数をステータスバーに表示
*/
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;
}