129 virtual ~SNativeWnd(
void);
139 static ATOM
RegisterSimpleWnd(HINSTANCE hInst, LPCTSTR pszSimpleWndName, BOOL bImeWnd);
148 static void InitWndClass(HINSTANCE hInst, LPCTSTR pszSimpleWndName, BOOL bImeWnd);
165 STDMETHOD_(
void,
SetID)(THIS_
int nID)
185 STDMETHOD_(HWND, CreateNative)
186 (THIS_ LPCTSTR lpWindowName, DWORD dwStyle, DWORD dwExStyle,
int x,
int y,
int nWidth,
int nHeight, HWND hWndParent,
int nID DEF_VAL(0), LPVOID lpParam DEF_VAL(0)) OVERRIDE;
193 STDMETHOD_(HWND, GetHwnd)(THIS) OVERRIDE;
201 STDMETHOD_(BOOL, SubclassWindow)(THIS_ HWND hWnd) OVERRIDE;
209 STDMETHOD_(HWND, UnsubclassWindow)(THIS_ BOOL bForce DEF_VAL(FALSE)) OVERRIDE;
216 STDMETHOD_(
const MSG *, GetCurrentMessage)(THIS) SCONST OVERRIDE;
223 STDMETHOD_(
int, GetDlgCtrlID)(THIS) SCONST OVERRIDE;
230 STDMETHOD_(DWORD, GetStyle)(THIS) SCONST OVERRIDE;
237 STDMETHOD_(DWORD, GetExStyle)(THIS) SCONST OVERRIDE;
245 STDMETHOD_(LONG_PTR, GetWindowLongPtr)(THIS_
int nIndex) SCONST OVERRIDE;
254 STDMETHOD_(LONG_PTR, SetWindowLongPtr)(THIS_
int nIndex, LONG_PTR dwNewLong) OVERRIDE;
261 STDMETHOD_(HWND, GetParent)(THIS) OVERRIDE;
269 STDMETHOD_(HWND, SetParent)(THIS_ HWND hWndNewParent) OVERRIDE;
276 STDMETHOD_(BOOL, IsWindowEnabled)(THIS) SCONST OVERRIDE;
286 STDMETHOD_(BOOL, ModifyStyle)
287 (THIS_ DWORD dwRemove, DWORD dwAdd, UINT nFlags DEF_VAL(0)) OVERRIDE;
297 STDMETHOD_(BOOL, ModifyStyleEx)
298 (THIS_ DWORD dwRemove, DWORD dwAdd, UINT nFlags DEF_VAL(0)) OVERRIDE;
311 STDMETHOD_(BOOL, SetWindowPos)
312 (THIS_ HWND hWndInsertAfter,
int x,
int y,
int cx,
int cy, UINT nFlags) OVERRIDE;
320 STDMETHOD_(BOOL, CenterWindow)(THIS_ HWND hWndCenter DEF_VAL(0)) OVERRIDE;
327 STDMETHOD_(BOOL, DestroyWindow)(THIS) OVERRIDE;
334 STDMETHOD_(BOOL, IsWindow)(THIS) SCONST OVERRIDE;
342 STDMETHOD_(BOOL, Invalidate)(THIS_ BOOL bErase DEF_VAL(TRUE)) OVERRIDE;
351 STDMETHOD_(BOOL, InvalidateRect)(THIS_ LPCRECT lpRect, BOOL bErase DEF_VAL(TRUE)) OVERRIDE;
359 STDMETHOD_(BOOL, GetWindowRect)(THIS_ LPRECT lpRect) SCONST OVERRIDE;
367 STDMETHOD_(BOOL, GetClientRect)(THIS_ LPRECT lpRect) SCONST OVERRIDE;
375 STDMETHOD_(BOOL, ClientToScreen)(THIS_ LPPOINT lpPoint) SCONST OVERRIDE;
383 STDMETHOD_(BOOL, ClientToScreen2)(THIS_ LPRECT lpRect) SCONST OVERRIDE;
391 STDMETHOD_(BOOL, ScreenToClient)(THIS_ LPPOINT lpPoint) SCONST OVERRIDE;
399 STDMETHOD_(BOOL, ScreenToClient2)(THIS_ LPRECT lpRect) SCONST OVERRIDE;
409 STDMETHOD_(
int, MapWindowPoints)
410 (THIS_ HWND hWndTo, LPPOINT lpPoint, UINT nCount) SCONST OVERRIDE;
419 STDMETHOD_(
int, MapWindowRect)(THIS_ HWND hWndTo, LPRECT lpRect) SCONST OVERRIDE;
429 STDMETHOD_(UINT_PTR, SetTimer)
430 (THIS_ UINT_PTR nIDEvent, UINT nElapse, void(CALLBACK *lpfnTimer)(HWND, UINT, UINT_PTR, DWORD) DEF_VAL(NULL)) OVERRIDE;
438 STDMETHOD_(BOOL, KillTimer)(THIS_ UINT_PTR nIDEvent) OVERRIDE;
445 STDMETHOD_(HDC, GetDC)(THIS) OVERRIDE;
452 STDMETHOD_(HDC, GetWindowDC)(THIS) OVERRIDE;
460 STDMETHOD_(
int, ReleaseDC)(THIS_ HDC hDC) OVERRIDE;
470 STDMETHOD_(BOOL, CreateCaret)(THIS_ HBITMAP hBitmap,
int nWidth,
int nHeight) OVERRIDE;
477 STDMETHOD_(BOOL, HideCaret)(THIS) OVERRIDE;
484 STDMETHOD_(BOOL, ShowCaret)(THIS) OVERRIDE;
491 STDMETHOD_(HWND, GetCapture)(THIS) OVERRIDE;
498 STDMETHOD_(HWND, SetCapture)(THIS) OVERRIDE;
505 STDMETHOD_(BOOL, ReleaseCapture)(THIS) OVERRIDE;
512 STDMETHOD_(HWND, SetFocus)(THIS) OVERRIDE;
522 STDMETHOD_(LRESULT, SendMessage)
523 (THIS_ UINT message, WPARAM wParam DEF_VAL(0), LPARAM lParam DEF_VAL(0)) OVERRIDE;
533 STDMETHOD_(BOOL, PostMessage)
534 (THIS_ UINT message, WPARAM wParam DEF_VAL(0), LPARAM lParam DEF_VAL(0)) OVERRIDE;
544 STDMETHOD_(BOOL, SendNotifyMessage)
545 (THIS_ UINT message, WPARAM wParam DEF_VAL(0), LPARAM lParam DEF_VAL(0)) OVERRIDE;
553 STDMETHOD_(BOOL, SetWindowText)(THIS_ LPCTSTR lpszString) OVERRIDE;
562 STDMETHOD_(
int, GetWindowText)(THIS_ LPTSTR lpszStringBuf,
int nMaxCount) SCONST OVERRIDE;
569 STDMETHOD_(BOOL, IsIconic)(THIS) SCONST OVERRIDE;
576 STDMETHOD_(BOOL, IsZoomed)(THIS) SCONST OVERRIDE;
583 STDMETHOD_(BOOL, IsWindowVisible)(THIS) SCONST OVERRIDE;
595 STDMETHOD_(BOOL, MoveWindow)
596 (THIS_
int x,
int y,
int nWidth,
int nHeight, BOOL bRepaint DEF_VAL(TRUE)) OVERRIDE;
605 STDMETHOD_(BOOL, MoveWindow2)(THIS_ LPCRECT lpRect, BOOL bRepaint DEF_VAL(TRUE)) OVERRIDE;
613 STDMETHOD_(BOOL, ShowWindow)(THIS_
int nCmdShow) OVERRIDE;
622 STDMETHOD_(
int, SetWindowRgn)(THIS_ HRGN hRgn, BOOL bRedraw DEF_VAL(TRUE)) OVERRIDE;
632 STDMETHOD_(BOOL, SetLayeredWindowAttributes)
633 (THIS_ COLORREF crKey, BYTE bAlpha, DWORD dwFlags) OVERRIDE;
648 STDMETHOD_(BOOL, UpdateLayeredWindow)
649 (THIS_ HDC hdcDst, POINT *pptDst, SIZE *psize, HDC hdcSrc, POINT *pptSrc, COLORREF crKey, BLENDFUNCTION *pblend, DWORD dwFlags) OVERRIDE;
657 STDMETHOD_(
void, SetMsgHandler)(THIS_ FunMsgHandler fun,
void *ctx) OVERRIDE;
671 LRESULT DefWindowProc();
682 LRESULT ForwardNotifications(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
693 LRESULT ReflectNotifications(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
705 static BOOL DefaultReflectionHandler(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult);
719 virtual BOOL ProcessWindowMessage(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult, DWORD dwMsgMapID = 0);
730 LRESULT DefWindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam);
737 virtual void OnFinalMessage(HWND hWnd);
756 static LRESULT CALLBACK
WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
767 static LRESULT CALLBACK
StartWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);