Jump to content

WinDeleteLboxItem: Difference between revisions

From EDM2
 
Line 53: Line 53:


== Related Messages==
== Related Messages==
* LM_DELETEITEM
* [[LM_DELETEITEM]]


[[Category:Win]]
[[Category:Win]]

Latest revision as of 18:51, 14 May 2025

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;
        }

Related Functions

Related Messages