55Window::WindowMap Window::s_wnd_map;
57Window::CREATORFUNC Window::s_window_creator =
NULL;
58const void* Window::s_new_info =
NULL;
60HHOOK Window::s_hcbtHook = 0;
67 return s_initialized_data;
89 DWORD dwStyle,
int x,
int y,
int w,
int h,
97 return CreateWindowEx(dwExStyle, lpClassName, lpWindowName, dwStyle,
104 DWORD dwStyle,
int x,
int y,
int w,
int h,
112 return CreateWindowEx(dwExStyle, lpClassName, lpWindowName, dwStyle,
211 return found->second;
262 case WM_NOTIFYFORMAT:
325 case WM_NOTIFYFORMAT:
393 PaintCanvas canvas(_hwnd);
394 ClientRect rt(_hwnd);
398 Rectangle(canvas, rt.left, rt.top-1, rt.right, rt.bottom+1);
399 SetRect(&rc, rt.
left, rt.top-1, rt.right, rt.bottom+1);
434 ClientRect rt(_hwnd);
452 ClientRect rt(_hwnd);
464 ClientRect rt(_hwnd);
466 if (
x>=0 &&
x<rt.right) {
557 if (!url_str.empty()) {
739 case WM_NOTIFYFORMAT:
779 ClientRect clnt(
hwnd);
790 ClientRect clnt_rect(
_hwnd);
803 for(ResizeManager::const_iterator it=
begin(); it!=
end(); ++it) {
852 ClientRect clnt_rect(
_hwnd);
853 HandleSize(clnt_rect.right, clnt_rect.bottom);
903 int old_r = pRect->
right;
904 int old_b = pRect->
bottom;
1003 ++imagePos.
x; ++imagePos.
y;
1020 BitmapSelection sel(mem_dc,
_hBmp);
1087 TextColor lcColor(dis->
hDC, gray);
1123 bool active =
false;
1126 DWORD pid_foreground;
1132 ClientRect clntRect(_hwnd);
1135 if (
pt.x>=clntRect.left &&
pt.x<clntRect.right &&
pt.y>=clntRect.top &&
pt.y<clntRect.bottom)
1155 ClientRect clntRect(_hwnd);
1158 if (
pt.x<clntRect.left ||
pt.x>=clntRect.right ||
pt.y<clntRect.top ||
pt.y>=clntRect.bottom)
1189 _textColor(colorLink),
1190 _colorVisited(colorVisited),
1200 _textColor(colorLink),
1201 _colorVisited(colorVisited),
1275 : WindowHandle(hwndListview),
1276 _compare_fct(compare_fct)
1307 : _dlg_creator(dlg_creator)
1310 PROPSHEETPAGE::dwFlags = 0;
1314 PROPSHEETPAGE::lParam = (
LPARAM)
this;
1318#ifndef PSM_GETRESULT
1319#define PSM_GETRESULT (WM_USER + 135)
1320#define PropSheet_GetResult(hDlg) SNDMSG(hDlg, PSM_GETRESULT, 0, 0)
1329 PROPSHEETHEADER::hwndParent = owner;
1365 if (Window::pretranslate_msg(&
msg))
1371 if (Window::dispatch_dialog_msg(&
msg))
1425 case WM_NOTIFYFORMAT:
static struct myctx * mcs
_STLP_TEMPLATE_FOR_CONT_EXT iterator find(const _KT &__x)
void erase(iterator __pos)
_Rep_type::const_iterator const_iterator
void erase(iterator __pos)
pair< iterator, bool > insert(const value_type &__x)
_Rep_type::const_iterator const_iterator
BOOL WINAPI _TrackMouseEvent(TRACKMOUSEEVENT *ptme)
static const WCHAR start_page[]
static VOID BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
GLdouble GLdouble GLdouble GLdouble top
GLubyte GLubyte GLubyte GLubyte w
GLfloat GLfloat GLfloat GLfloat h
ExplorerGlobals g_Globals
void MoveVisible(HWND hwnd)
#define GET_WINDOW(CLASS, hwnd)
#define PM_DISPATCH_CTLCOLOR
#define PM_DISPATCH_COMMAND
#define DEFAULT_SPLIT_POS
int ListView_FindItemPara(HWND list_ctrl, LPARAM param)
#define PM_DISPATCH_DRAWITEM
void DrawGrayText(HDC hdc, LPRECT pRect, LPCTSTR text, int dt_flags)
int ListView_GetItemData(HWND list_ctrl, int idx)
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
#define WS_EX_NOPARENTNOTIFY
#define PropSheet_IsDialogMessage(d, m)
#define PSH_PROPSHEETPAGE
#define PropSheet_GetCurrentPageHwnd(d)
_Out_opt_ int _Out_opt_ int * cy
#define ListView_SortItems(hwndLV, _pfnCompare, _lPrm)
#define ListView_GetSelectionMark(hwnd)
int(CALLBACK * PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM)
#define ListView_EnsureVisible(hwndLV, i, fPartialOK)
void HandleException(COMException &e, HWND hwnd)
Exception Handler for COM exceptions.
Exception with context information.
stack< String > _url_history
LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
virtual void resize_children(int cx, int cy)
virtual String jump_to_int(LPCTSTR url)=0
void set_url(LPCTSTR url)
static ChildWindow * create(const ChildWndInfo &info, const RECT &rect, CREATORFUNC_INFO creator, LPCTSTR classname, LPCTSTR title=NULL, DWORD style=0)
ChildWindow(HWND hwnd, const ChildWndInfo &info)
information structure for creation of a MDI child window
static int DoModal(UINT nid, CREATORFUNC creator, HWND hwndParent=0)
LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
int Command(int id, int code)
LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
HyperlinkCtrl(HWND hwnd, COLORREF colorLink=RGB(0, 0, 255), COLORREF colorVisited=RGB(128, 0, 128))
IconWindowClass(LPCTSTR classname, UINT nid, UINT style=0, WNDPROC wndproc=Window::WindowWndProc)
void toggle_sort(int idx)
ListSort(HWND hwndListview, PFNLVCOMPARE compare_fct)
PFNLVCOMPARE _compare_fct
Property Sheet Page (inner dialog)
int Command(int id, int code)
static INT_PTR CALLBACK DialogProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam)
PropSheetPage(UINT nid, Window::CREATORFUNC dlg_creator)
Window::CREATORFUNC _dlg_creator
int DoModal(int start_page=0)
void add(PropSheetPage &psp)
PropertySheetDialog(HWND owner)
convenient loading of standard (32x32) icon resources
convenient loading of string resources
structure to assign RESIZE_FLAGS to dialogs control
void Resize(int dx, int dy)
void HandleSize(int cx, int cy)
convenient loading of small (16x16) icon resources
Static(HWND parent, LPCTSTR text, int left, int top, int width, int height, int id, DWORD flags=WS_VISIBLE|WS_CHILD|SS_SIMPLE, DWORD ex_flags=0)
virtual int Command(int id, int code)
static LRESULT CALLBACK SubclassedWndProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam)
virtual LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
virtual int Notify(int id, NMHDR *pnmh)
WindowClass(LPCTSTR classname, UINT style=0, WNDPROC wndproc=Window::WindowWndProc)
structure for managing critical sections as static class information in struct Window
static void CancelModes()
static LRESULT CALLBACK MDICBTHookProc(int code, WPARAM wparam, LPARAM lparam)
static void register_dialog(HWND hwnd)
static CREATORFUNC s_window_creator
static INT_PTR CALLBACK DialogProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam)
virtual LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
Window *(* CREATORFUNC_INFO)(HWND, const void *)
static HWND Create(CREATORFUNC creator, DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int w, int h, HWND hwndParent=0, HMENU hMenu=0)
static StaticWindowData & GetStaticWindowData()
LRESULT SendParent(UINT nmsg, WPARAM wparam=0, LPARAM lparam=0)
static const void * s_new_info
static void unregister_dialog(HWND hwnd)
static Window * create_mdi_child(const ChildWndInfo &info, const MDICREATESTRUCT &mcs, CREATORFUNC_INFO creator)
static void register_pretranslate(HWND hwnd)
static WindowMap s_wnd_map
virtual int Command(int id, int code)
static WindowSet s_dialogs
static Window * create_controller(HWND hwnd)
create controller for a new window
LRESULT PostParent(UINT nmsg, WPARAM wparam=0, LPARAM lparam=0)
Window *(* CREATORFUNC)(HWND)
static BOOL pretranslate_msg(LPMSG pmsg)
static void unregister_pretranslate(HWND hwnd)
static LRESULT CALLBACK WindowWndProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam)
static WindowSet s_pretranslate_windows
virtual LRESULT Init(LPCREATESTRUCT pcs)
static Window * get_window(HWND hwnd)
get window controller from window handle
static BOOL dispatch_dialog_msg(LPMSG pmsg)
virtual int Notify(int id, NMHDR *pnmh)
static LRESULT CALLBACK PropSheetCBTHookProc(int code, WPARAM wparam, LPARAM lparam)
void push(const value_type &__x)
void push_back(const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
TW_UINT32 TW_UINT16 TW_UINT16 MSG
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
DWORD WINAPI GetCurrentThreadId(void)
DWORD WINAPI GetCurrentProcessId(void)
DWORD WINAPI GetWindowThreadProcessId(HWND hWnd, PDWORD lpdwProcessId)
static RECT s_MyDrawText_Rect
static BOOL CALLBACK MyDrawText(HDC hdc, LPARAM data, int cnt)
void DrawGrayText(HDC hdc, LPRECT pRect, LPCTSTR title, int dt_flags)
#define PropSheet_GetResult(hDlg)
#define SubclassWindow(hwnd, lpfn)
#define SelectFont(hdc, hfont)
#define SelectBrush(hdc, hbr)
#define GetWindowStyle(hwnd)
HGDIOBJ WINAPI GetStockObject(_In_ int)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
BOOL WINAPI Rectangle(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
#define CreateFontIndirect
HWND WINAPI SetCapture(_In_ HWND hWnd)
DWORD WINAPI GetSysColor(_In_ int)
BOOL WINAPI TranslateMessage(_In_ const MSG *)
BOOL WINAPI ReleaseCapture(void)
HWND WINAPI GetForegroundWindow(void)
BOOL WINAPI DrawFrameControl(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
HBRUSH WINAPI GetSysColorBrush(_In_ int)
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
HWND WINAPI GetCapture(void)
BOOL WINAPI MessageBeep(_In_ UINT uType)
BOOL WINAPI EndDeferWindowPos(_In_ HDWP)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
BOOL WINAPI DrawEdge(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT)
BOOL WINAPI UnhookWindowsHookEx(_In_ HHOOK)
BOOL WINAPI DrawIconEx(_In_ HDC, _In_ int, _In_ int, _In_ HICON, _In_ int, _In_ int, _In_ UINT, _In_opt_ HBRUSH, _In_ UINT)
BOOL WINAPI UpdateWindow(_In_ HWND)
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
BOOL WINAPI IsWindowEnabled(_In_ HWND)
HWND WINAPI GetParent(_In_ HWND)
LRESULT WINAPI CallNextHookEx(_In_opt_ HHOOK, _In_ int, _In_ WPARAM, _In_ LPARAM)
struct tagMINMAXINFO * LPMINMAXINFO
int WINAPI GetDlgCtrlID(_In_ HWND)
HDWP WINAPI DeferWindowPos(_In_ HDWP, _In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
BOOL WINAPI DrawFocusRect(_In_ HDC, _In_ LPCRECT)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
#define COLOR_BTNHIGHLIGHT
BOOL WINAPI DestroyWindow(_In_ HWND)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
HDWP WINAPI BeginDeferWindowPos(_In_ int)
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)