#include "wx/msw/private.h"
+#if defined(__WXWINCE__)
+ #include <ole2.h>
+ #include <shellapi.h>
+ #if _WIN32_WCE < 400
+ #include <aygshell.h>
+ #endif
+#endif
+
// include <commctrl.h> "properly"
#include "wx/msw/wrapcctl.h"
event.m_col = nmHDR->iItem;
break;
+#if defined(__WXWINCE__) && _WIN32_WCE < 400
+ case GN_CONTEXTMENU:
+#endif //__WXWINCE__
case NM_RCLICK:
{
eventType = wxEVT_COMMAND_LIST_COL_RIGHT_CLICK;
// where did the click occur?
POINT ptClick;
+#if defined(__WXWINCE__) && _WIN32_WCE < 400
+ if(nmhdr->code == GN_CONTEXTMENU) {
+ ptClick = ((NMRGINFO*)nmhdr)->ptAction;
+ } else
+#endif //__WXWINCE__
if ( !::GetCursorPos(&ptClick) )
{
wxLogLastError(_T("GetCursorPos"));
event.m_item.m_data = GetItemData(iItem);
break;
+#if defined(__WXWINCE__) && _WIN32_WCE < 400
+ case GN_CONTEXTMENU:
+#endif //__WXWINCE__
case NM_RCLICK:
// if the user processes it in wxEVT_COMMAND_RIGHT_CLICK(),
// don't do anything else
LV_HITTESTINFO lvhti;
wxZeroMemory(lvhti);
+#if defined(__WXWINCE__) && _WIN32_WCE < 400
+ if(nmhdr->code == GN_CONTEXTMENU) {
+ lvhti.pt = ((NMRGINFO*)nmhdr)->ptAction;
+ } else
+#endif //__WXWINCE__
::GetCursorPos(&(lvhti.pt));
::ScreenToClient(GetHwnd(),&(lvhti.pt));
if ( ListView_HitTest(GetHwnd(),&lvhti) != -1 )
{
wxASSERT_MSG( IsVirtual(), _T("this is for virtual controls only") );
- if ( !::SendMessage(GetHwnd(), LVM_SETITEMCOUNT, (WPARAM)count, LVSICF_NOSCROLL) )
+ if ( !::SendMessage(GetHwnd(), LVM_SETITEMCOUNT, (WPARAM)count,
+ LVSICF_NOSCROLL | LVSICF_NOINVALIDATEALL) )
{
wxLogLastError(_T("ListView_SetItemCount"));
}