soui 5.0.0.1
Soui5 Doc
 
Loading...
Searching...
No Matches
SMenuWndHook.h
1/*########################################################################
2 Filename: MenuWndHook.h
3 ----------------------------------------------------
4 Remarks: ...
5 ----------------------------------------------------
6 Author: 成真
7 Email: anyou@sina.com
8 anyou@msn.com
9 Created: 7/4/2003 17:37
10 ########################################################################*/
11
12#ifndef __SMENUWNDHOOK__H__
13#define __SMENUWNDHOOK__H__
14
15SNSBEGIN
16
17/*########################################################################
18 ------------------------------------------------
19 CMenuWndHook 类
20 ------------------------------------------------
21 ########################################################################*/
22class SOUI_EXP SMenuWndHook {
23 // 建构 ---------------------------------------------------------
24 public:
25 SMenuWndHook(HWND hWnd);
26 ~SMenuWndHook();
27 static void InstallHook(HINSTANCE hInst, LPCWSTR pszSkinName = NULL);
28 static void UnInstallHook();
29
30 // 消息 ----------------------------------------------------------
31 public:
32 static LRESULT CALLBACK CoolMenuProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
33 static LRESULT CALLBACK WindowHook(int code, WPARAM wParam, LPARAM lParam);
34
35 int OnCreate(LPCREATESTRUCT lpCreateStruct);
36 void OnNcCalcsize(BOOL bValidCalc, NCCALCSIZE_PARAMS *lpncsp);
37 void OnNcDestroy();
38 void OnPrint(HDC dc);
39 void OnNcPaint();
40 void OnWindowPosChanging(WINDOWPOS *pWindowPos);
41 void OnWindowPosChanged();
42
43 // 操作 ----------------------------------------------------------
44 public:
45 static SMenuWndHook *AddWndHook(HWND hwnd);
46 static SMenuWndHook *GetWndHook(HWND hwnd);
47
48 // 数据 -----------------------------------------------------------
49 protected:
50 HWND m_hWnd;
51
52 static SMap<HWND, SMenuWndHook *> m_WndMenuMap;
53 static HHOOK m_hMenuHook;
54 static SStringW m_strSkinName;
55};
56
57SNSEND
58#endif // __SMENUWNDHOOK__H__