📄 import.cpp
字号:
#include "pch.h"
#include "util.h"
#include "main.h"
#include "doc.h"
#include "image.h"
#include "import.h"
#include "export.h"
#include "add.h"
#include "debug.h"
IMPLEMENT_DYNCREATE ( CImportView , CTreeView )
BEGIN_MESSAGE_MAP ( CImportView , CTreeView )
ON_WM_CREATE ( )
ON_COMMAND ( IDM_EDIT_PROPERTY , OnEditProperty )
ON_NOTIFY_REFLECT ( TVN_SELCHANGED , OnTvnSelChanged )
END_MESSAGE_MAP ( )
CImportView::CImportView ( )
{
}
CImportView::~CImportView ( )
{
}
CDancerDoc* CImportView::GetDocument ( )
{
return ( CDancerDoc* ) CView::GetDocument ( ) ;
}
void CImportView::OnInitialUpdate ( )
{
CTreeView::OnInitialUpdate ( ) ;
CDancerDoc* pd = GetDocument ( ) ;
CTreeCtrl& ctrl = GetTreeCtrl ( ) ;
pd->m_pImgFile->Present ( ctrl ) ;
ctrl.Expand ( ctrl.GetChildItem ( TVI_ROOT ) , TVE_EXPAND ) ;
pd->m_pImportView = this ;
}
int CImportView::OnCreate ( LPCREATESTRUCT lpCreateStruct )
{
if ( -1 == CTreeView::OnCreate ( lpCreateStruct ) )
return -1 ;
CTreeCtrl& ctrl = GetTreeCtrl ( ) ;
// modify style of tree control
SetWindowLong (
ctrl.GetSafeHwnd ( ) ,
GWL_STYLE ,
WS_CHILD |
WS_VISIBLE |
TVS_HASBUTTONS |
TVS_HASLINES |
TVS_SHOWSELALWAYS |
TVS_LINESATROOT |
TVS_DISABLEDRAGDROP ) ;
CMainApp* p = ( CMainApp* ) AfxGetApp ( ) ;
ctrl.SetImageList ( &p->m_imgTree , TVSIL_NORMAL ) ;
return 0 ;
}
void CImportView::OnTvnSelChanged ( NMHDR* pNotifyStruct , LRESULT *pResult )
{
LPNMTREEVIEW lpNMTreeView = ( LPNMTREEVIEW ) pNotifyStruct ;
GetDocument ( )->m_pExportView->Refresh (
( Export* )
GetTreeCtrl ( ).GetItemData ( lpNMTreeView->itemNew.hItem ) ) ;
*pResult = 0 ;
}
void CImportView::RefreshCurrent ( BOOL bHook )
{
CTreeCtrl& ctrl = GetTreeCtrl ( ) ;
HTREEITEM h = ctrl.GetSelectedItem ( ) ;
if ( bHook ) ctrl.SetItemState ( h, -1, TVIS_BOLD ) ;
else ctrl.SetItemState ( h, 0, TVIS_BOLD ) ;
}
void CImportView::ExpandTree ( CTreeCtrl& ctrl , HTREEITEM h , BOOL bExpand )
{
if ( bExpand == TRUE )
{
ctrl.Expand ( h , TVE_EXPAND ) ;
}
else
{
ctrl.Expand ( h , TVE_COLLAPSE ) ;
}
HTREEITEM hi = ctrl.GetChildItem ( h ) ;
while ( hi != NULL )
{
ExpandTree ( ctrl , hi , bExpand ) ;
hi = ctrl.GetNextItem ( hi , TVGN_NEXT ) ;
}
}
void CImportView::OnEditProperty ( )
{
CTreeCtrl& ctl = GetTreeCtrl ( ) ;
HTREEITEM ti = ctl.GetSelectedItem ( ) ;
if ( !ti )
return ;
Export* pe = ( Export* ) ctl.GetItemData ( ti ) ;
SHELLEXECUTEINFO shl ;
ZeroMemory ( &shl , sizeof ( SHELLEXECUTEINFO ) ) ;
shl.cbSize = sizeof ( SHELLEXECUTEINFO ) ;
shl.fMask = SEE_MASK_INVOKEIDLIST ;
shl.lpFile = pe->m_pModule->m_strPath ;
shl.lpVerb = "properties" ;
ShellExecuteEx ( &shl ) ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -