Develop and Download Open Source Software

Browse CVS Repository

Contents of /enbanfukusyaya/EnbanKensa/win32/DiscInfoDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download) (as text)
Sat May 27 16:04:59 2006 UTC (17 years, 10 months ago) by bananajinn
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/x-c++src
*** empty log message ***

1 // DiscInfoDlg.cpp : インプリメンテーション ファイル
2 //
3
4 #include "stdafx.h"
5 #include "enbankensa.h"
6 #include "DiscInfoDlg.h"
7 #include "ui.h"
8
9 #ifdef _DEBUG
10 #define new DEBUG_NEW
11 #undef THIS_FILE
12 static char THIS_FILE[] = __FILE__;
13 #endif
14
15 /////////////////////////////////////////////////////////////////////////////
16 // CDiscInfoDlg ダイアログ
17
18
19 CDiscInfoDlg::CDiscInfoDlg(CWnd* pParent /*=NULL*/)
20 : CThemeDialog(CDiscInfoDlg::IDD, pParent)
21 {
22 //{{AFX_DATA_INIT(CDiscInfoDlg)
23 // メモ - ClassWizard はこの位置にマッピング用のマクロを追加または削除します。
24 //}}AFX_DATA_INIT
25 }
26
27
28 void CDiscInfoDlg::DoDataExchange(CDataExchange* pDX)
29 {
30 CDialog::DoDataExchange(pDX);
31 //{{AFX_DATA_MAP(CDiscInfoDlg)
32 DDX_Control(pDX, IDC_LST_TRACKS, m_LstTracks);
33 DDX_Control(pDX, IDC_EDT_INFO, m_EdtInfo);
34 //}}AFX_DATA_MAP
35 }
36
37
38 BEGIN_MESSAGE_MAP(CDiscInfoDlg, CDialog)
39 //{{AFX_MSG_MAP(CDiscInfoDlg)
40 ON_NOTIFY(LVN_ITEMCHANGED, IDC_LST_TRACKS, OnItemchangedLstTracks)
41 //}}AFX_MSG_MAP
42 END_MESSAGE_MAP()
43
44 LPCTSTR const headers[] = {
45 "Sess", "Track", "開始", "終了", "サイズ", "パケットサイズ", "モード"
46 };
47
48 /////////////////////////////////////////////////////////////////////////////
49 // CDiscInfoDlg メッセージ ハンドラ
50
51 void CDiscInfoDlg::OnCancel()
52 {
53 // TODO: この位置に特別な後処理を追加してください。
54
55 //CDialog::OnCancel();
56 }
57
58 void CDiscInfoDlg::OnOK()
59 {
60 // TODO: この位置にその他の検証用のコードを追加してください
61
62 //CDialog::OnOK();
63 }
64
65 BOOL CDiscInfoDlg::OnInitDialog()
66 {
67 CDialog::OnInitDialog();
68
69 // TODO: この位置に初期化の補足処理を追加してください
70 m_LstTracks.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
71 UINT nIndex;
72 for(nIndex=0; nIndex<sizeof(headers)/sizeof(LPCTSTR); nIndex++){
73 m_LstTracks.InsertColumn(nIndex, headers[nIndex]);
74 }
75
76 return TRUE; // コントロールにフォーカスを設定しないとき、戻り値は TRUE となります
77 // 例外: OCX プロパティ ページの戻り値は FALSE となります
78 }
79
80 void CDiscInfoDlg::SetData(UIDISCINFO *pDiscInfo)
81 {
82 UINT nIndex, nNewIndex;
83 LVITEM item;
84 CString csTmp;
85 UITRACKINFO *pTrackInfo;
86
87 ::ZeroMemory(&item, sizeof(item));
88 m_LstTracks.DeleteAllItems();
89 m_csaTrackComment.RemoveAll();
90
91 for(nIndex=0; nIndex<pDiscInfo->tracks; nIndex++){
92 pTrackInfo = &pDiscInfo->track_info[nIndex];
93 item.mask = LVIF_TEXT;
94 item.iItem = nIndex;
95 item.iSubItem = 0;
96 csTmp.Format("%d", pTrackInfo->session);
97 item.pszText = (LPTSTR)(LPCTSTR)csTmp;
98 item.cchTextMax = csTmp.GetLength();
99 nNewIndex = m_LstTracks.InsertItem(&item);
100
101 csTmp.Format("%d", pTrackInfo->track);
102 m_LstTracks.SetItemText(nNewIndex, 1, csTmp);
103
104 csTmp.Format("0x%08lX", pTrackInfo->start_lba);
105 m_LstTracks.SetItemText(nNewIndex, 2, csTmp);
106
107 csTmp.Format("0x%08lX", pTrackInfo->end_lba);
108 m_LstTracks.SetItemText(nNewIndex, 3, csTmp);
109
110 csTmp.Format("0x%08lX", pTrackInfo->blocks);
111 m_LstTracks.SetItemText(nNewIndex, 4, csTmp);
112
113 csTmp.Format("0x%08lX", pTrackInfo->packet_size);
114 m_LstTracks.SetItemText(nNewIndex, 5, csTmp);
115
116 m_LstTracks.SetItemText(nNewIndex, 6, pTrackInfo->mode);
117
118 csTmp = pTrackInfo->comment;
119 csTmp.Replace("\n", "\r\n");
120 m_csaTrackComment.Add(csTmp);
121 }
122
123 for(nIndex=0; nIndex<m_LstTracks.GetHeaderCtrl()->GetItemCount(); nIndex++){
124 m_LstTracks.SetColumnWidth(nIndex, LVSCW_AUTOSIZE_USEHEADER);
125 }
126
127 m_LstTracks.SetItemState(0, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
128 m_EdtInfo.SetWindowText(m_csaTrackComment.GetAt(0));
129 }
130
131 void CDiscInfoDlg::OnItemchangedLstTracks(NMHDR* pNMHDR, LRESULT* pResult)
132 {
133 NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
134 // TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
135 m_EdtInfo.SetWindowText(m_csaTrackComment.GetAt(pNMListView->iItem));
136
137 *pResult = 0;
138 }

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26