📄 msdevcallerlistctrl.cpp
字号:
// MsDevCallerListCtrl.cpp : implementation file//#include "stdafx.h"#include <atlbase.h>#include "MsDevCallerListCtrl.h"#include <msvc6/testrunner/TestRunner.h>#include <msvc6/DSPlugin/TestRunnerDSPluginVC6.h>#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// MsDevCallerListCtrlMsDevCallerListCtrl::MsDevCallerListCtrl() : m_lineNumberSubItem( 3 ) , m_fileNameSubItem( 4 ){ m_comInitialized = SUCCEEDED( CoInitialize(NULL) );}MsDevCallerListCtrl::~MsDevCallerListCtrl(){ if ( m_comInitialized ) CoUninitialize();}void MsDevCallerListCtrl::setLineNumberSubItem( int subItemIndex ){ m_lineNumberSubItem = subItemIndex;}void MsDevCallerListCtrl::setFileNameSubItem( int fileNameItemIndex ){ m_fileNameSubItem = fileNameItemIndex;}BEGIN_MESSAGE_MAP(MsDevCallerListCtrl, CListCtrl) //{{AFX_MSG_MAP(MsDevCallerListCtrl) ON_NOTIFY_REFLECT(NM_DBLCLK, OnDblclk) //}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// MsDevCallerListCtrl message handlersvoid MsDevCallerListCtrl::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult) { HRESULT hr = S_OK; int hotItem = 0; CComPtr< ITestRunnerDSPlugin> pIDSPlugin; hr = CoCreateInstance( CLSID_DSAddIn, NULL, CLSCTX_LOCAL_SERVER, IID_ITestRunnerDSPlugin, reinterpret_cast< void**>(&pIDSPlugin)); if ( SUCCEEDED( hr)) { CPoint pt; UINT flags = 0; CString lineNumber, fileName; GetCursorPos( &pt); ScreenToClient( &pt); // some dirty hack to get some selection // should get the border-width + 1, but WINDOWINFO // is not supported in Win95 pt.x = 5; hotItem = HitTest( pt, &flags); lineNumber = GetItemText( hotItem, m_lineNumberSubItem); fileName = GetItemText( hotItem, m_fileNameSubItem); pIDSPlugin->goToLineInSourceCode( CComBSTR( fileName), _ttoi( lineNumber)); } *pResult = 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -