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)) 66 template <DWORD t_dwStyle = 0, DWORD t_dwExStyle = 0>
89 template <DWORD t_dwStyle = 0, DWORD t_dwExStyle = 0,
class TWinTraits = CControlWinTraits>
95 return dwStyle | t_dwStyle | TWinTraits::GetWndStyle(dwStyle);
100 return dwExStyle | t_dwExStyle | TWinTraits::GetWndExStyle(dwExStyle);
170 m_relproc =
DWORD(reinterpret_cast<char*>(
proc) - (reinterpret_cast<char*>(
this) +
sizeof(thunkCode)));
176 #elif defined(_AMD64_) 200 #elif defined(_M_ARM) 213 m_mov_r0 = 0xE59F0000;
214 m_mov_pc = 0xE59FF000;
215 m_this = (
DWORD)pThis;
223 #error ARCH not supported 254 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;
807 strText.ReleaseBuffer(
len);
1049 RECT clientRect, wndRect;
1338 template <
class TBase = CWindow>
1361 template <
class TBase = CWindow>
1389 newDlgProc = reinterpret_cast<DLGPROC>(pThis->
m_thunk.GetWNDPROC());
1392 pThis->m_hWnd =
hWnd;
1404 hWnd = pThis->m_hWnd;
1432 pThis->m_hWnd =
NULL;
1444 template <
class T,
class TBase = CWindow>
1463 _AtlWinModule.AddCreateWndData(&
m_thunk.
cd,
this);
1465 pImpl = static_cast<T*>(
this);
1479 _AtlWinModule.AddCreateWndData(&
m_thunk.
cd,
this);
1481 pImpl = static_cast<T*>(
this);
1496 template <
class TBase = CWindow,
class TWinTraits = CControlWinTraits>
1531 WNDPROC oldWindowProc = reinterpret_cast<WNDPROC>(
1533 if (oldWindowProc ==
NULL)
1537 pThis->m_hWnd =
hWnd;
1549 HWND hwndOld = pThis->m_hWnd;
1551 WNDPROC subclassedProc = reinterpret_cast<WNDPROC>(
1553 if (!bForce && oldWindowProc != subclassedProc)
1559 pThis->m_hWnd =
NULL;
1570 return TWinTraits::GetWndStyle(dwStyle);
1575 return TWinTraits::GetWndExStyle(dwExStyle);
1597 newWindowProc = pThis->
m_thunk.GetWNDPROC();
1600 pThis->m_hWnd =
hWnd;
1622 hWnd = pThis->m_hWnd;
1629 if (handled ==
FALSE)
1649 pThis->m_hWnd =
NULL;
1670 _AtlWinModule.AddCreateWndData(&
m_thunk.
cd,
this);
1674 rect.m_lpRect = &TBase::rcDefault;
1677 rect.m_lpRect->top,
rect.m_lpRect->right -
rect.m_lpRect->left,
rect.m_lpRect->bottom -
rect.m_lpRect->top,
1678 hWndParent, MenuOrID.
m_hMenu, _AtlBaseModule.GetModuleInstance(), lpCreateParam);
1687 template <
class T,
class TBase = CWindow,
class TWinTraits = CControlWinTraits>
1709 if (T::GetWndClassInfo().m_lpszOrigName ==
NULL)
1710 T::GetWndClassInfo().m_lpszOrigName = pThis->GetWndClassName();
1713 if (szWindowName ==
NULL)
1714 szWindowName = T::GetWndCaption();
1715 dwStyle = T::GetWndStyle(dwStyle);
1716 dwExStyle = T::GetWndExStyle(dwExStyle);
1719 dwExStyle, MenuOrID, atom, lpCreateParam);
1723 template <
class TBase = CWindow,
class TWinTraits = CControlWinTraits>
1728 using TBase::m_hWnd;
1775 WNDPROC oldWindowProc = reinterpret_cast<WNDPROC>(
1777 if (oldWindowProc ==
NULL)
1781 pThis->m_hWnd =
hWnd;
1792 HWND hwndOld = pThis->m_hWnd;
1794 WNDPROC subclassedProc = reinterpret_cast<WNDPROC>(
1802 pThis->m_hWnd =
NULL;
1817 newWindowProc = pThis->
m_thunk.GetWNDPROC();
1820 pThis->m_hWnd =
hWnd;
1837 hWnd = pThis->m_hWnd;
1845 if (handled ==
FALSE)
1853 pThis->m_hWnd =
NULL;
1864 #define BEGIN_MSG_MAP(theClass) \ 1866 BOOL ProcessWindowMessage(HWND GCCU(hWnd), UINT GCCU(uMsg), WPARAM GCCU(wParam), LPARAM GCCU(lParam), LRESULT &GCCU(lResult), DWORD dwMsgMapID = 0) \ 1868 BOOL GCCU(bHandled) = TRUE; \ 1875 switch(dwMsgMapID) \ 1879 #define ALT_MSG_MAP(map) \ 1883 #define END_MSG_MAP() \ 1892 #define MESSAGE_HANDLER(msg, func) \ 1896 lResult = func(uMsg, wParam, lParam, bHandled); \ 1901 #define MESSAGE_RANGE_HANDLER(msgFirst, msgLast, func) \ 1902 if (uMsg >= msgFirst && uMsg <= msgLast) \ 1905 lResult = func(uMsg, wParam, lParam, bHandled); \ 1910 #define COMMAND_HANDLER(id, code, func) \ 1911 if (uMsg == WM_COMMAND && id == LOWORD(wParam) && code == HIWORD(wParam)) \ 1914 lResult = func(HIWORD(wParam), LOWORD(wParam), (HWND)lParam, bHandled); \ 1919 #define COMMAND_ID_HANDLER(id, func) \ 1920 if (uMsg == WM_COMMAND && id == LOWORD(wParam)) \ 1923 lResult = func(HIWORD(wParam), LOWORD(wParam), (HWND)lParam, bHandled); \ 1928 #define COMMAND_CODE_HANDLER(code, func) \ 1929 if (uMsg == WM_COMMAND && code == HIWORD(wParam)) \ 1932 lResult = func(HIWORD(wParam), LOWORD(wParam), (HWND)lParam, bHandled); \ 1937 #define COMMAND_RANGE_HANDLER(idFirst, idLast, func) \ 1938 if (uMsg == WM_COMMAND && LOWORD(wParam) >= idFirst && LOWORD(wParam) <= idLast) \ 1941 lResult = func(HIWORD(wParam), LOWORD(wParam), (HWND)lParam, bHandled); \ 1946 #define NOTIFY_CODE_HANDLER(cd, func) \ 1947 if (uMsg == WM_NOTIFY && cd == ((LPNMHDR)lParam)->code) \ 1950 lResult = func((int)wParam, (LPNMHDR)lParam, bHandled); \ 1955 #define NOTIFY_HANDLER(id, cd, func) \ 1956 if (uMsg == WM_NOTIFY && id == ((LPNMHDR)lParam)->idFrom && cd == ((LPNMHDR)lParam)->code) \ 1959 lResult = func((int)wParam, (LPNMHDR)lParam, bHandled); \ 1964 #define CHAIN_MSG_MAP(theChainClass) \ 1966 if (theChainClass::ProcessWindowMessage(hWnd, uMsg, wParam, lParam, lResult)) \ 1970 #define DECLARE_WND_CLASS_EX(WndClassName, style, bkgnd) \ 1971 static ATL::CWndClassInfo& GetWndClassInfo() \ 1973 static ATL::CWndClassInfo wc = \ 1975 { sizeof(WNDCLASSEX), style, StartWindowProc, \ 1976 0, 0, NULL, NULL, NULL, (HBRUSH)(bkgnd + 1), NULL, WndClassName, NULL }, \ 1977 NULL, NULL, IDC_ARROW, TRUE, 0, _T("") \ 2012 #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
DWORD WINAPI GetWindowThreadProcessId(HWND hWnd, PDWORD lpdwProcessId)
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
#define _Out_writes_to_(size, count)
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
UINT GetDlgItemText(_In_ int nID, _Out_writes_to_(nMaxCount, return+1) LPTSTR lpStr, _In_ int nMaxCount) const
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)
int GetWindowText(_Out_writes_to_(nMaxCount, return+1) LPTSTR lpszStringBuf, _In_ int nMaxCount) const
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)
#define _Outref_result_maybenull_
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
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]
HWND GetDlgItem(_In_ int nID) const
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()
int WINAPI GetWindowTextLengthW(_In_ HWND)
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)
#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)
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()
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)
int WINAPI GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount)
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)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
HDC WINAPI GetWindowDC(_In_opt_ HWND)
BOOL WINAPI IsZoomed(_In_ HWND)
BOOL GetDlgItemText(_In_ int nID, _Inout_ _Outref_result_maybenull_ _Post_z_ BSTR &bstrText) const
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)
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
BOOL GetWindowText(_Inout_ _Outref_result_maybenull_ _Post_z_ BSTR &bstrText) const
static LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
UINT GetDlgItemInt(_In_ int nID, _Out_opt_ BOOL *lpTrans=NULL, _In_ BOOL bSigned=TRUE) const
#define CreateDialogParam