Click here to Skip to main content
11,922,641 members (57,252 online)
Rate this:
Please Sign up or sign in to vote.
See more: VC6 C++ MFC DLL
---------------------------DLL A----------------------------------
#define SELIBCTRL_API           __declspec(dllexport)
#define SELIBCTRL_API           __declspec(dllimport)

class IListCtrl
SELIBCTRL_API IListCtrl* CreateIListCtrl(HWND hParent);
class CMyListCtrl : public CListCtrl, public IListCtrl
----------------------------DLL B------------------------------
void Test::CreateList()
    IListCtrl* pList = CreateIListCtrl(this->GetSafeHwnd());
I use a dll interface to create a CMyListCtrl, and override DrawItem(),
but it cant receive ownerdraw message,so DrawItem() is always not running, only can receive move event.

PS:I try use AFX_MANAGE_STATE(AfxGetStaticModuleState()), but its no useful

If dont use A dll, move the CMyListCtrl class to the B dll, it will be OK,
Why is this problem? Can anyone give me a suggestion? Thanks.

TO: Richard MacCutchan
I have already set the style when i create this CListCtrl.
But, thanks a lot of you answer^^
Posted 26-Nov-12 22:38pm
Edited 27-Nov-12 0:33am

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

You need to include the LVS_OWNERDRAWFIXED style in your call to CListCtrl::CreateEx()[^].

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy | Mobile
Web03 | 2.8.151125.1 | Last Updated 27 Nov 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100