| 1858 | } |
| 1859 | |
| 1860 | LRESULT OnKeyDown(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled) |
| 1861 | { |
| 1862 | T* pT = static_cast<T*>(this); |
| 1863 | switch( wParam ) |
| 1864 | { |
| 1865 | case VK_LEFT: |
| 1866 | if( m_iCurSel > 0 ) |
| 1867 | { |
| 1868 | pT->SetCurSel(m_iCurSel-1); |
| 1869 | } |
| 1870 | return 0; |
| 1871 | case VK_RIGHT: |
| 1872 | if( m_iCurSel < (int)m_Items.GetCount()-1 ) |
| 1873 | { |
| 1874 | pT->SetCurSel(m_iCurSel+1); |
| 1875 | } |
| 1876 | return 0; |
| 1877 | case VK_ESCAPE: |
| 1878 | if(ectcDraggingItem == (m_dwState & ectcDraggingItem)) |
| 1879 | { |
| 1880 | pT->CancelItemDrag(true); |
| 1881 | return 0; |
| 1882 | } |
| 1883 | break; |
| 1884 | } |
| 1885 | bHandled = FALSE; |
| 1886 | return 0; |
| 1887 | } |
| 1888 | |
| 1889 | LRESULT OnGetFont(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) |
| 1890 | { |