2025-04-27 07:49:33 -04:00

51 lines
1.1 KiB
C++

/*
*/
#pragma once
#include "iuiview.h"
#include "duser.h"
#include "comutil.h"
#include "rowobject.h"
class __declspec(uuid(CLSID_CSxApwDUserView_declspec_uuid))
CSxApwDUserView : public ISxApwUiView
{
private:
HWND m_hOurParentWnd;
LONG m_ulRefCount;
#if DUI_NEEDS_OWN_THREAD
HANDLE m_hThreadHandle;
HANDLE m_hThreadGoing;
DWORD m_dwThreadId;
#endif
DirectUI::Element* m_hMasterElement;
HRESULT InternalCreateUI();
HRESULT InternalDestroyUI();
HRESULT InternalSetNextRow( IViewRow* pNextRow );
CSxApwDUserView();
virtual ~CSxApwDUserView();
#if DUI_NEEDS_OWN_THREAD
static DWORD WINAPI CALLBACK ThisViewThreadCallback( LPVOID pvContext );
DWORD ThisViewThreadCallback();
#endif
friend class CDUserViewFactory;
public:
virtual ULONG STDMETHODCALLTYPE AddRef();
virtual ULONG STDMETHODCALLTYPE Release();
virtual HRESULT STDMETHODCALLTYPE QueryInterface( REFIID riid, LPVOID* ppvObject );
STDMETHOD(SetParentWindow)( HWND hWnd );
STDMETHOD(Draw)(void);
STDMETHOD(NextRow)( int nColumns, const LPCWSTR* columns );
};