Jump to content

WinDeleteLboxItem

From EDM2
Revision as of 23:13, 10 December 2023 by Martini (talk | contribs) (Created page with "This macro deletes the indexed item from the List Box. It returns the number of items left. ==Syntax== WinDeleteLboxItem(hwndLbox, index) ==Parameters== ;hwndLbox (HWND) - ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This macro deletes the indexed item from the List Box. It returns the number of items left.

Syntax

WinDeleteLboxItem(hwndLbox, index)

Parameters

hwndLbox (HWND) - input
Listbox handle.
index (LONG) - input
Index of the listbox item.


Returns

lItems (LONG) - returns
Number of items left.

Remarks

This macro is defined as:

#define WinDeleteLboxItem(hwndLbox, index)    \
        ((LONG)WinSendMsg(hwndLbox,           \
                          LM_DELETEITEM,      \
                          MPFROMLONG(index),  \
                          (MPARAM)NULL))

This macro requires the existence of a message queue.

Example Code

This example responds to an item in the list box being selected (LN_SELECT, WM_CONTROL message) by deleting the selected item using WinDeleteLboxItem.

#define INCL_WINWINDOWMGR       /* Window Manager Functions     */
#define INCL_WINLISTBOXES       /* Window List Box definitions  */
#include <os2.h>

LONG    lIndex;         /* selected item index                  */
LONG    lLeft;          /* items left after delete              */
HWND    hwndLbox;       /* list box window handle               */
MPARAM  mpParam1;       /* Parameter 1 (rectl structure)        */
MPARAM  mpParam2;       /* Parameter 2 (frame boolean)          */

case WM_CONTROL:
     /* switch on control code */
     switch(SHORT2FROMMP(mpParam1))
        {
        case LN_SELECT:
             hwndLbox = HWNDFROMMP(mpParam2);

             /* query index of selected item */
             lIndex = WinQueryLboxSelectedItem(hwndLbox);

             /* delete selected listbox item */
             lLeft = WinDeleteLboxItem(hwndLbox, lIndex);
             break;
        }

Definition

#define INCL_WINWINDOWMGR /* Or use INCL_WIN, INCL_PM, */
#include <os2.h>

HWND    hwndLbox;  /*  Listbox handle. */
LONG    index;     /*  Index of the listbox item. */
LONG    lItems;    /*  Number of items left. */

lItems = WinDeleteLboxItem(hwndLbox, index);

Related Functions

  • WinSendMsg

Related Messages

  • LM_DELETEITEM