Click here to Skip to main content
11,720,321 members (72,207 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: VC6 C++ MFC DLL
---------------------------DLL A----------------------------------
#ifdef SELIBCTRL_IMP
 define SELIBCTRL_API           __declspec(dllexport)
#define SELIBCTRL_EXT_CLASS    AFX_CLASS_EXPORT
 else
#define SELIBCTRL_API           __declspec(dllimport)
 define SELIBCTRL_EXT_CLASS    AFX_CLASS_IMPORT
#endif
 
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 21:38pm
SoSoLue279
Edited 26-Nov-12 23:33pm
v4

1 solution

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

Solution 1

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

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

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 2,029
1 OriginalGriff 844
2 F-ES Sitecore 640
3 Maciej Los 609
4 Richard MacCutchan 540


Advertise | Privacy | Mobile
Web03 | 2.8.150901.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