// iadlstvr.cpp : implementation file // #include "stdafx.h" #include "IADLstVr.hpp" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // IAD_ListVariable IAD_ListVariable::IAD_ListVariable() { } IAD_ListVariable::~IAD_ListVariable() { } BEGIN_MESSAGE_MAP(IAD_ListVariable, CListCtrl) //{{AFX_MSG_MAP(IAD_ListVariable) ON_WM_KEYDOWN() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // IAD_ListVariable message handlers void IAD_ListVariable::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { if (nChar == VK_DELETE) { // should delete the current line int iItem = m_fn_iGetSelectedItem (); if (iItem != -1) DeleteItem (iItem); } CListCtrl::OnKeyDown(nChar, nRepCnt, nFlags); } int IAD_ListVariable::m_fn_iGetSelectedItem (void) { int iCount = GetItemCount (); int iItem; for (iItem = 0; iItem < iCount; iItem ++) { LVITEM lvItem; lvItem . mask = LVIF_STATE; lvItem . stateMask = LVIS_SELECTED | LVIS_FOCUSED; lvItem . iItem = iItem; lvItem . iSubItem = 0; if (GetItem (& lvItem)) { if (lvItem . state & LVIS_FOCUSED) return iItem; } } return -1; }