//****************************************************************************** // MIDIシーケンサーソフト『世界樹』 // 世界樹ステータスバークラス // (C)2002-2013 おーぷんMIDIぷろじぇくと/くず //****************************************************************************** /* This library is free software; you can redistribute it and/or */ /* modify it under the terms of the GNU Lesser General Public */ /* License as published by the Free Software Foundation; either */ /* version 2.1 of the License, or (at your option) any later version. */ /* This library is distributed in the hope that it will be useful, */ /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */ /* Lesser General Public License for more details. */ /* You should have received a copy of the GNU Lesser General Public */ /* License along with this library; if not, write to the Free Software */ /* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "winver.h" #include #include #include #include #include "../../MIDIIO/MIDIIO.h" #include "../../MIDIData/MIDIData.h" #include "../../MIDIClock/MIDIClock.h" #include "../../MIDIStatus/MIDIStatus.h" #include "../../MIDIInstrument/MIDIInstrument.h" #include "Resource.h" #include "HistoryRecord.h" #include "HistoryUnit.h" #include "SekaijuApp.h" #include "SekaijuToolBar.h" #include "SekaijuStatusBar.h" #include "MainFrame.h" #include "SekaijuDoc.h" // デバッグ用 #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif IMPLEMENT_DYNAMIC (CSekaijuStatusBar, CStatusBar) // メッセージマップ BEGIN_MESSAGE_MAP (CSekaijuStatusBar, CStatusBar) ON_WM_LBUTTONDBLCLK () END_MESSAGE_MAP () //------------------------------------------------------------------------------ // 構築と破壊 //------------------------------------------------------------------------------ // コンストラクタ CSekaijuStatusBar::CSekaijuStatusBar () { } // デストラクタ CSekaijuStatusBar::~CSekaijuStatusBar () { } //------------------------------------------------------------------------------ // オーバーライド //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // メッセージマップ //------------------------------------------------------------------------------ void CSekaijuStatusBar::OnLButtonDblClk (UINT nFlags, CPoint point) { CDC* pDC = GetDC (); CRect rcItem; CSekaijuApp* pSekaijuApp = (CSekaijuApp*)AfxGetApp (); CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd (); long i = 0; for (i = 0; i < 6; i++) { GetItemRect (i, &rcItem); if (rcItem.PtInRect (point)) { break; } } switch (i) { case 0: break; case 1: // フォーマット case 2: // トラック数 case 3: // タイムベース pMainFrame->PostMessage (WM_COMMAND, ID_FILE_PROPERTY); break; case 4: // 入力ベロシティゲージ pSekaijuApp->m_theCurrentPage.m_lMIDIDevice = 0; pMainFrame->PostMessage (WM_COMMAND, ID_SETUP_MIDIDEVICE); break; case 5: // 出力ベロシティゲージ pSekaijuApp->m_theCurrentPage.m_lMIDIDevice = 1; pMainFrame->PostMessage (WM_COMMAND, ID_SETUP_MIDIDEVICE); break; } }