forked from kuran-kuran/MZDiskExplorer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
LeftView.cpp
136 lines (109 loc) · 3.49 KB
/
LeftView.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
// LeftView.cpp : CLeftView クラスの動作の定義を行います。
//
#include "stdafx.h"
#include "MZDiskExplorer.h"
#include "MZDiskExplorerDoc.h"
#include "LeftView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CLeftView
IMPLEMENT_DYNCREATE(CLeftView, CTreeView)
BEGIN_MESSAGE_MAP(CLeftView, CTreeView)
//{{AFX_MSG_MAP(CLeftView)
ON_NOTIFY_REFLECT(TVN_SELCHANGED, OnSelchanged)
//}}AFX_MSG_MAP
// 標準印刷コマンド
ON_COMMAND(ID_FILE_PRINT, CTreeView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CTreeView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CTreeView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CLeftView クラスの構築/消滅
CLeftView::CLeftView()
{
// TODO: この場所に構築用のコードを追加してください。
}
CLeftView::~CLeftView()
{
}
BOOL CLeftView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: この位置で CREATESTRUCT cs を修正して Window クラスまたはスタイルを
// 修正してください。
cs.style |= ( TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS ); // | TVS_EDITLABELS ); // 編集できる
return CTreeView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CLeftView クラスの描画
void CLeftView::OnDraw(CDC* pDC)
{
CMZDiskExplorerDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: この場所にネイティブ データ用の描画コードを追加します。
}
/////////////////////////////////////////////////////////////////////////////
// CLeftView クラスの印刷
BOOL CLeftView::OnPreparePrinting(CPrintInfo* pInfo)
{
// デフォルトの印刷準備
return DoPreparePrinting(pInfo);
}
void CLeftView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: 印刷前の特別な初期化処理を追加してください。
}
void CLeftView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: 印刷後の後処理を追加してください。
}
void CLeftView::OnInitialUpdate()
{
CTreeView::OnInitialUpdate();
// TODO: GetTreeCtrl() メンバ関数の呼び出しを通して直接そのリスト コントロールに
// アクセスすることによって TreeView をアイテムで固定できます。
}
/////////////////////////////////////////////////////////////////////////////
// CLeftView クラスの診断
#ifdef _DEBUG
void CLeftView::AssertValid() const
{
CTreeView::AssertValid();
}
void CLeftView::Dump(CDumpContext& dc) const
{
CTreeView::Dump(dc);
}
CMZDiskExplorerDoc* CLeftView::GetDocument() // 非デバッグ バージョンはインラインです。
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMZDiskExplorerDoc)));
return (CMZDiskExplorerDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CLeftView クラスのメッセージ ハンドラ
void CLeftView::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
CMZDiskExplorerDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
int i;
int select = -1;
for ( i = 0; i < pDoc->DirHandleCount; i ++ )
{
if ( pDoc->DirHandle[ i ] == pNMTreeView->itemNew.hItem ) {
select = i;
break;
}
}
if ( select != -1 && pDoc->MzDiskClass != NULL )
{
pDoc->MakeFileList( pDoc->DirSector[ select ] );
pDoc->MzDiskClass->SetDirSector( pDoc->DirSector[ select ] );
}
*pResult = 0;
}