LImageListControl::MsgProcCallBack

#include "ltwrappr.h"

virtual LRESULT LImageListControl::MsgProcCallBack(hWnd, uMsg, wParam, lParam)

HWND hWnd;

/* handle to the bitmap window */

UINT uMsg;

/* the window message */

DWORD dwStyle;

/* the control’s style */

WPARAM wParam;

/* the first parameter of the window message */

LPARAM lParam;

/* the second parameter of the window message */

This function is called for each message the image list control receives.

Parameter

Description

hWnd

Handle to the bitmap window.

uMsg

The window message.

wParam

The first parameter of the window message.

lParam

The second parameter of the window message.

Returns

The result of processing a specific message.

Comments

Override this function to do your own processing of window events and messages. If you override this function you will be called prior to the image list control's own message processing.

Required DLLs and Libraries

LTDIS
LTFIL
LTIMG

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

See Also

Functions:

Class Members

Topics:

Using the ImageList Control

Example

// define user LImageListControl class to override CallBack
class LMyImgList : public LImageListControl
{
public:
   LMyImgList();
   virtual ~LMyImgList();

   virtual LRESULT MsgProcCallBack( HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM 
lParam);

   virtual L_VOID ItemSelected(L_INT nCtlID, pLILITEMSEL pItemSel);
};


LMyImgList::LMyImgList()
{
}

LMyImgList::~LMyImgList()
{
}

LRESULT LMyImgList::MsgProcCallBack(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM 
lParam)
{
   CString csOut;
   if(uMsg == WM_MOUSEMOVE)
   {
      L_INT nIndex;
      POINT Point;
      Point.x = LOWORD(lParam);
      Point.y = HIWORD(lParam);
      nIndex = HitTest(&Point);
      if(nIndex >= 0)
      {
         csOut.Format(TEXT("Item# %ld at X: %ld , Y: %ld"), nIndex, LOWORD(lParam), HIWORD(lParam));
         ::SetWindowText(::GetParent(hWnd), csOut);
      }
      else
      {
         csOut.Format(TEXT("X: %ld , Y: %ld"), LOWORD(lParam), HIWORD(lParam));
         ::SetWindowText(::GetParent(hWnd), csOut);
      }
      return TRUE;
   }
   return FALSE;
}

L_VOID LMyImgList::ItemSelected(L_INT nCtlID, pLILITEMSEL pItemSel)
{
   CString csOut;
   csOut.Format(TEXT("Item #%ld Selected!"), pItemSel->lIndex);
   AfxMessageBox(csOut);
}


// create an instance of the user defined object
LMyImgList m_MyImgList;

// create the control
void TestFunc(HWND hParent) 
{
   // create the control
   m_MyImgList.CreateControl(hParent, 0, WS_VISIBLE|WS_BORDER|WS_CHILD|WS_TABSTOP, 
100, 300);
}