Click here to Skip to main content
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 CPallini 385
1 BillWoodruff 344
2 George Jonsson 295
3 Sergey Alexandrovich Kryukov 293
4 OriginalGriff 222
0 OriginalGriff 5,095
1 CPallini 4,285
2 Sergey Alexandrovich Kryukov 3,767
3 George Jonsson 2,941
4 Gihan Liyanage 2,386


Advertise | Privacy | Mobile
Web04 | 2.8.140916.1 | Last Updated 27 Nov 2012
Copyright © CodeProject, 1999-2014
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