mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.4 KiB
55 lines
1.4 KiB
// FrameworkNotifySink.h: interface for the CFrameworkNotifySink class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_FRAMEWORKNOTIFYSINK_H__E5927148_521E_11D1_9B97_00C04FA3B60C__INCLUDED_)
|
|
#define AFX_FRAMEWORKNOTIFYSINK_H__E5927148_521E_11D1_9B97_00C04FA3B60C__INCLUDED_
|
|
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif // _MSC_VER >= 1000
|
|
|
|
#include "mmfw.h"
|
|
#include "..\cdopt\cdopt.h"
|
|
|
|
#define WM_DISCCHANGED WM_USER + 1500
|
|
|
|
typedef struct CompNode
|
|
{
|
|
IMMComponent* pComp;
|
|
HWND hwndComp;
|
|
HMENU hmenuComp;
|
|
IMMFWNotifySink* pSink;
|
|
struct CompNode* pNext;
|
|
TCHAR szTitle[MAX_PATH*2];
|
|
} COMPNODE, *PCOMPNODE;
|
|
|
|
LPCDOPT GetCDOpt();
|
|
LPCDDATA GetCDData();
|
|
|
|
class CFrameworkNotifySink : public IMMFWNotifySink
|
|
{
|
|
public:
|
|
CFrameworkNotifySink(PCOMPNODE pNode);
|
|
virtual ~CFrameworkNotifySink();
|
|
|
|
STDMETHOD (QueryInterface)(REFIID riid, LPVOID *ppvObj);
|
|
STDMETHOD_(ULONG,AddRef)();
|
|
STDMETHOD_(ULONG,Release)();
|
|
|
|
STDMETHOD (OnEvent)(MMEVENTS mmEventID, LPVOID pEvent);
|
|
STDMETHOD_(void*,GetCustomMenu)();
|
|
STDMETHOD_(HPALETTE,GetPalette)();
|
|
STDMETHOD_(void*,GetOptions)();
|
|
STDMETHOD_(void*,GetData)();
|
|
|
|
public:
|
|
static HWND m_hwndTitle;
|
|
|
|
private:
|
|
DWORD m_dwRef;
|
|
PCOMPNODE m_pNode;
|
|
TCHAR m_szAppName[MAX_PATH/2];
|
|
};
|
|
|
|
#endif // !defined(AFX_FRAMEWORKNOTIFYSINK_H__E5927148_521E_11D1_9B97_00C04FA3B60C__INCLUDED_)
|