home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Programmierung / SOURCE.mdf / programm / windows / c / bsscdemo / treedem3 / listdb.dat < prev    next >
Encoding:
Text File  |  1993-05-28  |  51.4 KB  |  723 lines

  1. LISTDB RCDATA
  2. BEGIN
  3.    0,  0,  21,    1, "BSS List Control exported APIs.  BSCORE.H and BSLIST.H contain complete documentation. *Available only in retail product.\0",
  4.    1,  1,   4,   22, "BSL_AddListItems ( )\0",
  5.    2,  1,   4,  111, "BSL_ChangeListItemText ( ) *\0",
  6.    3,  1,   4,  169, "BSL_ChangeUserData ( ) *\0",
  7.    4,  1,   4,  214, "BSL_ConvertPointToSelectNotif ( ) *\0",
  8.    5,  1,   4,  257, "BSL_CreateListBox ( )\0",
  9.    6,  1,   4,  305, "BSL_DeleteListItem ( ) *\0",
  10.    7,  1,   4,  326, "BSL_DragAcceptFiles ( ) *\0",
  11.    8,  1,   4,  340, "BSL_GetCurSel ( ) *\0",
  12.    9,  1,   4,  356, "BSL_GetListItem ( ) *\0",
  13.   10,  1,   4,  388, "BSL_GetListItemCount ( ) *\0",
  14.   11,  1,   4,  399, "BSL_GetVersion ( ) *\0",
  15.   12,  1,   4,  414, "BSL_InsertListItems ( ) *\0",
  16.   13,  1,   4,  449, "BSL_ResetList ( )\0",
  17.   14,  1,   4,  469, "BSL_SetBitmap ( ) *\0",
  18.   15,  1,   4,  513, "BSL_SetBitmapAndActiveBitmap ( ) *\0",
  19.   16,  1,   4,  556, "BSL_SetBitmapSpace ( )\0",
  20.   17,  1,   4,  606, "BSL_SetCurSel ( ) *\0",
  21.   18,  1,   4,  624, "BSL_SetDeleteListItemCallBack ( ) *\0",
  22.   19,  1,   4,  643, "BSL_SetFont ( ) *\0",
  23.   20,  1,   4,  660, "BSL_SetIcon ( ) *\0",
  24.   21,  1,   4,  704, "BSL_SetXSpaceBeforeText ( )\0",
  25.   22,  5,   2,   26, "Description\0",
  26.   23,  2,   3,   28, "Arguments\0",
  27.   24,  6,  48,   31, "Comments\0",
  28.   25,  4,   7,   79, "Return Codes\0",
  29.   26,  0,   0,    0, "This API allows the application to add one or more list items to the given\0",
  30.   27,  0,   0,    0, "list.\0",
  31.   28,  0,   4,   86, "HWND hwndList\0",
  32.   29,  0,   3,   90, "WORD wNodeDefCount\0",
  33.   30,  0,  18,   93, "LP_TREE_NODE_DEF lpTreeNodeDef\0",
  34.   31,  0,   0,    0, "Where do TREE_NODE pointers come from?  There are several ways to retrieve\0",
  35.   32,  0,   0,    0, "TREE_NODE pointers.\0",
  36.   33,  0,   0,    0, "1) TREE_NODE pointers are supplied to the application by the list control.\0",
  37.   34,  0,   0,    0, "   They are returned to the application via the lpTreeNode member of the\0",
  38.   35,  0,   0,    0, "   TREE_NODE_DEF structure, when the application successfully calls \0",
  39.   36,  0,   0,    0, "   BSL__AddListItems ( ) or BSL_InsertListItems ( ), which add list items to\0",
  40.   37,  0,   0,    0, "   the given list.  The application can store these TREE_NODE pointers for\0",
  41.   38,  0,   0,    0, "   future references.  Via the TREE_NODE pointers, the index where the\0",
  42.   39,  0,   0,    0, "   list item is position in the list can be accessed.\0",
  43.   40,  0,   0,    0, "2) The application will receive the pointer to the list control owned\0",
  44.   41,  0,   0,    0, "   SELECT_NOTIF structure as the result of a notification of an event.\0",
  45.   42,  0,   0,    0, "   From the SELECT_NOTIF structure, the TREE_NODE pointer to the list item\0",
  46.   43,  0,   0,    0, "   involved in the event is available.  Below is a list of notifications\0",
  47.   44,  0,   0,    0, "   with the associated events:\0",
  48.   45,  0,   0,    0, "      Notification                                    Event\0",
  49.   46,  0,   0,    0, "WM_BST_SELECT_NOTIF\0",
  50.   47,  0,   0,    0, "                                           - Single click left mouse button while over a\0",
  51.   48,  0,   0,    0, "                                             list item.\0",
  52.   49,  0,   0,    0, "                                           - Select list item with up or down arrow.\0",
  53.   50,  0,   0,    0, "                                           - Select list item with page up or page down\0",
  54.   51,  0,   0,    0, "                                             key.\0",
  55.   52,  0,   0,    0, "                                           - Select list item with home or end key.\0",
  56.   53,  0,   0,    0, "                                           - Select list item with Ctrl Up or Ctrl Down.\0",
  57.   54,  0,   0,    0, "WM_BST_SELECT_NOTIF_DBLCLK\0",
  58.   55,  0,   0,    0, "                                           - Double click left mouse button while over\0",
  59.   56,  0,   0,    0, "                                             list item.  Sends WM_BST_SELECT_NOTIF on\0",
  60.   57,  0,   0,    0, "                                             first click.\0",
  61.   58,  0,   0,    0, "                                           - Hit carriage return while a list item is\0",
  62.   59,  0,   0,    0, "                                             selected.\0",
  63.   60,  0,   0,    0, "                                           - '+' key.\0",
  64.   61,  0,   0,    0, "WM_BST_DODRAG\0",
  65.   62,  0,   0,    0, "                                           - Depress the left mouse button over a list\0",
  66.   63,  0,   0,    0, "                                             item and while continuing to hold down the\0",
  67.   64,  0,   0,    0, "                                             left button, move the mouse a predetermined\0",
  68.   65,  0,   0,    0, "                                             distance.\0",
  69.   66,  0,   0,    0, "3) Calling BSL_GetListItem ( ) will return the TREE_NODE pointer of the\0",
  70.   67,  0,   0,    0, "   list item specified by the given index.\0",
  71.   68,  0,   0,    0, "4) Calling BSL_ConvertPointToSelectNotif ( ) will return a pointer to\0",
  72.   69,  0,   0,    0, "   the list control owned SELECT_NOTIF structure which in turn, the pointer\0",
  73.   70,  0,   0,    0, "   to the list item that lies under the coordinate supplied by the\0",
  74.   71,  0,   0,    0, "   application can be retrieved.\0",
  75.   72,  0,   0,    0, "5) BSL_SetDeleteNodeCallBack ( ) allows the application to register a\0",
  76.   73,  0,   0,    0, "   callback with the given list control.  The callback will be called\0",
  77.   74,  0,   0,    0, "   everytime a list item is deleted from the list.  List items can be\0",
  78.   75,  0,   0,    0, "   deleted from the list with two list control export APIs or with the\0",
  79.   76,  0,   0,    0, "   Windows API DestroyWindow ( ).  The two list control exported APIs are:\0",
  80.   77,  0,   0,    0, "   BSL_DeleteListItem ( )\0",
  81.   78,  0,   0,    0, "   BSL_ResetList ( )\0",
  82.   79,  0,   0,    0, "BST_NO_ERROR\0",
  83.   80,  0,   0,    0, "BST_ERR_MEMORY_ALLOC_FAILED\0",
  84.   81,  0,   0,    0, "BST_ERR_LEVEL_LIMIT_EXCEEDED\0",
  85.   82,  0,   0,    0, "BST_ERR_TOO_MANY_NODES\0",
  86.   83,  0,   0,    0, "BST_ERR_ONLY_ONE_ROOT_ALLOWED\0",
  87.   84,  0,   0,    0, "BST_ERR_INVALID_PARENT_FOR_INSERTION\0",
  88.   85,  0,   0,    0, "BSL_ERR_INVALID_INDEX\0",
  89.   86,  0,   0,    0, "This argument indicates which list control will create the new\0",
  90.   87,  0,   0,    0, "list items and append them to the end of the list.  This is the window\0",
  91.   88,  0,   0,    0, "handle that was returned to the application after calling\0",
  92.   89,  0,   0,    0, "BSL_CreateListBox ( ).  BSL_CreateListBox ( ) creates an empty list.\0",
  93.   90,  0,   0,    0, "wNodeDefCount contains the number of list items to be added.  In other\0",
  94.   91,  0,   0,    0, "words, wNodeDefCount is the number of TREE_NODE_DEF array elements in\0",
  95.   92,  0,   0,    0, "the TREE_NODE_DEF array pointed to by lpTreeNodeDef.\0",
  96.   93,  0,   0,    0, "lpTreeNodeDef is a pointer to an array of TREE_NODE_DEFs that describe\0",
  97.   94,  0,   0,    0, "each of the list items to be added.\0",
  98.   95,  0,   0,    0, "If the list already has list items, then the new list items are\0",
  99.   96,  0,   0,    0, "appended to end of the list.\0",
  100.   97,  0,   0,    0, "While adding list items to the list control, the list control could\0",
  101.   98,  0,   0,    0, "receive either a memory allocation failure or realize that the total\0",
  102.   99,  0,   0,    0, "number of list items in the list has exceeded the maximum number of\0",
  103.  100,  0,   0,    0, "list items allowed.  If either of these conditions occur then the\0",
  104.  101,  0,   0,    0, "list items that were added to the list control prior to the\0",
  105.  102,  0,   0,    0, "problem, are NOT removed from the list.  The application will receive\0",
  106.  103,  0,   0,    0, "error messages if there is a memory allocation problem or the maximum\0",
  107.  104,  0,   0,    0, "number of list items is exceeded.  The application can determine what\0",
  108.  105,  0,   0,    0, "list items did not make it into the list by looking at the value\0",
  109.  106,  0,   0,    0, "of the lpTreeNode member of each TREE_NODE_DEF array starting from the\0",
  110.  107,  0,   0,    0, "beginning of the array.  When a TREE_NODE_DEF's lpTreeNode member is\0",
  111.  108,  0,   0,    0, "found that has a value of zero, then that TREE_NODE_DEF and all \0",
  112.  109,  0,   0,    0, "subsequent TREE_NODE_DEFs in the TREE_NODE_DEF array were not used to\0",
  113.  110,  0,   0,    0, "create new list items.\0",
  114.  111,  5,   2,  115, "Description\0",
  115.  112,  2,   4,  117, "Arguments\0",
  116.  113,  6,   5,  121, "Comments\0",
  117.  114,  4,   3,  126, "Return Codes\0",
  118.  115,  0,   0,    0, "This API allows the application to change the text of the list item\0",
  119.  116,  0,   0,    0, "which is indexed by the argument wIndex.\0",
  120.  117,  0,   2,  129, "HWND hwndList\0",
  121.  118,  0,   2,  131, "WORD wIndex\0",
  122.  119,  0,  30,  133, "WORD wTextLength\0",
  123.  120,  0,   6,  163, "LPSTR   lpszText\0",
  124.  121,  0,   0,    0, "If a memory allocation failure occurs, then the lpszText member of\0",
  125.  122,  0,   0,    0, "TREE_NODE will be assigned a NULL and NO text will be displayed for the\0",
  126.  123,  0,   0,    0, "given list item.\0",
  127.  124,  0,   0,    0, "If the low 15 bits of wTextLength are set to 0 then lpszText is set to\0",
  128.  125,  0,   0,    0, "NULL by the list control.\0",
  129.  126,  0,   0,    0, "BST_NO_ERROR\0",
  130.  127,  0,   0,    0, "BST_ERR_MEMORY_ALLOC_FAILED\0",
  131.  128,  0,   0,    0, "BSL_ERR_INVALID_INDEX\0",
  132.  129,  0,   0,    0, "This argument specifies the list control that contains the list item\0",
  133.  130,  0,   0,    0, "that will have the text changed.\0",
  134.  131,  0,   0,    0, "Specifies the zero based index of the list item that will be assigned\0",
  135.  132,  0,   0,    0, "the given text.\0",
  136.  133,  0,   0,    0, "This argument states the number of characters for the list control\0",
  137.  134,  0,   0,    0, "to display as text for the given list item, indexed by wIndex.  The\0",
  138.  135,  0,   0,    0, "source of the list item text is the lpszText argument described below.\0",
  139.  136,  0,   0,    0, "Normally, the application does a lstrlen ( ) on lpszText and assigns\0",
  140.  137,  0,   0,    0, "the result to wTextLength.  But there may be cases that the string \0",
  141.  138,  0,   0,    0, "pointed to by lpszText is just too long and fewer characters are\0",
  142.  139,  0,   0,    0, "required.\0",
  143.  140,  0,   0,    0, "There is a special attribute of wTextLength in which the most\0",
  144.  141,  0,   0,    0, "significant bit or the sign bit acts as a flag.  Depending on how\0",
  145.  142,  0,   0,    0, "this bit is set there are two ways to handle text in a list item.\0",
  146.  143,  0,   0,    0, "In both cases, the application passes a long pointer to the text\0",
  147.  144,  0,   0,    0, "via the lpszText argument. The two methods are,\0",
  148.  145,  0,   0,    0, "1) If the sign bit of wTextLength is set to 1,  then the pointer\0",
  149.  146,  0,   0,    0, "in lpszText points to memory owned by the application and is\0",
  150.  147,  0,   0,    0, "guaranteed not to change (be deleted or moved).  This signals the\0",
  151.  148,  0,   0,    0, "list control to use the supplied string pointer to display the text and\0",
  152.  149,  0,   0,    0, "not worry about allocating, copying, and freeing its memory.\0",
  153.  150,  0,   0,    0, "2) If the sign bit of wTextLength is set to 0, then the list control\0",
  154.  151,  0,   0,    0, "allocates wTextLength + 1 worth of memory.  The list control then\0",
  155.  152,  0,   0,    0, "copies wTextLength worth of characters from the string pointed to by\0",
  156.  153,  0,   0,    0, "the lpszText argument to the allocated memory.  This allocated memory\0",
  157.  154,  0,   0,    0, "is owned by the list control, therefore the application does not have\0",
  158.  155,  0,   0,    0, "to manage it.  When the list item, indexed by the argument wIndex,\0",
  159.  156,  0,   0,    0, "is deleted, the list control will free the memory pointed to by\0",
  160.  157,  0,   0,    0, "lpszText in the TREE_NODE.\0",
  161.  158,  0,   0,    0, "The 1) method is usually used with static databases and the 2)\0",
  162.  159,  0,   0,    0, "method is used with real-time systems.  And of course, both methods\0",
  163.  160,  0,   0,    0, "can be intermixed.\0",
  164.  161,  0,   0,    0, "NOTE:  If the low 15 bits of wTextLength are set to 0 then lpszText is\0",
  165.  162,  0,   0,    0, "set to NULL by the list control.\0",
  166.  163,  0,   0,    0, "lpszText is a long pointer to a string that will be displayed\0",
  167.  164,  0,   0,    0, "in the list control for the given list item.  The application must\0",
  168.  165,  0,   0,    0, "specify the length of string to be displayed in wTextLength.\0",
  169.  166,  0,   0,    0, "Please refer to the wTextLength documentation above for an\0",
  170.  167,  0,   0,    0, "understanding of the different methods that can be applied to the\0",
  171.  168,  0,   0,    0, "handling of lpszText.     \0",
  172.  169,  5,   3,  173, "Description\0",
  173.  170,  2,   4,  176, "Arguments\0",
  174.  171,  6,   7,  180, "Comments\0",
  175.  172,  4,   3,  187, "Return Codes\0",
  176.  173,  0,   0,    0, "This API allows the application to change the user-defined data stored\0",
  177.  174,  0,   0,    0, "by the lpUserData member of the list item pointed to by the argument\0",
  178.  175,  0,   0,    0, "lpUserData.\0",
  179.  176,  0,   2,  190, "HWND hwndList\0",
  180.  177,  0,   2,  192, "WORD wIndex\0",
  181.  178,  0,   9,  194, "WORD wUserDataSize\0",
  182.  179,  0,  11,  203, "LPSTR lpUserData\0",
  183.  180,  0,   0,    0, "BSL_SetDeleteNodeCallBack ( ) allows the application to register a\0",
  184.  181,  0,   0,    0, "callback with the given list control.  The callback will be called\0",
  185.  182,  0,   0,    0, "everytime a list item is deleted from the list.  List items can be deleted\0",
  186.  183,  0,   0,    0, "from the list with two list control export APIs or with the Windows API\0",
  187.  184,  0,   0,    0, "DestroyWindow ( ).  The two list control exported APIs are:\0",
  188.  185,  0,   0,    0, "BSL_DeleteListItem ( )\0",
  189.  186,  0,   0,    0, "BSL_ResetList ( )\0",
  190.  187,  0,   0,    0, "BST_NO_ERROR                  \0",
  191.  188,  0,   0,    0, "BST_ERR_MEMORY_ALLOC_FAILED \0",
  192.  189,  0,   0,    0, "BSL_ERR_INVALID_INDEX\0",
  193.  190,  0,   0,    0, "This argument specifies the list control that contains the list item\0",
  194.  191,  0,   0,    0, "that will be assigned the new user-defined data.\0",
  195.  192,  0,   0,    0, "Specifies the zero based index of the list item that will be assigned\0",
  196.  193,  0,   0,    0, "the given user-defined data.\0",
  197.  194,  0,   0,    0, "If wUserDataSize is 0 then the given pointer, lpUserData, is assigned\0",
  198.  195,  0,   0,    0, "to the list item indexed by wIndex.  It will then be the\0",
  199.  196,  0,   0,    0, "responsibility of the application to free the memory pointed to by\0",
  200.  197,  0,   0,    0, "lpUserData.\0",
  201.  198,  0,   0,    0, "If wUserDataSize is not zero, it then signals the list control to\0",
  202.  199,  0,   0,    0, "allocate wUserDataSize worth of memory.  The list control will then\0",
  203.  200,  0,   0,    0, "copy wUserDataSize bytes from the location pointed to by the given\0",
  204.  201,  0,   0,    0, "argument, lpUserData, in to the newly allocated memory.   The list\0",
  205.  202,  0,   0,    0, "control will free this allocated memory when the list item is deleted.\0",
  206.  203,  0,   0,    0, "Points to the application defined memory that the application wishes \0",
  207.  204,  0,   0,    0, "stored with the list item indexed by wIndex.\0",
  208.  205,  0,   0,    0, "If the wUserDataSize argument is set to 0 then the lpUserData pointer\0",
  209.  206,  0,   0,    0, "will be directly assigned to the lpUserData member of the list item\0",
  210.  207,  0,   0,    0, "indexed by wIndex.  It will be the responsibility of the application to \0",
  211.  208,  0,   0,    0, "free the memory pointed to by lpUserData.  \0",
  212.  209,  0,   0,    0, "If wUserDataSize is non-zero, then the list control will allocate\0",
  213.  210,  0,   0,    0, "wUserDataSize worth of memory, copy wUserDataSize worth of memory from\0",
  214.  211,  0,   0,    0, "the location pointed to by the argument lpUserData to the newly\0",
  215.  212,  0,   0,    0, "allocated memory, and then assign the pointer to the newly allocated\0",
  216.  213,  0,   0,    0, "memory to the lpUserData member of the list item indexed by wIndex.\0",
  217.  214,  5,   7,  218, "Description\0",
  218.  215,  2,   3,  225, "Arguments\0",
  219.  216,  6,  16,  228, "Comments\0",
  220.  217,  4,   4,  244, "Return Codes\0",
  221.  218,  0,   0,    0, "This API allows the application to request the given x, y coordinate \0",
  222.  219,  0,   0,    0, "to be converted into a pointer to the list control's SELECT_NOTIF\0",
  223.  220,  0,   0,    0, "structure.  The SELECT_NOTIF structure will contain a pointer to the\0",
  224.  221,  0,   0,    0, "TREE_NODE that the coordinated landed on and a wFlags member that\0",
  225.  222,  0,   0,    0, "describes where on the list item the point landed.  The x, y coordinate\0",
  226.  223,  0,   0,    0, "is relative to the client area of the list control specified by the\0",
  227.  224,  0,   0,    0, "hwndList argument.\0",
  228.  225,  0,   3,  248, "HWND hwndList\0",
  229.  226,  0,   3,  251, "short x\0",
  230.  227,  0,   3,  254, "short y\0",
  231.  228,  0,   0,    0, "Normally, this API will be used in drag and drop operations.  To process\0",
  232.  229,  0,   0,    0, "the drop notification message from the File Manager, which is\0",
  233.  230,  0,   0,    0, "WM_DROPFILES, the application will need BSL_ConvertPointToSelectNotif ( )\0",
  234.  231,  0,   0,    0, "to determine what list item the files were dropped on.  Just as well,\0",
  235.  232,  0,   0,    0, "if the application decides to allow the dragging of a list item, the\0",
  236.  233,  0,   0,    0, "application will need to determine what the mouse cursor shape should be\0",
  237.  234,  0,   0,    0, "when the cursor is over other list control list items.  Since the\0",
  238.  235,  0,   0,    0, "application captures the mouse and monitors the WM_MOUSEMOVE messages, it\0",
  239.  236,  0,   0,    0, "can get the window handle of the window that the mouse is over, determine\0",
  240.  237,  0,   0,    0, "the x, y point in the client area where the mouse is located, and call\0",
  241.  238,  0,   0,    0, "BSL_ConvertPointToSelectNotif ( ) to retrieve the TREE_NODE pointer via\0",
  242.  239,  0,   0,    0, "the SELECT_NOTIF structure.  Of course, OLE 2.0 will require the\0",
  243.  240,  0,   0,    0, "utilization of this API.\0",
  244.  241,  0,   0,    0, "REMEMBER: The memory pointed to by SELECT_NOTIF pointer belongs to the\0",
  245.  242,  0,   0,    0, "list control and is read only.  Do not write to it or free the memory\0",
  246.  243,  0,   0,    0, "or the list control's integrity will be violated.\0",
  247.  244,  0,   0,    0, "NULL will be returned if the coordinate is not over a list item.\0",
  248.  245,  0,   0,    0, "If the x, y coordinate landed on a list item, then the return value will\0",
  249.  246,  0,   0,    0, "be the LP_SELECT_NOTIF pointer which will contain the hit flags and a\0",
  250.  247,  0,   0,    0, "pointer to the list item that the x, y coordinate landed on.\0",
  251.  248,  0,   0,    0, "This is the window handle of the list control that will evaluate the\0",
  252.  249,  0,   0,    0, "given x, y coordinate.  hwndList is the result of calling the exported\0",
  253.  250,  0,   0,    0, "API BSL_CreateListBox ( ).\0",
  254.  251,  0,   0,    0, "X axis of the point to be converted to a pointer to the list\0",
  255.  252,  0,   0,    0, "control's SELECT_NOTIF structure.  The value is pixel based and\0",
  256.  253,  0,   0,    0, "relative to the list control's upper left corner of the client area.\0",
  257.  254,  0,   0,    0, "Y axis of the point to be converted to a pointer to the list\0",
  258.  255,  0,   0,    0, "control's SELECT_NOTIF structure.  The value is pixel based and\0",
  259.  256,  0,   0,    0, "relative to the list control's upper left corner of the client area.\0",
  260.  257,  5,  20,  261, "Description\0",
  261.  258,  2,   8,  281, "Arguments\0",
  262.  259,  6,   4,  289, "Comments\0",
  263.  260,  4,   2,  293, "Return Codes\0",
  264.  261,  0,   0,    0, "Creates an empty list.  BSL_CreateListBox ( ) ORs the style bits specified\0",
  265.  262,  0,   0,    0, "in dwStyle to the list control's required styles and calls the Windows\0",
  266.  263,  0,   0,    0, "API, CreateWindowEx ( ).  In effect, BSL_CreateListBox calls ( )\0",
  267.  264,  0,   0,    0, "CreateWindowEx ( ) as:\0",
  268.  265,  0,   0,    0, "CreateWindowEx ( dwExStyle,\0",
  269.  266,  0,   0,    0, "                              ""BST_Tree"",\0",
  270.  267,  0,   0,    0, "                              """",\0",
  271.  268,  0,   0,    0, "                              dwStyle | dwTreeControlStyles,\0",
  272.  269,  0,   0,    0, "                              x,\0",
  273.  270,  0,   0,    0, "                              y,\0",
  274.  271,  0,   0,    0, "                              nWidth,\0",
  275.  272,  0,   0,    0, "                              nHeight,\0",
  276.  273,  0,   0,    0, "                              hwndApp,\0",
  277.  274,  0,   0,    0, "                              NULL,\0",
  278.  275,  0,   0,    0, "                              hInstance,\0",
  279.  276,  0,   0,    0, "                              NULL);\0",
  280.  277,  0,   0,    0, "Once the list is created then list items can be added by calling the\0",
  281.  278,  0,   0,    0, "exported APIs:\0",
  282.  279,  0,   0,    0, "BSL_AddListItems ( )\0",
  283.  280,  0,   0,    0, "BSL_InsertListItems ( )\0",
  284.  281,  0,   1,  295, "HANDLE hInstance\0",
  285.  282,  0,   1,  296, "HWND hwndApp\0",
  286.  283,  0,   2,  297, "int x\0",
  287.  284,  0,   2,  299, "int y\0",
  288.  285,  0,   1,  301, "int nWidth\0",
  289.  286,  0,   1,  302, "int nHeight\0",
  290.  287,  0,   1,  303, "DWORD dwStyle\0",
  291.  288,  0,   1,  304, "DWORD dwExStyle\0",
  292.  289,  0,   0,    0, "The successful return value from this call, which is a window handle,\0",
  293.  290,  0,   0,    0, "will be used as the list control identifier for applying the \0",
  294.  291,  0,   0,    0, "list control exported APIs.  Most of the list control APIs require\0",
  295.  292,  0,   0,    0, "the list control window handle.\0",
  296.  293,  0,   0,    0, "If successful, BSL_CreateListBox ( ) will return the window handle of the\0",
  297.  294,  0,   0,    0, "newly created list control.  If failure, then a NULL will be returned.\0",
  298.  295,  0,   0,    0, "Instance associated with the creation of the list control window.\0",
  299.  296,  0,   0,    0, "Window handle of the parent window that is creating the list control.\0",
  300.  297,  0,   0,    0, "X location of the upper left corner of the list control in client area\0",
  301.  298,  0,   0,    0, "coordinates of the parent window.\0",
  302.  299,  0,   0,    0, "Y location of the upper left corner of the list control in client\0",
  303.  300,  0,   0,    0, "area coordinates of the parent window.\0",
  304.  301,  0,   0,    0, "Width of the list control in device (pixel) units.\0",
  305.  302,  0,   0,    0, "Height of the list control in device (pixel) units.\0",
  306.  303,  0,   0,    0, "Application requested CreateWindowEx ( ) styles.\0",
  307.  304,  0,   0,    0, "Application requested CreateWindowEx ( ) extended styles.\0",
  308.  305,  5,   1,  309, "Description\0",
  309.  306,  2,   2,  310, "Arguments\0",
  310.  307,  6,   8,  312, "Comments\0",
  311.  308,  4,   2,  320, "Return Codes\0",
  312.  309,  0,   0,    0, "Delete the list item indexed by wIndex from the given list control.\0",
  313.  310,  0,   2,  322, "HWND hwndList\0",
  314.  311,  0,   2,  324, "WORD wIndex\0",
  315.  312,  0,   0,    0, "When a list item is deleted the list control frees the deleted list\0",
  316.  313,  0,   0,    0, "item's memory.  If a notification of a list item's deletion is desired,\0",
  317.  314,  0,   0,    0, "then the application can use the list control exported API,\0",
  318.  315,  0,   0,    0, "BSL_SetDeleteNodeCallBack ( ), to register a callback function that the\0",
  319.  316,  0,   0,    0, "list control will call just before deletion of the list item.  If the\0",
  320.  317,  0,   0,    0, "application has assigned a pointer to dynamically allocated memory in\0",
  321.  318,  0,   0,    0, "the lpUserData member of the list item, it is the responsibility of the\0",
  322.  319,  0,   0,    0, "application to free this memory.\0",
  323.  320,  0,   0,    0, "BST_NO_ERROR\0",
  324.  321,  0,   0,    0, "BSL_ERR_INVALID_INDEX\0",
  325.  322,  0,   0,    0, "This argument specifies the list control that will destroy the list\0",
  326.  323,  0,   0,    0, "item indexed by wIndex.\0",
  327.  324,  0,   0,    0, "Specifies the zero based index of the list item that will be deleted\0",
  328.  325,  0,   0,    0, "from the list specified by the argument hwndList.\0",
  329.  326,  5,   1,  330, "Description\0",
  330.  327,  2,   2,  331, "Arguments\0",
  331.  328,  6,   2,  333, "Comments\0",
  332.  329,  4,   1,  335, "Return Codes\0",
  333.  330,  0,   0,    0, "Registers the list control to accept dropped files.\0",
  334.  331,  0,   2,  336, "HWND hwndList\0",
  335.  332,  0,   2,  338, "BOOL bAccept\0",
  336.  333,  0,   0,    0, "The Windows File Manager (WINFILE.EXE) will send the WM_DROPFILES message\0",
  337.  334,  0,   0,    0, "to the window that registers when files are dropped onto it.\0",
  338.  335,  0,   0,    0, "None\0",
  339.  336,  0,   0,    0, "This argument specifies the list control that will accept the message,\0",
  340.  337,  0,   0,    0, "WM_DROPFILES.\0",
  341.  338,  0,   0,    0, "If set to TRUE then the given list control will accept the\0",
  342.  339,  0,   0,    0, "WM_DROPFILES message.\0",
  343.  340,  5,   3,  344, "Description\0",
  344.  341,  2,   1,  347, "Arguments\0",
  345.  342,  6,   3,  348, "Comments\0",
  346.  343,  4,   3,  351, "Return Codes\0",
  347.  344,  0,   0,    0, "Returns the zero based index of the active/highlighted list item of the\0",
  348.  345,  0,   0,    0, "given list.  If there are no list items in the list, the return value\0",
  349.  346,  0,   0,    0, "will be -1.\0",
  350.  347,  0,   2,  354, "HWND hwndList\0",
  351.  348,  0,   0,    0, "If the deletion of the active list item occurs, then the next\0",
  352.  349,  0,   0,    0, "list item becomes the next active item.  If there is no next item, then\0",
  353.  350,  0,   0,    0, "the previous item to the deleted item becomes the active/highlighted item.\0",
  354.  351,  0,   0,    0, "Returns the zero based index of the active/highlighted list item of the\0",
  355.  352,  0,   0,    0, "given list.  If there are no list items in the list, the return value\0",
  356.  353,  0,   0,    0, "will be -1.  \0",
  357.  354,  0,   0,    0, "This argument specifies the list control that contains the current\0",
  358.  355,  0,   0,    0, "selection.\0",
  359.  356,  5,  16,  360, "Description\0",
  360.  357,  2,   2,  376, "Arguments\0",
  361.  358,  6,   2,  378, "Comments\0",
  362.  359,  4,   3,  380, "Return Codes\0",
  363.  360,  0,   0,    0, "Returns a pointer to the TREE_NODE structure that belongs to the \0",
  364.  361,  0,   0,    0, "list item indexed by wIndex.  The TREE_NODE structure contains the\0",
  365.  362,  0,   0,    0, "pointer to the user-defined data, the pointer to the list item text,\0",
  366.  363,  0,   0,    0, "the length of the text, etc.\0",
  367.  364,  0,   0,    0, "typedef struct TreeNodeTag   \0",
  368.  365,  0,   0,    0, "{\0",
  369.  366,  0,   0,    0, "   LPSTR   lpUserData;\0",
  370.  367,  0,   0,    0, "   WORD    wTextLength;\0",
  371.  368,  0,   0,    0, "   LPSTR   lpszText;\0",
  372.  369,  0,   0,    0, "   WORD    wState;\0",
  373.  370,  0,   0,    0, "   WORD    wIndex;\0",
  374.  371,  0,   0,    0, "   BYTE    chBitmapTypeBits;\0",
  375.  372,  0,   0,    0, "   HBITMAP hBitmap[MAX_BITMAPS];\0",
  376.  373,  0,   0,    0, "   HBITMAP hActiveBitmap[MAX_BITMAPS];\0",
  377.  374,  0,   0,    0, "}\0",
  378.  375,  0,   0,    0, "TREE_NODE;\0",
  379.  376,  0,   2,  383, "HWND hwndList\0",
  380.  377,  0,   3,  385, "WORD wIndex\0",
  381.  378,  0,   0,    0, "Reference the header file BSCORE.H for more documentation on\0",
  382.  379,  0,   0,    0, "the TREE_NODE structure.\0",
  383.  380,  0,   0,    0, "Returns NULL if the wIndex value is not valid else a pointer to the\0",
  384.  381,  0,   0,    0, "TREE_NODE associated with the list item indexed by wIndex will be\0",
  385.  382,  0,   0,    0, "returned.\0",
  386.  383,  0,   0,    0, "This argument specifies the list control that contains the list item\0",
  387.  384,  0,   0,    0, "indexed by wIndex.\0",
  388.  385,  0,   0,    0, "Specifies the zero based index of the list item that will have a\0",
  389.  386,  0,   0,    0, "pointer to it's associated TREE_NODE structure returned to the\0",
  390.  387,  0,   0,    0, "application.\0",
  391.  388,  5,   1,  392, "Description\0",
  392.  389,  2,   1,  393, "Arguments\0",
  393.  390,  6,   2,  394, "Comments\0",
  394.  391,  4,   2,  396, "Return Codes\0",
  395.  392,  0,   0,    0, "Returns the number of list items in the given list.\0",
  396.  393,  0,   1,  398, "HWND hwndList\0",
  397.  394,  0,   0,    0, "By using the return value of BSL_GetListItemCount ( ) as the upper \0",
  398.  395,  0,   0,    0, "limit, an application can traverse the list starting at 0.\0",
  399.  396,  0,   0,    0, "Returns 0 if no list items are in the list, else the number of list\0",
  400.  397,  0,   0,    0, "items in the list will be returned.\0",
  401.  398,  0,   0,    0, "This argument specifies the list control that contains the list items.\0",
  402.  399,  5,   4,  403, "Description\0",
  403.  400,  2,   1,  407, "Arguments\0",
  404.  401,  6,   3,  408, "Comments\0",
  405.  402,  4,   1,  411, "Return Codes\0",
  406.  403,  0,   0,    0, "Returns the version number of the list control. The returned word\0",
  407.  404,  0,   0,    0, "contains the the version number. The high order byte of the word\0",
  408.  405,  0,   0,    0, "contains the minor version and the low order byte of the word\0",
  409.  406,  0,   0,    0, "contains the major version number.\0",
  410.  407,  0,   2,  412, "void\0",
  411.  408,  0,   0,    0, "To decipher the returned WORD, use the following piece of code:\0",
  412.  409,  0,   0,    0, "wMinorVersion = wVersion >> 8;\0",
  413.  410,  0,   0,    0, "wMajorVersion = wVersion & 0x00FF;\0",
  414.  411,  0,   0,    0, "BST_NO_ERROR   \0",
  415.  412,  0,   0,    0, "Only one list control DLL can be loaded at a time so any instance\0",
  416.  413,  0,   0,    0, "of the tree control can reflect the version.\0",
  417.  414,  5,   2,  418, "Description\0",
  418.  415,  2,   4,  420, "Arguments\0",
  419.  416,  6,   6,  424, "Comments\0",
  420.  417,  4,   7,  430, "Return Codes\0",
  421.  418,  0,   0,    0, "This API allows the application to insert one or more list items into the\0",
  422.  419,  0,   0,    0, "given list.\0",
  423.  420,  0,   4,  437, "HWND hwndList\0",
  424.  421,  0,   3,  441, "WORD wIndex\0",
  425.  422,  0,   3,  444, "WORD wNodeDefCount\0",
  426.  423,  0,   2,  447, "LP_TREE_NODE_DEF lpTreeNodeDef\0",
  427.  424,  0,   0,    0, "When BSL_InsertListItems ( ) is called, the list control allocates\0",
  428.  425,  0,   0,    0, "room for wNodeDefCount worth of list items in the list starting at the\0",
  429.  426,  0,   0,    0, "index specified by the argument wIndex.  The list control then\0",
  430.  427,  0,   0,    0, "creates wNodeDefCount worth of new list items.  It then serially\0",
  431.  428,  0,   0,    0, "traverses the lpTreeNodeDef array, initializing the newly created list\0",
  432.  429,  0,   0,    0, "items.\0",
  433.  430,  0,   0,    0, "BST_NO_ERROR\0",
  434.  431,  0,   0,    0, "BST_ERR_MEMORY_ALLOC_FAILED\0",
  435.  432,  0,   0,    0, "BST_ERR_LEVEL_LIMIT_EXCEEDED\0",
  436.  433,  0,   0,    0, "BST_ERR_TOO_MANY_NODES\0",
  437.  434,  0,   0,    0, "BST_ERR_ONLY_ONE_ROOT_ALLOWED\0",
  438.  435,  0,   0,    0, "BST_ERR_INVALID_PARENT_FOR_INSERTION\0",
  439.  436,  0,   0,    0, "BSL_ERR_INVALID_INDEX\0",
  440.  437,  0,   0,    0, "This argument specifies the list control that will create the new\0",
  441.  438,  0,   0,    0, "list items.  This is the window handle that was returned to\0",
  442.  439,  0,   0,    0, "the application by calling BSL_CreateListBox ( ).  BSL_CreateListBox ( )\0",
  443.  440,  0,   0,    0, "creates an empty list.\0",
  444.  441,  0,   0,    0, "Specifies the zero based index where the list items will be inserted\0",
  445.  442,  0,   0,    0, "into the list.  If wIndex equals -1 then the list of items will be\0",
  446.  443,  0,   0,    0, "appended to the end of the list.\0",
  447.  444,  0,   0,    0, "wNodeDefCount contains the number of list items to be inserted.  In\0",
  448.  445,  0,   0,    0, "other words, wNodeDefCount is the number of TREE_NODE_DEF elements in\0",
  449.  446,  0,   0,    0, "the TREE_NODE_DEF array pointed to by lpTreeNodeDef.\0",
  450.  447,  0,   0,    0, "This is a pointer to a list of TREE_NODE_DEFs that describe each of\0",
  451.  448,  0,   0,    0, "the list items to be inserted. \0",
  452.  449,  5,   2,  453, "Description\0",
  453.  450,  2,   1,  455, "Arguments\0",
  454.  451,  6,   8,  456, "Comments\0",
  455.  452,  4,   1,  464, "Return Codes\0",
  456.  453,  0,   0,    0, "Remove all of the list items in the specified list control but do not\0",
  457.  454,  0,   0,    0, "destroy the list control.\0",
  458.  455,  0,   4,  465, "HWND hwndList\0",
  459.  456,  0,   0,    0, "When a list item is deleted, it's TREE_NODE structure is no longer valid.\0",
  460.  457,  0,   0,    0, "If a notification of a list item's deletion is desired, then the\0",
  461.  458,  0,   0,    0, "application can use the list control exported API,\0",
  462.  459,  0,   0,    0, "BSL_SetDeleteNodeCallBack ( ), to register a callback function that the\0",
  463.  460,  0,   0,    0, "list control will call just before deletion of the list item.  If the\0",
  464.  461,  0,   0,    0, "application has assigned a pointer to dynamically allocated memory in\0",
  465.  462,  0,   0,    0, "the lpUserData member of the list item, it is the responsibility of the\0",
  466.  463,  0,   0,    0, "application to free this memory.\0",
  467.  464,  0,   0,    0, "BST_NO_ERROR   \0",
  468.  465,  0,   0,    0, "This argument specifies the list control that will destroy all of it's\0",
  469.  466,  0,   0,    0, "list items.  This list control handle can still be used in any of the\0",
  470.  467,  0,   0,    0, "APIs such as BSL_AddListItems ( ).  It does not invalidate the list \0",
  471.  468,  0,   0,    0, "control window handle.\0",
  472.  469,  5,   3,  473, "Description\0",
  473.  470,  2,   4,  476, "Arguments\0",
  474.  471,  6,  11,  480, "Comments\0",
  475.  472,  4,   1,  491, "Return Codes\0",
  476.  473,  0,   0,    0, "Assigns a bitmap handle to a specified list item for the specified\0",
  477.  474,  0,   0,    0, "bitmap space.  Erases, but not deletes, the old bitmap or icon if it \0",
  478.  475,  0,   0,    0, "exists and then draws the new one.\0",
  479.  476,  0,   2,  492, "HWND hwndList\0",
  480.  477,  0,   3,  494, "short nBitmap\0",
  481.  478,  0,   2,  497, "WORD wIndex\0",
  482.  479,  0,  14,  499, "HBITMAP hBitmap\0",
  483.  480,  0,   0,    0, "Bitmap/icon handles are NOT the property of the list control.  The list\0",
  484.  481,  0,   0,    0, "control treats the bitmap/icon handle as read only.  It will use the\0",
  485.  482,  0,   0,    0, "handle to draw the bitmap/icon associated with the list item.  If the\0",
  486.  483,  0,   0,    0, "list item already has a bitmap/icon handle stored in the specified bitmap\0",
  487.  484,  0,   0,    0, "position then the old handle is simply overwritten.  It is the\0",
  488.  485,  0,   0,    0, "responsibility of the application to manage creation and destruction of\0",
  489.  486,  0,   0,    0, "bitmaps/icons.  If the application deletes/destroys bitmaps/icons before\0",
  490.  487,  0,   0,    0, "the list items are destroyed, then the tree control will possibly\0",
  491.  488,  0,   0,    0, "reference invalid bitmap/icon handles.\0",
  492.  489,  0,   0,    0, "For more information regarding bitmaps/icons and list items, refer to the\0",
  493.  490,  0,   0,    0, "TREE_NODE structure documentation in the header BSCORE.H.\0",
  494.  491,  0,   0,    0, "BST_NO_ERROR   \0",
  495.  492,  0,   0,    0, "hwndList is the list control in which the list item will receive the\0",
  496.  493,  0,   0,    0, "bitmap handle.\0",
  497.  494,  0,   0,    0, "nBitmap is the index into the bitmap/icon array of the list item in\0",
  498.  495,  0,   0,    0, "which the given bitmap handle will be stored.  This index is zero\0",
  499.  496,  0,   0,    0, "based and the maximum index is MAX_BITMAPS - 1.  \0",
  500.  497,  0,   0,    0, "Specifies the zero based index of the list item which will be \0",
  501.  498,  0,   0,    0, "assigned the new bitmap handle specified by the argument hBitmap.\0",
  502.  499,  0,   0,    0, "hBitmap is the handle to the bitmap which will be drawn in the\0",
  503.  500,  0,   0,    0, "specified bitmap space for the given list item indexed by wIndex.  It\0",
  504.  501,  0,   0,    0, "will be stored in the list item's hBitmap[] array in the member\0",
  505.  502,  0,   0,    0, "indexed by nBitmap.\0",
  506.  503,  0,   0,    0, "Bitmap spaces are the regions before the list item text where the\0",
  507.  504,  0,   0,    0, "bitmaps/icons are painted.  The left most bitmap space corresponds\0",
  508.  505,  0,   0,    0, "with the first array member of the list item's hBitmap[] array.\0",
  509.  506,  0,   0,    0, "The second left most bitmap space corresponds with the second array\0",
  510.  507,  0,   0,    0, "member of the list item's hBitmap[] array, and so on.\0",
  511.  508,  0,   0,    0, "The hBitmap[] array stores the list item's bitmap/icon handles but the\0",
  512.  509,  0,   0,    0, "bitmap spaces are defined globally for all list items.  This keeps\0",
  513.  510,  0,   0,    0, "column alignment which looks good and makes hit testing consistent.\0",
  514.  511,  0,   0,    0, "Reference the list control exported API, BSL_SetBitmapSapce ( ) to\0",
  515.  512,  0,   0,    0, "learn the process of defining a bitmap space.\0",
  516.  513,  5,   7,  517, "Description\0",
  517.  514,  2,   5,  524, "Arguments\0",
  518.  515,  6,   9,  529, "Comments\0",
  519.  516,  4,   1,  538, "Return Codes\0",
  520.  517,  0,   0,    0, "Assigns two bitmap handles to a specified list item for the specified\0",
  521.  518,  0,   0,    0, "bitmap space.  Erases, but not deletes, the old bitmap if defined\0",
  522.  519,  0,   0,    0, "and draws the new bitmap.  The hBitmap handle will be used to draw the\0",
  523.  520,  0,   0,    0, "bitmap if the list item is not active else the hActiveBitmap handle\0",
  524.  521,  0,   0,    0, "will be used to draw the bitmap if the list item is active.\0",
  525.  522,  0,   0,    0, "This API provides a way to provide a background masked bitmap \0",
  526.  523,  0,   0,    0, "to match the highlight color used in showing list item selection.\0",
  527.  524,  0,   2,  539, "HWND hwndList\0",
  528.  525,  0,   4,  541, "short nBitmap\0",
  529.  526,  0,   3,  545, "WORD wIndex\0",
  530.  527,  0,   4,  548, "HBITMAP hBitmap\0",
  531.  528,  0,   4,  552, "HBITMAP hActiveBitmap\0",
  532.  529,  0,   0,    0, "Bitmap handles are NOT the property of the list control.  The list\0",
  533.  530,  0,   0,    0, "control treats the bitmap as read only.  It will use the handle to draw\0",
  534.  531,  0,   0,    0, "the bitmap of each list item.  When a list item is assigned a new bitmap\0",
  535.  532,  0,   0,    0, "handle, the old handle is simply overwritten.  It is the application's\0",
  536.  533,  0,   0,    0, "responsibility to manage creation and destruction of bitmaps.  If the\0",
  537.  534,  0,   0,    0, "application destroys the bitmaps before the list control, then there \0",
  538.  535,  0,   0,    0, "will be trouble in paradise.   \0",
  539.  536,  0,   0,    0, "For more information regarding bitmaps and list items, refer to the\0",
  540.  537,  0,   0,    0, "TREE_NODE structure documentation.\0",
  541.  538,  0,   0,    0, "BST_NO_ERROR\0",
  542.  539,  0,   0,    0, "hwndList is the list control in which the list item will receive the\0",
  543.  540,  0,   0,    0, "bitmaps.\0",
  544.  541,  0,   0,    0, "nBitmap is the index into the hBitmap[] array and the hActiveBitmap[]\0",
  545.  542,  0,   0,    0, "array of the specified list item, indexed by wIndex, in which the new\0",
  546.  543,  0,   0,    0, "bitmaps will replace the old bitmaps if they are defined.  This index\0",
  547.  544,  0,   0,    0, "is zero based and the maximum index is MAX_BITMAPS - 1;\0",
  548.  545,  0,   0,    0, "Specifies the zero based index of the list item which will be \0",
  549.  546,  0,   0,    0, "assigned the new bitmap handles specified by the arguments hBitmap\0",
  550.  547,  0,   0,    0, "and hActiveBitmap.\0",
  551.  548,  0,   0,    0, "hBitmap is the handle to the bitmap in which the above list item,\0",
  552.  549,  0,   0,    0, "indexed by wIndex, will draw in the specified bitmap space when the\0",
  553.  550,  0,   0,    0, "list item is not selected.  This handle will be store in the\0",
  554.  551,  0,   0,    0, "list item's hBitmap[] array.\0",
  555.  552,  0,   0,    0, "hActiveBitmap is the handle to the bitmap in which the above\0",
  556.  553,  0,   0,    0, "list item will draw in the specified bitmap space when the list item is\0",
  557.  554,  0,   0,    0, "active.  This handle will be store in the list item's hActiveBitmap[]\0",
  558.  555,  0,   0,    0, "array.\0",
  559.  556,  5,  14,  560, "Description\0",
  560.  557,  2,   5,  574, "Arguments\0",
  561.  558,  6,  15,  579, "Comments\0",
  562.  559,  4,   1,  594, "Return Codes\0",
  563.  560,  0,   0,    0, "Define the list control's maximum width and height (in pixels) of the\0",
  564.  561,  0,   0,    0, "bitmap space, identified by the argument nBitmap, for all items in the\0",
  565.  562,  0,   0,    0, "list.  This API will reserve space before the beginning of the list's\0",
  566.  563,  0,   0,    0, "text for the drawing of the bitmap identified by nBitmap.  If the\0",
  567.  564,  0,   0,    0, "bitmap/icon handle associated with bitmap space is NULL, the empty bitmap\0",
  568.  565,  0,   0,    0, "space will still be represented.  If the next thing after the empty bitmap\0",
  569.  566,  0,   0,    0, "space is the list item text, then the list control shifts the text left\0",
  570.  567,  0,   0,    0, "until it is butted against a non empty bitmap space or the lines.\0",
  571.  568,  0,   0,    0, "Bitmap spaces offer the application the ability to fine tune each bitmap\0",
  572.  569,  0,   0,    0, "position and to define each bitmap hit test area.   Hit testing is not\0",
  573.  570,  0,   0,    0, "performed on the bitmap but on the bitmap space.\0",
  574.  571,  0,   0,    0, "The dimensions of a bitmap space are defined globally for all tree nodes.\0",
  575.  572,  0,   0,    0, "The reason for this is to keep column alignment of the bitmaps.  This\0",
  576.  573,  0,   0,    0, "is visually pleasing and offers consistency with hit testing.     \0",
  577.  574,  0,   3,  595, "HWND hwndList\0",
  578.  575,  0,   5,  598, "short nBitmap\0",
  579.  576,  0,   1,  603, "short nWidth\0",
  580.  577,  0,   1,  604, "short nHeight\0",
  581.  578,  0,   1,  605, "BOOL bCentered\0",
  582.  579,  0,   0,    0, "The bitmap/icon will be painted in the reserved space centered\0",
  583.  580,  0,   0,    0, "between the top and bottom boundaries.  If bCentered is set to TRUE then\0",
  584.  581,  0,   0,    0, "the bitmap/icon will be centered between the left and right boundaries.\0",
  585.  582,  0,   0,    0, "If bCentered is set to FALSE then the bitmap/icon will be left justified\0",
  586.  583,  0,   0,    0, "in the bitmap space.  If the bitmap is larger than the\0",
  587.  584,  0,   0,    0, "width and/or the height, then the bitmap will be clipped.  If the icon\0",
  588.  585,  0,   0,    0, "is larger than the bitmap space there will be no clipping since the\0",
  589.  586,  0,   0,    0, "Windows API, DrawIcon(), does not provide it.  Therefore, if an\0",
  590.  587,  0,   0,    0, "icon is going to be associated with a bitmap space, make the width and\0",
  591.  588,  0,   0,    0, "height of the bitmap space at least as wide and tall as the values\0",
  592.  589,  0,   0,    0, "returned from GetSystemMetrics (SM_CXICON) and \0",
  593.  590,  0,   0,    0, "GetSystemMetrics (SM_CXICON).\0",
  594.  591,  0,   0,    0, "If either nHeight or nWidth is zero, then there is no bitmap space.\0",
  595.  592,  0,   0,    0, "Remember, that the bitmap space definitions, 0 thru MAX_BITMAPS-1, are\0",
  596.  593,  0,   0,    0, "global to all list items in the given list control.\0",
  597.  594,  0,   0,    0, "BST_NO_ERROR\0",
  598.  595,  0,   0,    0, "This argument specifies the list control in which to reserve the\0",
  599.  596,  0,   0,    0, "bitmap space.  This space will be used to draw a bitmap.  This space\0",
  600.  597,  0,   0,    0, "is before the start of the list item's text, if it has text.\0",
  601.  598,  0,   0,    0, "Identifies the bitmap space.  This is a zero based index into a\0",
  602.  599,  0,   0,    0, "MAX_BITMAPS size array where each member of the array is a structure.\0",
  603.  600,  0,   0,    0, "This structure has two members which hold the width and height of the\0",
  604.  601,  0,   0,    0, "bitmap space.  The width and height are defined in device coordinates\0",
  605.  602,  0,   0,    0, "(pixels).\0",
  606.  603,  0,   0,    0, "nWidth is the width, in pixels, of the reserved bitmap space.\0",
  607.  604,  0,   0,    0, "nHeight is the height, in pixels, of the reserved bitmap space.\0",
  608.  605,  0,   0,    0, "If set to TRUE then center the bitmap/icon in the bitmap space.\0",
  609.  606,  5,   2,  610, "Description\0",
  610.  607,  2,   2,  612, "Arguments\0",
  611.  608,  6,   4,  614, "Comments\0",
  612.  609,  4,   1,  618, "Return Codes\0",
  613.  610,  0,   0,    0, "This API makes the list item indexed by the argument wIndex the active\0",
  614.  611,  0,   0,    0, "list item in the given list.\0",
  615.  612,  0,   3,  619, "HWND hwndList\0",
  616.  613,  0,   2,  622, "WORD wIndex\0",
  617.  614,  0,   0,    0, "When the given list item is made active, the previously active list item\0",
  618.  615,  0,   0,    0, "becomes inactive.  Only one active list item is allowed in each list.\0",
  619.  616,  0,   0,    0, "If the active list item is not visible, in the client area of the tree\0",
  620.  617,  0,   0,    0, "control, then the active list item will be made visible.\0",
  621.  618,  0,   0,    0, "BST_NO_ERROR\0",
  622.  619,  0,   0,    0, "This argument specifies the list control in which the given list item,\0",
  623.  620,  0,   0,    0, "indexed by the argument wIndex, will be made active.  Only one active\0",
  624.  621,  0,   0,    0, "list item is allowed in each list.\0",
  625.  622,  0,   0,    0, "Specifies the zero based index of the list item which will be \0",
  626.  623,  0,   0,    0, "made the new active list item in the list control hwndList.\0",
  627.  624,  5,   7,  628, "Description\0",
  628.  625,  2,   2,  635, "Arguments\0",
  629.  626,  6,   1,  637, "Comments\0",
  630.  627,  4,   1,  638, "Return Codes\0",
  631.  628,  0,   0,    0, "This API allows the application to register a callback with the given\0",
  632.  629,  0,   0,    0, "list control.  The callback will be called everytime a list item is\0",
  633.  630,  0,   0,    0, "deleted from the list.  List items can be deleted from the list with two\0",
  634.  631,  0,   0,    0, "list control export APIs or with the Windows API DestroyWindow ( ).  The\0",
  635.  632,  0,   0,    0, "two list control exported APIs are:\0",
  636.  633,  0,   0,    0, "BSL_DeleteListItem ( )\0",
  637.  634,  0,   0,    0, "BSL_ResetList ( )\0",
  638.  635,  0,   2,  639, "HWND hwndList\0",
  639.  636,  0,   2,  641, "FP_DELETE_LIST_ITEM_CB fpDeleteItemCB\0",
  640.  637,  0,   0,    0, "Know how to define callbacks before using this feature!\0",
  641.  638,  0,   0,    0, "BST_NO_ERROR\0",
  642.  639,  0,   0,    0, "hwndList identifies the list control in which to register the callback\0",
  643.  640,  0,   0,    0, "with.\0",
  644.  641,  0,   0,    0, "The address of the callback.  This will be called everytime a list item\0",
  645.  642,  0,   0,    0, "deletion occurs.\0",
  646.  643,  5,   2,  647, "Description\0",
  647.  644,  2,   2,  649, "Arguments\0",
  648.  645,  6,   5,  651, "Comments\0",
  649.  646,  4,   1,  656, "Return Codes\0",
  650.  647,  0,   0,    0, "Apply a given font to the drawing of the text for all the list items of\0",
  651.  648,  0,   0,    0, "the given list control.\0",
  652.  649,  0,   2,  657, "HWND hwndList\0",
  653.  650,  0,   1,  659, "HFONT hFont\0",
  654.  651,  0,   0,    0, "Once the list control receives the font handle, it becomes the property\0",
  655.  652,  0,   0,    0, "of the list control and it is the responsibility of the list control to\0",
  656.  653,  0,   0,    0, "delete the font.  The font will be deleted if a new font is sent to the\0",
  657.  654,  0,   0,    0, "list control by the application or if the list control receives a\0",
  658.  655,  0,   0,    0, "WM_DESTROY message.  The system font is the default font.\0",
  659.  656,  0,   0,    0, "BST_NO_ERROR\0",
  660.  657,  0,   0,    0, "This argument specifies the list control that will apply the given\0",
  661.  658,  0,   0,    0, "font to the text of every list item.\0",
  662.  659,  0,   0,    0, "hFont is a handle to a font that was created by the application.\0",
  663.  660,  5,   3,  664, "Description\0",
  664.  661,  2,   4,  667, "Arguments\0",
  665.  662,  6,  11,  671, "Comments\0",
  666.  663,  4,   1,  682, "Return Codes\0",
  667.  664,  0,   0,    0, "Assigns an icon handle to a specified list item for the specified\0",
  668.  665,  0,   0,    0, "bitmap space.  Erases, but not deletes, the old icon or bitmap and draws\0",
  669.  666,  0,   0,    0, "the given icon.\0",
  670.  667,  0,   2,  683, "HWND hwndList\0",
  671.  668,  0,   3,  685, "short nIcon\0",
  672.  669,  0,   2,  688, "WORD wIndex\0",
  673.  670,  0,  14,  690, "HICON hIcon\0",
  674.  671,  0,   0,    0, "Bitmap/icon handles are NOT the property of the list control.  The list\0",
  675.  672,  0,   0,    0, "control treats the bitmap/icon handle as read only.  It will use the\0",
  676.  673,  0,   0,    0, "handle to draw the bitmap/icon associated with the list item.  If the\0",
  677.  674,  0,   0,    0, "list item already has a bitmap/icon handle stored in the specified bitmap\0",
  678.  675,  0,   0,    0, "position then the old handle is simply overwritten.  It is the\0",
  679.  676,  0,   0,    0, "responsibility of the application to manage creation and destruction of\0",
  680.  677,  0,   0,    0, "bitmaps/icons.  If the application deletes/destroys bitmaps/icons before\0",
  681.  678,  0,   0,    0, "the list item are destroyed, then the list control will possibly\0",
  682.  679,  0,   0,    0, "reference invalid bitmap/icon handles.\0",
  683.  680,  0,   0,    0, "For more information regarding bitmaps/icons and list items, refer to the\0",
  684.  681,  0,   0,    0, "TREE_NODE structure documentation in the header BSCORE.H.\0",
  685.  682,  0,   0,    0, "BST_NO_ERROR\0",
  686.  683,  0,   0,    0, "hwndList is the list control in which the list item will receive the\0",
  687.  684,  0,   0,    0, "icon handle.\0",
  688.  685,  0,   0,    0, "nIcon is the index into the bitmap array of the list item in which the\0",
  689.  686,  0,   0,    0, "new handle will replace the old handle if the old handle exists.  \0",
  690.  687,  0,   0,    0, "This index is zero based and  the maximum index is MAX_BITMAPS - 1;\0",
  691.  688,  0,   0,    0, "Specifies the zero based index of the list item which will be \0",
  692.  689,  0,   0,    0, "assigned the new bitmap handle specified by the argument hBitmap.\0",
  693.  690,  0,   0,    0, "hIcon is the handle to the icon which will be drawn in the specified\0",
  694.  691,  0,   0,    0, "bitmap space for the given list item, indexed by wIndex.  It will be\0",
  695.  692,  0,   0,    0, "stored in the list item's hBitmap[] array in the member indexed by\0",
  696.  693,  0,   0,    0, "nIcon.\0",
  697.  694,  0,   0,    0, "Bitmap spaces are the regions before the list item text where the\0",
  698.  695,  0,   0,    0, "bitmaps/icons are painted.  The left most bitmap space corresponds\0",
  699.  696,  0,   0,    0, "with the first array member of the list item's hBitmap[] array.\0",
  700.  697,  0,   0,    0, "The second left most bitmap space corresponds with the second array\0",
  701.  698,  0,   0,    0, "member of the list item's hBitmap[] array, and so on.\0",
  702.  699,  0,   0,    0, "The hBitmap[] array stores the list item's bitmap/icon handles but the\0",
  703.  700,  0,   0,    0, "bitmap spaces are defined globally for all list items.  This keeps\0",
  704.  701,  0,   0,    0, "column alignment which looks good and makes hit testing tolerable.\0",
  705.  702,  0,   0,    0, "Reference the list control exported API, BSL_SetBitmapSapce ( ) to\0",
  706.  703,  0,   0,    0, "learn the process of defining a bitmap space.\0",
  707.  704,  5,   2,  708, "Description\0",
  708.  705,  2,   2,  710, "Arguments\0",
  709.  706,  6,   2,  712, "Comments\0",
  710.  707,  4,   1,  714, "Return Codes\0",
  711.  708,  0,   0,    0, "Allows the application to adjust the space between the last bitmap\0",
  712.  709,  0,   0,    0, "(if any) and the first character of the text string.\0",
  713.  710,  0,   2,  715, "HWND hwndList\0",
  714.  711,  0,   2,  717, "short nWidth\0",
  715.  712,  0,   0,    0, "There is no default space between the rightmost bitmap space and the\0",
  716.  713,  0,   0,    0, "first character of the text.\0",
  717.  714,  0,   0,    0, "BST_NO_ERROR\0",
  718.  715,  0,   0,    0, "This argument specifies the list control in which to reserve space\0",
  719.  716,  0,   0,    0, "before the first character of the list items's text string.\0",
  720.  717,  0,   0,    0, "nWidth is the width of the reserved space before the text.  This is\0",
  721.  718,  0,   0,    0, "expressed in pixels.\0"
  722. END
  723.