LeftView.cpp

C:\home\SVGCats_src\src\LeftView.cpp

[関数 | マクロ]

関数一覧

マクロ一覧


   1|// LeftView.cpp : CLeftView クラスの動作の定義を行います。 
   2|//
   3|
   4|#include "mixer_precomp.h"
   5|
   6|#ifdef  USES_MXP_AUTOINC
   7| #include  "SVGCat.ah"
   8|#endif
   9|
  10|#ifdef _DEBUG
  11|#define new DEBUG_NEW
  12|#undef THIS_FILE
  13|static char THIS_FILE[] = __FILE__;
  14|#endif
  15|
  16|/////////////////////////////////////////////////////////////////////////////
  17|// CLeftView
  18|
  19|IMPLEMENT_DYNCREATE(CLeftView, CTreeView)
  20|
  21|BEGIN_MESSAGE_MAP(CLeftView, CTreeView)
  22|	//{{AFX_MSG_MAP(CLeftView)
  23|		// メモ - ClassWizard はこの位置にマッピング用のマクロを追加または削除します。
  24|		//        この位置に生成されるコードを編集しないでください。
  25|	//}}AFX_MSG_MAP
  26|	// 標準印刷コマンド
  27|	ON_COMMAND(ID_FILE_PRINT, CTreeView::OnFilePrint)
  28|	ON_COMMAND(ID_FILE_PRINT_DIRECT, CTreeView::OnFilePrint)
  29|	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CTreeView::OnFilePrintPreview)
  30|	ON_NOTIFY_REFLECT(TVN_SELCHANGED, OnSelchanged)
  31|	ON_NOTIFY_REFLECT(TVN_BEGINDRAG, OnBegindlag)
  32|	ON_WM_LBUTTONDOWN()
  33|	ON_WM_MOUSEMOVE()
  34|	ON_WM_LBUTTONUP()
  35|	ON_WM_LBUTTONDBLCLK()
  36|//	ON_WM_RBUTTONDOWN()
  37|//	ON_WM_RBUTTONUP()
  38|	ON_WM_MOUSEWHEEL()
  39|  ON_NOTIFY_REFLECT( NM_RCLICK, OnRClick )
  40|END_MESSAGE_MAP()
  41|
  42|/////////////////////////////////////////////////////////////////////////////
  43|// CLeftView クラスの構築/消滅
  44|
  45|CLeftView::CLeftView()
  46|{
  47|	// TODO: この場所に構築用のコードを追加してください。
  48|    m_bDlag = false;
  49|	m_Editing = false;
  50|}
  51|
  52|CLeftView::~CLeftView()
  53|{
  54|}
  55|
  56|BOOL CLeftView::PreCreateWindow(CREATESTRUCT& cs)
  57|{
  58|	// TODO: この位置で CREATESTRUCT cs を修正して Window クラスまたはスタイルを
  59|	//  修正してください。
  60|
  61|	return CTreeView::PreCreateWindow(cs);
  62|}
  63|
  64|/////////////////////////////////////////////////////////////////////////////
  65|// CLeftView クラスの描画
  66|
  67|void CLeftView::OnDraw(CDC* pDC)
  68|{
  69|//	CTreevDoc* pDoc = GetDocument();
  70|//	ASSERT_VALID(pDoc);
  71|
  72|	// TODO: この場所にネイティブ データ用の描画コードを追加します。
  73|}
  74|
  75|
  76|/////////////////////////////////////////////////////////////////////////////
  77|// CLeftView クラスの印刷
  78|
  79|BOOL CLeftView::OnPreparePrinting(CPrintInfo* pInfo)
  80|{
  81|	// デフォルトの印刷準備
  82|	return DoPreparePrinting(pInfo);
  83|}
  84|
  85|void CLeftView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
  86|{
  87|	// TODO: 印刷前の特別な初期化処理を追加してください。
  88|}
  89|
  90|void CLeftView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
  91|{
  92|	// TODO: 印刷後の後処理を追加してください。
  93|}
  94|
  95|void CLeftView::OnInitialUpdate()
  96|{
  97|	CTreeView::OnInitialUpdate();
  98|
  99|	// TODO:  GetTreeCtrl() メンバ関数の呼び出しを通して直接そのリスト コントロールに
 100|	//  アクセスすることによって TreeView をアイテムで固定できます。
 101|}
 102|
 103|/////////////////////////////////////////////////////////////////////////////
 104|// CLeftView クラスの診断
 105|
 106|#ifdef _DEBUG
 107|void CLeftView::AssertValid() const
 108|{
 109|	CTreeView::AssertValid();
 110|}
 111|
 112|void CLeftView::Dump(CDumpContext& dc) const
 113|{
 114|	CTreeView::Dump(dc);
 115|}
 116|
 117|CTreevDoc* CLeftView::GetDocument() // 非デバッグ バージョンはインラインです。
 118|{
 119|//	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CTreevDoc)));
 120|	return NULL;  //(CTreevDoc*)m_pDocument;
 121|}
 122|#endif //_DEBUG
 123|
 124|/////////////////////////////////////////////////////////////////////////////
 125|// CLeftView クラスのメッセージ ハンドラ
 126|
 127|void  CLeftView::OnSelchanged( NMHDR* pNotifyStruct, LRESULT* result )
 128|{
 129|  CMainFrame*  frame = (CMainFrame*)GetParent()->GetParent();
 130|
 131|  frame->OnTreeSelchanged();  *result = 0;
 132|}
 133|
 134|void CLeftView::OnLButtonDown(UINT nFlags, CPoint point)
 135|{
 136|  CMainFrame*  frame = (CMainFrame*)GetParent()->GetParent();
 137|
 138|  frame->OnTreeLButtonDown(nFlags, point);
 139|  CTreeView::OnLButtonDown(nFlags, point);
 140|}
 141|
 142|
 143|void  CLeftView::OnBegindlag( NMHDR* pNotifyStruct, LRESULT* result )
 144|{
 145|  CMainFrame*  frame = (CMainFrame*)GetParent()->GetParent();
 146|  NM_TREEVIEW* tree = (NM_TREEVIEW*)pNotifyStruct;
 147|
 148|  m_bDlag = true;
 149|  frame->OnTreeBeginDrag( tree->ptDrag );  *result = 0;
 150|}
 151|
 152|void CLeftView::OnMouseMove(UINT nFlags, CPoint point)
 153|{
 154|  if ( m_bDlag ) {
 155|    CMainFrame*  frame = (CMainFrame*)GetParent()->GetParent();
 156|
 157|    frame->OnTreeDragMove(nFlags, point);
 158|  }
 159|  CTreeView::OnMouseMove(nFlags, point);
 160|}
 161|
 162|void CLeftView::OnLButtonUp(UINT nFlags, CPoint point)
 163|{ /* クリックではここに来ないが、ドラッグでは来る(参考:OnRClick) */
 164|  CMainFrame*  frame = (CMainFrame*)GetParent()->GetParent();
 165|
 166|  CTreeView::OnLButtonUp(nFlags, point);
 167|
 168|  if ( m_bDlag ) {
 169|    frame->OnTreeEndDrag(nFlags, point);
 170|    m_bDlag = false;
 171|  }
 172|  frame->OnTreeLButtonUp(nFlags, point);
 173|}
 174|
 175|
 176|void CLeftView::OnLButtonDblClk( UINT, CPoint )
 177|{
 178|  CMainFrame*  frame = (CMainFrame*)GetParent()->GetParent();
 179|
 180|  frame->EditTitle();
 181|}
 182|
 183|#if 0
 184|void CLeftView::OnRButtonDown(UINT nFlags, CPoint point)
 185|{
 186|  CMainFrame*  frame = (CMainFrame*)GetParent()->GetParent();
 187|
 188|  CTreeView::OnRButtonDown(nFlags, point);
 189|}
 190|
 191|
 192|void CLeftView::OnRButtonUp(UINT nFlags, CPoint point)
 193|{ /* クリックではここに来ないが、ドラッグやダブルクリックでは来る */
 194|  CMainFrame*  frame = (CMainFrame*)GetParent()->GetParent();
 195|
 196|  CTreeView::OnRButtonUp(nFlags, point);
 197|}
 198|#endif
 199|
 200|void CLeftView::OnRClick(NMHDR* pNMHDR, LRESULT* result)
 201|{ /* クリックでここに来る */
 202|  CMainFrame*  frame = (CMainFrame*)GetParent()->GetParent();
 203|
 204|  frame->OnTreeRClick();  *result = 0;
 205|}
 206|
 207|
 208|BOOL CLeftView::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
 209|{
 210|  CMainFrame*  frame = (CMainFrame*)GetParent()->GetParent();
 211|  RECT  rc;
 212|
 213|  GetClientRect( &rc );  ClientToScreen( &rc );
 214|
 215|  if ( rc.left <= pt.x && pt.x <= rc.right && rc.top <= pt.y && pt.y <= rc.bottom )
 216|    return  CTreeView::OnMouseWheel(nFlags, zDelta, pt);
 217|  else
 218|  	{ frame->m_wndView->OnMouseWheel(nFlags, zDelta, pt);  return  TRUE; }
 219|}
 220|
 221| 
 222|