23 #if defined(__GNUC__) || defined(__clang__) 24 #define GCCU(x) x __attribute__((unused)) 28 #define Unused(x) (x); 32 #ifdef SetWindowLongPtr 33 #undef SetWindowLongPtr 40 #ifdef GetWindowLongPtr 41 #undef GetWindowLongPtr 49 #pragma push_macro("SubclassWindow") 56 #define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp)) 59 #define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp)) 67 template <DWORD t_dwStyle = 0, DWORD t_dwExStyle = 0>
90 template <DWORD t_dwStyle = 0, DWORD t_dwExStyle = 0,
class TWinTraits = CControlWinTraits>
96 return dwStyle | t_dwStyle | TWinTraits::GetWndStyle(dwStyle);
101 return dwExStyle | t_dwExStyle | TWinTraits::GetWndExStyle(dwExStyle);
171 m_relproc =
DWORD(reinterpret_cast<char *>(
proc) - (reinterpret_cast<char *>(
this) +
sizeof(thunkCode)));
177 #elif defined(_AMD64_) 201 #elif defined(_M_ARM) 214 m_mov_r0 = 0xE59F0000;
215 m_mov_pc = 0xE59FF000;
216 m_this = (
DWORD)pThis;
224 #error ARCH not supported 255 return reinterpret_cast<WNDPROC>(
m_pthunk);
312 if (hWndCenter ==
NULL)
314 if (hWndCenter ==
NULL)
316 RECT wndCenterRect, wndRect;
319 int wndCenterWidth = wndCenterRect.
right - wndCenterRect.
left;
320 int wndCenterHeight = wndCenterRect.
bottom - wndCenterRect.
top;
321 int wndWidth = wndRect.
right - wndRect.
left;
322 int wndHeight = wndRect.
bottom - wndRect.
top;
324 wndCenterRect.
left + ((wndCenterWidth - wndWidth + 1) >> 1),
325 wndCenterRect.
top + ((wndCenterHeight - wndHeight + 1) >> 1),
326 wndWidth, wndHeight,
TRUE);
375 lpRect->
left = leftTop.
x;
376 lpRect->
top = leftTop.
y;
377 lpRect->
right = rightBottom.
x;
378 lpRect->
bottom = rightBottom.
y;
393 rect.m_lpRect->right -
rect.m_lpRect->left,
394 rect.m_lpRect->bottom -
rect.m_lpRect->top,
397 _AtlBaseModule.GetModuleInstance(),
547 idHWndPair.
nID = nID;
550 return idHWndPair.hWnd;
595 string.ReleaseBuffer(
len);
1015 RECT clientRect, wndRect;
1304 template <
class TBase = CWindow>
1327 template <
class TBase = CWindow>
1354 newDlgProc = reinterpret_cast<DLGPROC>(pThis->
m_thunk.GetWNDPROC());
1357 pThis->m_hWnd =
hWnd;
1369 hWnd = pThis->m_hWnd;
1397 pThis->m_hWnd =
NULL;
1409 template <
class T,
class TBase = CWindow>
1428 _AtlWinModule.AddCreateWndData(&
m_thunk.
cd,
this);
1430 pImpl = static_cast<T*>(
this);
1444 _AtlWinModule.AddCreateWndData(&
m_thunk.
cd,
this);
1446 pImpl = static_cast<T*>(
this);
1461 template <
class TBase = CWindow,
class TWinTraits = CControlWinTraits>
1496 WNDPROC oldWindowProc = reinterpret_cast<WNDPROC>(
1498 if (oldWindowProc ==
NULL)
1502 pThis->m_hWnd =
hWnd;
1514 HWND hwndOld = pThis->m_hWnd;
1516 WNDPROC subclassedProc = reinterpret_cast<WNDPROC>(
1518 if (!bForce && oldWindowProc != subclassedProc)
1524 pThis->m_hWnd =
NULL;
1535 return TWinTraits::GetWndStyle(dwStyle);
1540 return TWinTraits::GetWndExStyle(dwExStyle);
1562 newWindowProc = pThis->
m_thunk.GetWNDPROC();
1565 pThis->m_hWnd =
hWnd;
1582 hWnd = pThis->m_hWnd;
1589 if (handled ==
FALSE)
1607 pThis->m_hWnd =
NULL;
1628 _AtlWinModule.AddCreateWndData(&
m_thunk.
cd,
this);
1632 rect.m_lpRect = &TBase::rcDefault;
1634 rect.m_lpRect->top,
rect.m_lpRect->right -
rect.m_lpRect->left,
rect.m_lpRect->bottom -
rect.m_lpRect->top,
1635 hWndParent, MenuOrID.
m_hMenu, _AtlBaseModule.GetModuleInstance(), lpCreateParam);
1644 template <
class T,
class TBase = CWindow,
class TWinTraits = CControlWinTraits>
1667 if (T::GetWndClassInfo().m_lpszOrigName ==
NULL)
1668 T::GetWndClassInfo().m_lpszOrigName = pThis->GetWndClassName();
1671 if (szWindowName ==
NULL)
1672 szWindowName = T::GetWndCaption();
1673 dwStyle = T::GetWndStyle(dwStyle);
1674 dwExStyle = T::GetWndExStyle(dwExStyle);
1677 dwExStyle, MenuOrID, atom, lpCreateParam);
1681 template <
class TBase = CWindow,
class TWinTraits = CControlWinTraits>
1686 using TBase::m_hWnd;
1732 WNDPROC oldWindowProc = reinterpret_cast<WNDPROC>(
1734 if (oldWindowProc ==
NULL)
1738 pThis->m_hWnd =
hWnd;
1749 HWND hwndOld = pThis->m_hWnd;
1751 WNDPROC subclassedProc = reinterpret_cast<WNDPROC>(
1759 pThis->m_hWnd =
NULL;
1774 newWindowProc = pThis->
m_thunk.GetWNDPROC();
1777 pThis->m_hWnd =
hWnd;
1794 hWnd = pThis->m_hWnd;
1802 if (handled ==
FALSE)
1810 pThis->m_hWnd =
NULL;
1821 #define BEGIN_MSG_MAP(theClass) \ 1823 BOOL ProcessWindowMessage(HWND GCCU(hWnd), UINT GCCU(uMsg), WPARAM GCCU(wParam), LPARAM GCCU(lParam), LRESULT &GCCU(lResult), DWORD dwMsgMapID = 0) \ 1825 BOOL GCCU(bHandled) = TRUE; \ 1832 switch(dwMsgMapID) \ 1836 #define ALT_MSG_MAP(map) \ 1840 #define END_MSG_MAP() \ 1849 #define MESSAGE_HANDLER(msg, func) \ 1853 lResult = func(uMsg, wParam, lParam, bHandled); \ 1858 #define MESSAGE_RANGE_HANDLER(msgFirst, msgLast, func) \ 1859 if (uMsg >= msgFirst && uMsg <= msgLast) \ 1862 lResult = func(uMsg, wParam, lParam, bHandled); \ 1867 #define COMMAND_HANDLER(id, code, func) \ 1868 if (uMsg == WM_COMMAND && id == LOWORD(wParam) && code == HIWORD(wParam)) \ 1871 lResult = func(HIWORD(wParam), LOWORD(wParam), (HWND)lParam, bHandled); \ 1876 #define COMMAND_ID_HANDLER(id, func) \ 1877 if (uMsg == WM_COMMAND && id == LOWORD(wParam)) \ 1880 lResult = func(HIWORD(wParam), LOWORD(wParam), (HWND)lParam, bHandled); \ 1885 #define COMMAND_CODE_HANDLER(code, func) \ 1886 if (uMsg == WM_COMMAND && code == HIWORD(wParam)) \ 1889 lResult = func(HIWORD(wParam), LOWORD(wParam), (HWND)lParam, bHandled); \ 1894 #define COMMAND_RANGE_HANDLER(idFirst, idLast, func) \ 1895 if (uMsg == WM_COMMAND && LOWORD(wParam) >= idFirst && LOWORD(wParam) <= idLast) \ 1898 lResult = func(HIWORD(wParam), LOWORD(wParam), (HWND)lParam, bHandled); \ 1903 #define NOTIFY_CODE_HANDLER(cd, func) \ 1904 if(uMsg == WM_NOTIFY && cd == ((LPNMHDR)lParam)->code) \ 1907 lResult = func((int)wParam, (LPNMHDR)lParam, bHandled); \ 1912 #define NOTIFY_HANDLER(id, cd, func) \ 1913 if(uMsg == WM_NOTIFY && id == ((LPNMHDR)lParam)->idFrom && cd == ((LPNMHDR)lParam)->code) \ 1916 lResult = func((int)wParam, (LPNMHDR)lParam, bHandled); \ 1921 #define CHAIN_MSG_MAP(theChainClass) \ 1923 if (theChainClass::ProcessWindowMessage(hWnd, uMsg, wParam, lParam, lResult)) \ 1927 #define DECLARE_WND_CLASS_EX(WndClassName, style, bkgnd) \ 1928 static ATL::CWndClassInfo& GetWndClassInfo() \ 1930 static ATL::CWndClassInfo wc = \ 1932 { sizeof(WNDCLASSEX), style, StartWindowProc, \ 1933 0, 0, NULL, NULL, NULL, (HBRUSH)(bkgnd + 1), NULL, WndClassName, NULL }, \ 1934 NULL, NULL, IDC_ARROW, TRUE, 0, _T("") \ 1969 #pragma pop_macro("SubclassWindow") BOOL ChangeClipboardChain(HWND hWndNewNext)
BOOL IsDialogMessage(LPMSG lpMsg)
BOOL WINAPI EnumChildWindows(_In_opt_ HWND, _In_ WNDENUMPROC, _In_ LPARAM)
CWinTraits< WS_OVERLAPPEDWINDOW|WS_CHILD|WS_VISIBLE|WS_CLIPCHILDREN|WS_CLIPSIBLINGS, WS_EX_MDICHILD > CMDIChildWinTraits
BOOL GetScrollInfo(int nBar, LPSCROLLINFO lpScrollInfo)
BOOL ModifyStyleEx(DWORD dwRemove, DWORD dwAdd, UINT nFlags=0)
HWND Create(HWND hWndParent, LPARAM dwInitParam=NULL)
BOOL WINAPI GetScrollRange(_In_ HWND, _In_ int, _Out_ LPINT, _Out_ LPINT)
BOOL IsWindowEnabled() const
BOOL WINAPI ValidateRgn(_In_ HWND, _In_opt_ HRGN)
HWND UnsubclassWindow(BOOL bForce=FALSE)
BOOL WINAPI CheckDlgButton(_In_ HWND, _In_ int, _In_ UINT)
int MapWindowPoints(HWND hWndTo, LPPOINT lpPoint, UINT nCount) const
BOOL WINAPI RedrawWindow(_In_opt_ HWND, _In_opt_ LPCRECT, _In_opt_ HRGN, _In_ UINT)
HDC WINAPI GetDCEx(_In_opt_ HWND, _In_opt_ HRGN, _In_ DWORD)
BOOL GetScrollPos(int nBar)
UINT ArrangeIconicWindows()
struct ATL::CWindow::_IDHWNDPAIR IDHWNDPAIR
static LPCTSTR GetWndClassName()
BOOL MoveWindow(int x, int y, int nWidth, int nHeight, BOOL bRepaint=TRUE)
HWND GetWindow(UINT nCmd) const
HWND WINAPI SetClipboardViewer(_In_ HWND)
BOOL WINAPI DrawMenuBar(_In_ HWND)
static DWORD GetWndStyle(DWORD dwStyle)
DWORD GetWindowThreadID()
UINT IsDlgButtonChecked(int nIDButton) const
BOOL EndDialog(_In_ int nRetCode)
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
BOOL WINAPI ClientToScreen(_In_ HWND, _Inout_ LPPOINT)
BOOL HiliteMenuItem(HMENU hMenu, UINT uHiliteItem, UINT uHilite)
int SetScrollInfo(int nBar, LPSCROLLINFO lpScrollInfo, BOOL bRedraw=TRUE)
BOOL WINAPI IsWindow(_In_opt_ HWND)
HDC WINAPI GetDC(_In_opt_ HWND)
int _tcscmp(const _TCHAR *s1, const _TCHAR *s2)
void SetFont(HFONT hFont, BOOL bRedraw=TRUE)
BOOL WINAPI LockWindowUpdate(_In_opt_ HWND)
int GetWindowTextLength() const
BOOL DlgDirSelect(LPTSTR lpString, int nCount, int nIDListBox)
HWND WINAPI SetParent(_In_ HWND, _In_opt_ HWND)
BOOL ShowWindowAsync(int nCmdShow)
HWND GetNextDlgGroupItem(HWND hWndCtl, BOOL bPrevious=FALSE) const
static DWORD GetWndStyle(DWORD dwStyle)
HWND Create(HWND hWndParent, _U_RECT rect=NULL, LPCTSTR szWindowName=NULL, DWORD dwStyle=0, DWORD dwExStyle=0, _U_MENUorID MenuOrID=0U, LPVOID lpCreateParam=NULL)
CContainedWindowT(LPCTSTR lpszClassName, CMessageMap *pObject, DWORD dwMsgMapID=0)
BOOL GetUpdateRect(LPRECT lpRect, BOOL bErase=FALSE)
HWND GetLastActivePopup() const
static LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
TW_UINT32 TW_UINT16 TW_UINT16 MSG
virtual ~CDialogImplBaseT()
BOOL EnableWindow(BOOL bEnable=TRUE)
HWND GetDescendantWindow(int nID) const
return pMemory GetBuffer()
GLenum GLuint GLenum GLsizei const GLchar * message
UINT WINAPI ArrangeIconicWindows(_In_ HWND)
CContainedWindowT< CWindow > CContainedWindow
BOOL WINAPI ShowScrollBar(_In_ HWND, _In_ int, _In_ BOOL)
int GetWindowRgn(HRGN hRgn)
BOOL WINAPI UpdateWindow(_In_ HWND)
LONG SetWindowLong(int nIndex, LONG dwNewLong)
BOOL ScrollWindow(int xAmount, int yAmount, LPCRECT lpRect=NULL, LPCRECT lpClipRect=NULL)
BOOL SetWindowPos(HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags)
static HANDLE ULONG_PTR dwData
HRESULT GetDlgHost(int nID, REFIID iid, void **ppHost)
int SetScrollPos(int nBar, int nPos, BOOL bRedraw=TRUE)
BOOL WinHelp(LPCTSTR lpszHelp, UINT nCmd=HELP_CONTEXT, DWORD dwData=0)
virtual void OnFinalMessage(HWND)
GLint GLint GLint GLint GLint x
HWND WINAPI SetFocus(_In_opt_ HWND)
virtual BOOL ProcessWindowMessage(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult, DWORD dwMsgMapID)=0
BOOL WINAPI ChangeClipboardChain(_In_ HWND, _In_ HWND)
void EndPaint(LPPAINTSTRUCT lpPaint)
#define SendDlgItemMessage
#define DlgDirSelectComboBoxEx
BOOL Init(PUSERCONNECT UserCon)
HRESULT GetDlgControl(int nID, REFIID iid, void **ppCtrl)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI FlushInstructionCache(IN HANDLE hProcess, IN LPCVOID lpBaseAddress, IN SIZE_T nSize)
BOOL SetWindowText(LPCTSTR lpszString)
#define DlgDirListComboBox
void DragAcceptFiles(BOOL bAccept=TRUE)
HWND WINAPI GetNextDlgTabItem(_In_ HWND, _In_opt_ HWND, _In_ BOOL)
BOOL WINAPI IsIconic(_In_ HWND)
BOOL WINAPI FlashWindow(_In_ HWND, _In_ BOOL)
static LRESULT CALLBACK StartWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
BOOL WINAPI DestroyWindow(_In_ HWND)
BOOL WINAPI SetWindowPlacement(_In_ HWND hWnd, _In_ const WINDOWPLACEMENT *)
BOOL ValidateRect(LPCRECT lpRect)
HWND GetNextDlgTabItem(HWND hWndCtl, BOOL bPrevious=FALSE) const
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
void PrintClient(HDC hDC, DWORD dwFlags) const
BOOL Init(WNDPROC proc, void *pThis)
HWND WINAPI GetTopWindow(_In_opt_ HWND)
LRESULT DefWindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
_ATL_WNDCLASSINFOW CWndClassInfo
struct ATL::CWindow::_IDHWNDPAIR * PIDHWNDPAIR
const _ATL_MSG * m_pCurrentMsg
BOOL ResizeClient(int nWidth, int nHeight, BOOL bRedraw=FALSE)
HWND WINAPI GetLastActivePopup(_In_ HWND)
DWORD GetWindowContextHelpId() const
BOOL WINAPI ScrollWindow(_In_ HWND, _In_ int, _In_ int, _In_opt_ LPCRECT, _In_opt_ LPCRECT)
BOOL InvalidateRect(LPCRECT lpRect, BOOL bErase=TRUE)
BOOL SetDlgItemText(int nID, LPCTSTR lpszString)
HWND WINAPI GetNextDlgGroupItem(_In_ HWND, _In_opt_ HWND, _In_ BOOL)
static BOOL CALLBACK GetDescendantWindowCallback(HWND hWnd, LPARAM lParam)
int GetUpdateRgn(HRGN hRgn, BOOL bErase=FALSE)
int WINAPI SetWindowRgn(_In_ HWND, _In_opt_ HRGN, _In_ BOOL)
int WINAPI GetDlgCtrlID(_In_ HWND)
BOOL IsChild(const HWND hWnd) const
BOOL SubclassWindow(HWND hWnd)
BOOL WINAPI ShowWindowAsync(_In_ HWND, _In_ int)
LPVOID NTAPI VirtualAlloc(IN LPVOID lpAddress, IN SIZE_T dwSize, IN DWORD flAllocationType, IN DWORD flProtect)
HWND WINAPI SetActiveWindow(_In_ HWND)
static DWORD GetWndStyle(DWORD dwStyle)
BOOL WINAPI HideCaret(_In_opt_ HWND)
void GotoDlgCtrl(HWND hWndCtrl) const
BOOL WINAPI CreateCaret(_In_ HWND, _In_opt_ HBITMAP, _In_ int, _In_ int)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
int WINAPI GetUpdateRgn(_In_ HWND, _In_ HRGN, _In_ BOOL)
UINT_PTR SetTimer(UINT_PTR nIDEvent, UINT nElapse, void(CALLBACK *lpfnTimer)(HWND, UINT, UINT_PTR, DWORD)=NULL)
BOOL CheckDlgButton(int nIDButton, UINT nCheck)
BOOL GetClientRect(LPRECT lpRect) const
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
GLenum GLuint GLenum GLsizei length
LONG_PTR SetWindowLongPtr(int nIndex, LONG_PTR dwNewLong)
BOOL WINAPI SetWindowContextHelpId(_In_ HWND, _In_ DWORD)
BOOL CheckRadioButton(int nIDFirstButton, int nIDLastButton, int nIDCheckButton)
BOOL WINAPI HiliteMenuItem(_In_ HWND, _In_ HMENU, _In_ UINT, _In_ UINT)
CWinTraits< WS_CHILD|WS_VISIBLE|WS_CLIPCHILDREN|WS_CLIPSIBLINGS, 0 > CControlWinTraits
BOOL KillTimer(UINT_PTR nIDEvent)
BOOL GetWindowRect(LPRECT lpRect) const
_Out_opt_ int _Out_opt_ int * cy
DWORD WINAPI GetWindowThreadProcessId(HWND, PDWORD)
BOOL WINAPI BringWindowToTop(_In_ HWND)
HMENU WINAPI GetSystemMenu(_In_ HWND, _In_ BOOL)
BOOL SetMenu(HMENU hMenu)
UINT WINAPI GetDlgItemInt(_In_ HWND, _In_ int, _Out_opt_ PBOOL, _In_ BOOL)
int WINAPI ScrollWindowEx(_In_ HWND, _In_ int, _In_ int, _In_opt_ LPCRECT, _In_opt_ LPCRECT, _In_opt_ HRGN, _Out_opt_ LPRECT, _In_ UINT)
BOOL WINAPI IsWindowEnabled(_In_ HWND)
BOOL WINAPI IsWindowUnicode(_In_ HWND)
UINT WINAPI IsDlgButtonChecked(_In_ HWND, _In_ int)
virtual DLGPROC GetDialogProc()
BOOL WINAPI GetWindowPlacement(_In_ HWND, _Inout_ WINDOWPLACEMENT *)
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)
CContainedWindowT(CMessageMap *pObject, DWORD dwMsgMapID=0)
BOOL ClientToScreen(LPRECT lpRect) const
CWinTraits< WS_OVERLAPPEDWINDOW|WS_CLIPCHILDREN|WS_CLIPSIBLINGS, WS_EX_APPWINDOW|WS_EX_WINDOWEDGE > CFrameWinTraits
BOOL SetWindowPlacement(const WINDOWPLACEMENT *lpwndpl)
void SendMessageToDescendants(UINT message, WPARAM wParam=0, LPARAM lParam=0, BOOL bDeep=TRUE)
int SetDlgCtrlID(int nID)
BOOL ValidateRgn(HRGN hRgn)
int ScrollWindowEx(int dx, int dy, LPCRECT lpRectScroll, LPCRECT lpRectClip, HRGN hRgnUpdate, LPRECT lpRectUpdate, UINT flags)
BOOL ClientToScreen(LPPOINT lpPoint) const
int DlgDirListComboBox(LPTSTR lpPathSpec, int nIDComboBox, int nIDStaticPath, UINT nFileType)
int SetWindowRgn(HRGN hRgn, BOOL bRedraw=FALSE)
virtual void OnFinalMessage(HWND)
HDWP WINAPI DeferWindowPos(_In_ HDWP, _In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
HDC BeginPaint(LPPAINTSTRUCT lpPaint)
TCHAR m_szAutoName[sizeof("ATL:")+sizeof(void *) *2]
BOOL WINAPI SetMenu(_In_ HWND, _In_opt_ HMENU)
HWND Create(LPCTSTR lpstrWndClass, HWND hWndParent, _U_RECT rect=NULL, LPCTSTR szWindowName=NULL, DWORD dwStyle=0, DWORD dwExStyle=0, _U_MENUorID MenuOrID=0U, LPVOID lpCreateParam=NULL)
BOOL EnableScrollBar(UINT uSBFlags, UINT uArrowFlags=ESB_ENABLE_BOTH)
virtual ~CWindowImplRoot()
_ATL_MSG(HWND hWnd, UINT uMsg, WPARAM wParamIn, LPARAM lParamIn, BOOL bHandledIn=TRUE)
BOOL GetWindowPlacement(WINDOWPLACEMENT *lpwndpl) const
int WINAPI GetScrollPos(_In_ HWND, _In_ int)
virtual WNDPROC GetWindowProc()
BOOL WINAPI ValidateRect(_In_opt_ HWND, _In_opt_ LPCRECT)
HWND SetClipboardViewer()
DWORD WINAPI GetWindowContextHelpId(_In_ HWND)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
BOOL CenterWindow(HWND hWndCenter=NULL)
UINT GetDlgItemInt(int nID, BOOL *lpTrans=NULL, BOOL bSigned=TRUE) const
#define success(from, fromstr, to, tostr)
unsigned __int3264 UINT_PTR
ATOM Register(WNDPROC *p)
LRESULT DefWindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
HWND WINAPI ChildWindowFromPointEx(_In_ HWND, _In_ POINT, _In_ UINT)
BOOL WINAPI GetScrollInfo(_In_ HWND, _In_ int, _Inout_ LPSCROLLINFO)
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)
void SetRedraw(BOOL bRedraw=TRUE)
BOOL ScreenToClient(LPPOINT lpPoint) const
BOOL WINAPI SetDlgItemInt(_In_ HWND, _In_ int, _In_ UINT, _In_ BOOL)
HWND WINAPI GetWindow(_In_ HWND, _In_ UINT)
int GetWindowText(LPTSTR lpszStringBuf, int nMaxCount) const
BOOL SendNotifyMessage(UINT message, WPARAM wParam=0, LPARAM lParam=0)
static DWORD GetWndExStyle(DWORD dwExStyle)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
BOOL ShowScrollBar(UINT nBar, BOOL bShow=TRUE)
BOOL CreateGrayCaret(int nWidth, int nHeight)
static INT_PTR CALLBACK DialogProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
BOOL WINAPI GetUpdateRect(_In_ HWND, _Out_opt_ LPRECT, _In_ BOOL)
LONG GetWindowLong(int nIndex) const
BOOL LockWindowUpdate(BOOL bLock=TRUE)
static LRESULT CALLBACK StartWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
BOOL CreateSolidCaret(int nWidth, int nHeight)
#define GetCurrentProcess()
UINT GetDlgItemText(int nID, LPTSTR lpStr, int nMaxCount) const
BOOL SetWindowContextHelpId(DWORD dwContextHelpId)
static LRESULT SendMessage(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
BOOL WINAPI MoveWindow(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BOOL)
void Attach(HWND hWndNew)
int MapWindowPoints(HWND hWndTo, LPRECT lpRect) const
WORD SetWindowWord(int nIndex, WORD wNewWord)
BOOL SubclassWindow(HWND hWnd)
BOOL ShowOwnedPopups(BOOL bShow=TRUE)
INT_PTR(CALLBACK * DLGPROC)(HWND, UINT, WPARAM, LPARAM)
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
WORD GetWindowWord(int nIndex) const
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
WNDPROC m_pfnSuperWindowProc
int WINAPI SysReAllocStringLen(BSTR *old, const OLECHAR *str, unsigned int len)
LONG_PTR GetWindowLongPtr(int nIndex) const
HICON GetIcon(BOOL bBigIcon=TRUE) const
HWND ChildWindowFromPoint(POINT point) const
HWND WINAPI SetCapture(_In_ HWND hWnd)
BOOL WINAPI ShowOwnedPopups(_In_ HWND, _In_ BOOL)
HMENU GetSystemMenu(BOOL bRevert)
HICON SetIcon(HICON hIcon, BOOL bBigIcon=TRUE)
WNDPROC m_pfnSuperWindowProc
HWND Create(HWND hWndParent, _U_RECT rect, LPCTSTR szWindowName, DWORD dwStyle, DWORD dwExStyle, _U_MENUorID MenuOrID, ATOM atom, LPVOID lpCreateParam)
int DlgDirList(LPTSTR lpPathSpec, int nIDListBox, int nIDStaticPath, UINT nFileType)
BOOL ShowWindow(int nCmdShow)
BOOL PostMessage(UINT message, WPARAM wParam=0, LPARAM lParam=0)
static BOOL CALLBACK SendMessageToDescendantsCallback(HWND hWnd, LPARAM lParam)
BOOL ModifyStyle(DWORD dwRemove, DWORD dwAdd, UINT nFlags=0)
void Print(HDC hDC, DWORD dwFlags) const
int SetHotKey(WORD wVirtualKeyCode, WORD wModifiers)
BOOL GetDlgItemText(int nID, BSTR &bstrText) const
HDC WINAPI GetWindowDC(_In_opt_ HWND)
BOOL WINAPI IsZoomed(_In_ HWND)
HWND SetParent(HWND hWndNewParent)
GLint GLint GLint GLint GLint GLint y
#define RealGetWindowClass
HWND UnsubclassWindow(BOOL bForce=FALSE)
BOOL WINAPI SetScrollRange(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ BOOL)
BOOL FlashWindow(BOOL bInvert)
HDC GetDCEx(HRGN hRgnClip, DWORD flags)
BOOL WINAPI IsChild(_In_ HWND, _In_ HWND)
LRESULT SendDlgItemMessage(int nID, UINT message, WPARAM wParam=0, LPARAM lParam=0)
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
BOOL Invalidate(BOOL bErase=TRUE)
HWND GetTopLevelParent() const
static DWORD GetWndExStyle(DWORD dwExStyle)
__declspec(selectany) CAtlModule *_pAtlModule
BOOL SetDlgItemInt(int nID, UINT nValue, BOOL bSigned=TRUE)
HWND WINAPI ChildWindowFromPoint(_In_ HWND, _In_ POINT)
BOOL GetWindowText(BSTR &bstrText)
static LPCTSTR GetWndCaption()
LRESULT SendMessage(UINT message, WPARAM wParam=0, LPARAM lParam=0)
#define GetWindowTextLength
BOOL WINAPI IsWindowVisible(_In_ HWND)
BOOL DlgDirSelectComboBox(LPTSTR lpString, int nCount, int nIDComboBox)
HWND ChildWindowFromPointEx(POINT point, UINT uFlags) const
static INT_PTR CALLBACK StartDialogProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
BOOL WINAPI ShowCaret(_In_opt_ HWND)
void InvalidateRgn(HRGN hRgn, BOOL bErase=TRUE)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
BOOL WINAPI CheckRadioButton(_In_ HWND, _In_ int, _In_ int, _In_ int)
BOOL NTAPI VirtualFree(IN LPVOID lpAddress, IN SIZE_T dwSize, IN DWORD dwFreeType)
BOOL WINAPI OpenClipboard(_In_opt_ HWND)
static BOOL CALLBACK SendMessageToDescendantsCallbackDeep(HWND hWnd, LPARAM lParam)
#define PAGE_EXECUTE_READWRITE
int WINAPI GetWindowRgn(_In_ HWND, _In_ HRGN)
CWindow GetParent() const
BOOL WINAPI EnableScrollBar(_In_ HWND, _In_ UINT, _In_ UINT)
HDWP DeferWindowPos(HDWP hWinPosInfo, HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT uFlags)
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)
BOOL RedrawWindow(LPCRECT lpRectUpdate=NULL, HRGN hRgnUpdate=NULL, UINT flags=RDW_INVALIDATE|RDW_UPDATENOW|RDW_ERASE)
int MessageBox(LPCTSTR lpszText, LPCTSTR lpszCaption=NULL, UINT nType=MB_OK)
HMENU WINAPI GetMenu(_In_ HWND)
BOOL CreateCaret(HBITMAP pBitmap)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
BOOL SetScrollRange(int nBar, int nMinPos, int nMaxPos, BOOL bRedraw=TRUE)
int WINAPI SetScrollPos(_In_ HWND, _In_ int, _In_ int, _In_ BOOL)
HWND WINAPI GetActiveWindow(void)
int WINAPI SetScrollInfo(_In_ HWND, _In_ int, _In_ LPCSCROLLINFO, _In_ BOOL)
BOOL GetScrollRange(int nBar, LPINT lpMinPos, LPINT lpMaxPos) const
INT_PTR DoModal(HWND hWndParent=::GetActiveWindow(), LPARAM dwInitParam=NULL)
static DWORD GetWndExStyle(DWORD dwExStyle)
#define SendNotifyMessage
HWND GetTopWindow() const
HWND GetTopLevelWindow() const
const _ATL_MSG * m_pCurrentMsg
DWORD GetWindowProcessID()
BOOL IsWindowVisible() const
static LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
#define CreateDialogParam