XListBox.h
上传用户:hmc_gdtv
上传日期:2013-08-04
资源大小:798k
文件大小:3k
源码类别:

Windows Mobile

开发平台:

Visual C++

  1. /*
  2.  * Copyright (c) 2001,2002,2003 Mike Matsnev.  All Rights Reserved.
  3.  *
  4.  * Redistribution and use in source and binary forms, with or without
  5.  * modification, are permitted provided that the following conditions
  6.  * are met:
  7.  *
  8.  * 1. Redistributions of source code must retain the above copyright
  9.  *    notice immediately at the beginning of the file, without modification,
  10.  *    this list of conditions, and the following disclaimer.
  11.  * 2. Redistributions in binary form must reproduce the above copyright
  12.  *    notice, this list of conditions and the following disclaimer in the
  13.  *    documentation and/or other materials provided with the distribution.
  14.  * 3. Absolutely no warranty of function or purpose is made by the author
  15.  *    Mike Matsnev.
  16.  *
  17.  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  18.  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  19.  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  20.  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
  21.  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  22.  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  23.  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  24.  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  25.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  26.  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27.  * 
  28.  * $Id: XListBox.h,v 1.1.2.8 2003/07/09 19:50:13 mike Exp $
  29.  * 
  30.  */
  31. #ifndef XLISTBOX_H
  32. #define XLISTBOX_H
  33. #define XLM_CONTEXTMENU   (WM_USER+1)
  34. #define XLM_DBLCLK   (WM_USER+2)
  35. #define XLM_CLICK   (WM_USER+3)
  36. void XLB_Init();
  37. void XLB_SetImageList(HWND hWnd,HIMAGELIST hIml,bool shared=false);
  38. struct XLB_Handle;
  39. struct XLB_Handle *XLB_GetHandle(HWND hWnd);
  40. bool XLB_AppendItem(struct XLB_Handle *handle,
  41.        const TCHAR *text1,const TCHAR *text2,
  42.        int icon,int level,
  43.        LONG user_data);
  44. void XLB_DeleteItem(HWND hWnd,int item);
  45. void XLB_SetItemText1(HWND hWnd,int item,const TCHAR *text);
  46. LONG    XLB_GetData(HWND hWnd,int item);
  47. int XLB_GetSelection(HWND hWnd);
  48. void XLB_SetSelection(HWND hWnd,int sel);
  49. int XLB_GetItemCount(HWND hWnd);
  50. void XLB_EnsureVisible(HWND hWnd,int item,bool middle=false);
  51. void XLB_DeleteAllItems(HWND hWnd);
  52. const TCHAR *XLB_GetItemText1(HWND hWnd,int item);
  53. void XLB_CollapseLevel(HWND hWnd,int level);
  54. void XLB_UpdateState(HWND hWnd);
  55. typedef CString (*XLB_GetText)(void *ugtdata,int num,int item,LONG data);
  56. void XLB_SetGTFunc(HWND hWnd,XLB_GetText fn,void *ugtdata);
  57. // the sort routine is specially tailored to
  58. // control use in FileOpenDialog
  59. void XLB_SortItems(HWND hWnd);
  60. #endif