ReactOS 0.4.16-dev-1093-g93e9710
folder_options.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

INT_PTR CALLBACK FolderOptionsGeneralDlg (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
INT_PTR CALLBACK FolderOptionsViewDlg (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
INT_PTR CALLBACK FolderOptionsFileTypesDlg (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
HBITMAP Create24BppBitmap (HDC hDC, INT cx, INT cy)
 
HBITMAP BitmapFromIcon (HICON hIcon, INT cx, INT cy)
 
HBITMAP CreateCheckImage (HDC hDC, BOOL bCheck, BOOL bEnabled=TRUE)
 
HBITMAP CreateCheckMask (HDC hDC)
 
HBITMAP CreateRadioImage (HDC hDC, BOOL bCheck, BOOL bEnabled=TRUE)
 
HBITMAP CreateRadioMask (HDC hDC)
 

Variables

LPCWSTR g_pszShell32
 
LPCWSTR g_pszSpace
 

Function Documentation

◆ BitmapFromIcon()

HBITMAP BitmapFromIcon ( HICON  hIcon,
INT  cx,
INT  cy 
)

Definition at line 58 of file folder_options.cpp.

59{
61 if (!hDC)
62 return NULL;
63
65 if (!hbm)
66 {
68 return NULL;
69 }
70
71 HGDIOBJ hbmOld = SelectObject(hDC, hbm);
72 {
73 RECT rc = { 0, 0, cx, cy };
74 FillRect(hDC, &rc, HBRUSH(COLOR_3DFACE + 1));
75 if (hIcon)
76 {
77 DrawIconEx(hDC, 0, 0, hIcon, cx, cy, 0, NULL, DI_NORMAL);
78 }
79 }
80 SelectObject(hDC, hbmOld);
82
83 return hbm;
84}
static HDC hDC
Definition: 3dtext.c:33
#define NULL
Definition: types.h:112
HBITMAP Create24BppBitmap(HDC hDC, INT cx, INT cy)
static HBITMAP
Definition: button.c:44
static HDC
Definition: imagelist.c:88
HICON hIcon
Definition: msconfig.c:44
_In_ HBITMAP hbm
Definition: ntgdi.h:2776
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:586
_Out_opt_ int * cx
Definition: commctrl.h:585
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1546
#define DI_NORMAL
Definition: wingdi.h:72
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
BOOL WINAPI DeleteDC(_In_ HDC)
BOOL WINAPI DrawIconEx(_In_ HDC, _In_ int, _In_ int, _In_ HICON, _In_ int, _In_ int, _In_ UINT, _In_opt_ HBRUSH, _In_ UINT)
Definition: cursoricon.c:2365
#define COLOR_3DFACE
Definition: winuser.h:940

◆ Create24BppBitmap()

HBITMAP Create24BppBitmap ( HDC  hDC,
INT  cx,
INT  cy 
)

Definition at line 41 of file folder_options.cpp.

42{
43 BITMAPINFO bi;
44 LPVOID pvBits;
45
46 ZeroMemory(&bi, sizeof(bi));
48 bi.bmiHeader.biWidth = cx;
50 bi.bmiHeader.biPlanes = 1;
51 bi.bmiHeader.biBitCount = 24;
53
54 HBITMAP hbm = CreateDIBSection(hDC, &bi, DIB_RGB_COLORS, &pvBits, NULL, 0);
55 return hbm;
56}
#define BI_RGB
Definition: precomp.h:56
USHORT biBitCount
Definition: precomp.h:46
ULONG biCompression
Definition: precomp.h:47
BITMAPINFOHEADER bmiHeader
Definition: wingdi.h:1476
HBITMAP WINAPI CreateDIBSection(HDC hDC, CONST BITMAPINFO *BitmapInfo, UINT Usage, VOID **Bits, HANDLE hSection, DWORD dwOffset)
Definition: bitmap.c:245
#define ZeroMemory
Definition: winbase.h:1743
#define DIB_RGB_COLORS
Definition: wingdi.h:367

Referenced by BitmapFromIcon(), CreateCheckImage(), and CreateRadioImage().

◆ CreateCheckImage()

HBITMAP CreateCheckImage ( HDC  hDC,
BOOL  bCheck,
BOOL  bEnabled = TRUE 
)

Definition at line 86 of file folder_options.cpp.

87{
88 INT cxSmallIcon = GetSystemMetrics(SM_CXSMICON);
89 INT cySmallIcon = GetSystemMetrics(SM_CYSMICON);
90
91 HBITMAP hbm = Create24BppBitmap(hDC, cxSmallIcon, cySmallIcon);
92 if (hbm == NULL)
93 return NULL; // failure
94
95 RECT Rect, BoxRect;
96 SetRect(&Rect, 0, 0, cxSmallIcon, cySmallIcon);
97 BoxRect = Rect;
98 InflateRect(&BoxRect, -1, -1);
99
100 HGDIOBJ hbmOld = SelectObject(hDC, hbm);
101 {
103 if (bCheck)
104 uState |= DFCS_CHECKED;
105 if (!bEnabled)
106 uState |= DFCS_INACTIVE;
107 DrawFrameControl(hDC, &BoxRect, DFC_BUTTON, uState);
108 }
109 SelectObject(hDC, hbmOld);
110
111 return hbm; // success
112}
unsigned int UINT
Definition: ndis.h:50
int32_t INT
Definition: typedefs.h:58
BOOL WINAPI DrawFrameControl(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT)
#define DFCS_FLAT
Definition: winuser.h:510
#define DFCS_BUTTONCHECK
Definition: winuser.h:496
#define DFCS_INACTIVE
Definition: winuser.h:502
#define DFC_BUTTON
Definition: winuser.h:476
#define SM_CYSMICON
Definition: winuser.h:1024
#define DFCS_MONO
Definition: winuser.h:511
#define SM_CXSMICON
Definition: winuser.h:1023
#define DFCS_CHECKED
Definition: winuser.h:504
BOOL WINAPI InflateRect(_Inout_ LPRECT, _In_ int, _In_ int)
int WINAPI GetSystemMetrics(_In_ int)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)

◆ CreateCheckMask()

HBITMAP CreateCheckMask ( HDC  hDC)

Definition at line 114 of file folder_options.cpp.

115{
116 INT cxSmallIcon = GetSystemMetrics(SM_CXSMICON);
117 INT cySmallIcon = GetSystemMetrics(SM_CYSMICON);
118
119 HBITMAP hbm = CreateBitmap(cxSmallIcon, cySmallIcon, 1, 1, NULL);
120 if (hbm == NULL)
121 return NULL; // failure
122
123 RECT Rect, BoxRect;
124 SetRect(&Rect, 0, 0, cxSmallIcon, cySmallIcon);
125 BoxRect = Rect;
126 InflateRect(&BoxRect, -1, -1);
127
128 HGDIOBJ hbmOld = SelectObject(hDC, hbm);
129 {
131 FillRect(hDC, &BoxRect, HBRUSH(GetStockObject(BLACK_BRUSH)));
132 }
133 SelectObject(hDC, hbmOld);
134
135 return hbm; // success
136}
HGDIOBJ WINAPI GetStockObject(_In_ int)
HBITMAP WINAPI CreateBitmap(_In_ INT cx, _In_ INT cy, _In_ UINT cPlanes, _In_ UINT cBitsPerPel, _In_opt_ const VOID *pvBits)
#define WHITE_BRUSH
Definition: wingdi.h:902
#define BLACK_BRUSH
Definition: wingdi.h:896

◆ CreateRadioImage()

HBITMAP CreateRadioImage ( HDC  hDC,
BOOL  bCheck,
BOOL  bEnabled = TRUE 
)

Definition at line 138 of file folder_options.cpp.

139{
140 INT cxSmallIcon = GetSystemMetrics(SM_CXSMICON);
141 INT cySmallIcon = GetSystemMetrics(SM_CYSMICON);
142
143 HBITMAP hbm = Create24BppBitmap(hDC, cxSmallIcon, cySmallIcon);
144 if (hbm == NULL)
145 return NULL; // failure
146
147 RECT Rect, BoxRect;
148 SetRect(&Rect, 0, 0, cxSmallIcon, cySmallIcon);
149 BoxRect = Rect;
150 InflateRect(&BoxRect, -1, -1);
151
152 HGDIOBJ hbmOld = SelectObject(hDC, hbm);
153 {
155 if (bCheck)
156 uState |= DFCS_CHECKED;
157 if (!bEnabled)
158 uState |= DFCS_INACTIVE;
159 DrawFrameControl(hDC, &BoxRect, DFC_BUTTON, uState);
160 }
161 SelectObject(hDC, hbmOld);
162
163 return hbm; // success
164}
#define DFCS_BUTTONRADIOIMAGE
Definition: winuser.h:497

◆ CreateRadioMask()

HBITMAP CreateRadioMask ( HDC  hDC)

Definition at line 166 of file folder_options.cpp.

167{
168 INT cxSmallIcon = GetSystemMetrics(SM_CXSMICON);
169 INT cySmallIcon = GetSystemMetrics(SM_CYSMICON);
170
171 HBITMAP hbm = CreateBitmap(cxSmallIcon, cySmallIcon, 1, 1, NULL);
172 if (hbm == NULL)
173 return NULL; // failure
174
175 RECT Rect, BoxRect;
176 SetRect(&Rect, 0, 0, cxSmallIcon, cySmallIcon);
177 BoxRect = Rect;
178 InflateRect(&BoxRect, -1, -1);
179
180 HGDIOBJ hbmOld = SelectObject(hDC, hbm);
181 {
184 DrawFrameControl(hDC, &BoxRect, DFC_BUTTON, uState);
185 }
186 SelectObject(hDC, hbmOld);
187
188 return hbm; // success
189}
#define DFCS_BUTTONRADIOMASK
Definition: winuser.h:498

◆ FolderOptionsFileTypesDlg()

INT_PTR CALLBACK FolderOptionsFileTypesDlg ( HWND  hwndDlg,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 1872 of file filetypes.cpp.

1877{
1879 if (!pGlobals && uMsg != WM_INITDIALOG)
1880 return FALSE;
1881 LPNMLISTVIEW lppl;
1883 NEWEXT_DIALOG newext;
1884 EDITTYPE_DIALOG edittype;
1885
1886 switch (uMsg)
1887 {
1888 case WM_INITDIALOG:
1891 return TRUE;
1892
1893 case WM_DESTROY:
1894 SetWindowLongPtrW(hwndDlg, DWLP_USER, 0);
1895 if (pGlobals)
1896 {
1897 DestroyIcon(pGlobals->hDefExtIconSmall);
1898 DeleteObject(pGlobals->hOpenWithImage);
1900 }
1901 break;
1902
1903 case WM_COMMAND:
1904 switch (LOWORD(wParam))
1905 {
1906 case IDC_FILETYPES_NEW:
1907 newext.hwndLV = GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW);
1909 hwndDlg, NewExtDlgProc, (LPARAM)&newext))
1910 {
1911 FileTypesDlg_AddExt(hwndDlg, newext.szExt, newext.szFileType, pGlobals);
1912 }
1913 break;
1914
1916 FileTypesDlg_OnDelete(hwndDlg);
1917 break;
1918
1921 if (pEntry)
1922 {
1923 OPENASINFO oai = { pEntry->FileExtension, 0, OAIF_FORCE_REGISTRATION | OAIF_REGISTER_EXT };
1924 if (SUCCEEDED(SHOpenWithDialog(hwndDlg, &oai)))
1925 {
1926 pEntry->InvalidateDefaultApp();
1928 }
1929 }
1930 break;
1931
1933 edittype.hwndLV = GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW);
1934 edittype.pG = pGlobals;
1935 edittype.pEntry = FileTypesDlg_GetEntry(edittype.hwndLV);
1936 if (Normalize(edittype.pEntry))
1937 {
1939 hwndDlg, EditTypeDlgProc, (LPARAM)&edittype);
1940 FileTypesDlg_OnItemChanging(hwndDlg, edittype.pEntry, pGlobals);
1941 }
1942 break;
1943 }
1944 break;
1945
1946 case WM_NOTIFY:
1947 lppl = (LPNMLISTVIEW) lParam;
1948 switch (lppl->hdr.code)
1949 {
1950 case LVN_GETDISPINFO:
1951 {
1954 if (entry && (pLVDI->item.mask & LVIF_TEXT))
1955 {
1956 if (pLVDI->item.iSubItem == 1)
1957 {
1959 pLVDI->item.mask |= LVIF_DI_SETITEM;
1960 }
1961 }
1962 break;
1963 }
1964
1965 case LVN_KEYDOWN:
1966 {
1967 LV_KEYDOWN *pKeyDown = (LV_KEYDOWN *)lParam;
1968 switch (pKeyDown->wVKey)
1969 {
1970 case VK_DELETE:
1971 FileTypesDlg_OnDelete(hwndDlg);
1972 break;
1973 case VK_F5:
1974 FileTypesDlg_Refresh(hwndDlg, pKeyDown->hdr.hwndFrom, pGlobals);
1975 break;
1976 }
1977 break;
1978 }
1979
1980 case NM_DBLCLK:
1982 break;
1983
1984 case LVN_DELETEALLITEMS:
1985 return FALSE; // send LVN_DELETEITEM
1986
1987 case LVN_DELETEITEM:
1989 if (pEntry)
1990 {
1991 pEntry->DestroyIcons();
1992 HeapFree(pGlobals->hHeap, 0, pEntry);
1993 }
1994 return FALSE;
1995
1996 case LVN_ITEMCHANGING:
1998 if (!pEntry)
1999 {
2000 return TRUE;
2001 }
2002
2003 if (!(lppl->uOldState & LVIS_FOCUSED) && (lppl->uNewState & LVIS_FOCUSED))
2004 {
2006 }
2007 break;
2008
2009 case LVN_COLUMNCLICK:
2011 break;
2012
2013 case PSN_SETACTIVE:
2014 // On page activation, set the focus to the listview
2016 break;
2017 }
2018 break;
2019 }
2020
2021 return FALSE;
2022}
HRESULT WINAPI SHOpenWithDialog(HWND hwndParent, const OPENASINFO *poainfo)
#define shell32_hInstance
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define HeapFree(x, y, z)
Definition: compat.h:735
void WINAPI SHFree(LPVOID pv)
Definition: shellole.c:326
static LPWSTR GetTypeName(PFILE_TYPE_ENTRY Entry, PFILE_TYPE_GLOBALS pG)
Definition: filetypes.cpp:287
static BOOL Normalize(PFILE_TYPE_ENTRY Entry)
Definition: filetypes.cpp:342
static void FileTypesDlg_Sort(PFILE_TYPE_GLOBALS pG, HWND hListView, INT Column=-1)
Definition: filetypes.cpp:1662
static void FileTypesDlg_OnDelete(HWND hwndDlg)
Definition: filetypes.cpp:1809
static INT_PTR CALLBACK NewExtDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: filetypes.cpp:678
static INT_PTR CALLBACK EditTypeDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: filetypes.cpp:1609
static PFILE_TYPE_ENTRY FileTypesDlg_GetEntry(HWND hListView, INT iItem=-1)
Definition: filetypes.cpp:1792
static void FileTypesDlg_Refresh(HWND hwndDlg, HWND hListView, PFILE_TYPE_GLOBALS pG)
Definition: filetypes.cpp:1718
struct _FILE_TYPE_GLOBALS * PFILE_TYPE_GLOBALS
static void FileTypesDlg_OnItemChanging(HWND hwndDlg, PFILE_TYPE_ENTRY pEntry, PFILE_TYPE_GLOBALS pG)
Definition: filetypes.cpp:1824
static BOOL FileTypesDlg_AddExt(HWND hwndDlg, LPCWSTR pszExt, LPCWSTR pszProgId, PFILE_TYPE_GLOBALS pG)
Definition: filetypes.cpp:804
static PFILE_TYPE_GLOBALS FileTypesDlg_Initialize(HWND hwndDlg)
Definition: filetypes.cpp:1756
struct _FILE_TYPE_ENTRY * PFILE_TYPE_ENTRY
PLIST_ENTRY pEntry
Definition: fxioqueue.cpp:4484
PFX_DRIVER_GLOBALS pGlobals
pKey DeleteObject()
#define SUCCEEDED(hr)
Definition: intsafe.h:50
uint32_t entry
Definition: isohybrid.c:63
if(dx< 0)
Definition: linetemp.h:194
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
#define LOWORD(l)
Definition: pedump.c:82
#define PSN_SETACTIVE
Definition: prsht.h:115
#define LVN_COLUMNCLICK
Definition: commctrl.h:3144
#define NM_DBLCLK
Definition: commctrl.h:131
#define LVN_DELETEALLITEMS
Definition: commctrl.h:3139
#define LVN_GETDISPINFO
Definition: commctrl.h:3165
#define LVN_ITEMCHANGING
Definition: commctrl.h:3135
struct tagNMLISTVIEW * LPNMLISTVIEW
struct tagLVDISPINFOW * LPNMLVDISPINFOW
#define LVIF_TEXT
Definition: commctrl.h:2314
#define LVN_KEYDOWN
Definition: commctrl.h:3189
#define LV_KEYDOWN
Definition: commctrl.h:3191
#define LVIF_DI_SETITEM
Definition: commctrl.h:3171
#define LVN_DELETEITEM
Definition: commctrl.h:3138
#define LVIS_FOCUSED
Definition: commctrl.h:2323
#define WM_NOTIFY
Definition: richedit.h:61
@ OAIF_REGISTER_EXT
Definition: shlobj.h:2689
@ OAIF_FORCE_REGISTRATION
Definition: shlobj.h:2691
#define IDC_FILETYPES_LISTVIEW
Definition: shresdef.h:469
#define IDD_NEWEXTENSION
Definition: shresdef.h:548
#define IDD_EDITTYPE
Definition: shresdef.h:549
#define IDC_FILETYPES_ADVANCED
Definition: shresdef.h:476
#define IDC_FILETYPES_DELETE
Definition: shresdef.h:471
#define IDC_FILETYPES_CHANGE
Definition: shresdef.h:474
#define IDC_FILETYPES_NEW
Definition: shresdef.h:470
PFILE_TYPE_GLOBALS pG
Definition: filetypes.cpp:363
PFILE_TYPE_ENTRY pEntry
Definition: filetypes.cpp:364
Definition: filetypes.cpp:42
LVITEMW item
Definition: commctrl.h:3184
LPWSTR pszText
Definition: commctrl.h:2370
int iSubItem
Definition: commctrl.h:2367
UINT mask
Definition: commctrl.h:2365
LPARAM lParam
Definition: commctrl.h:2373
UINT code
Definition: winuser.h:3170
HWND hwndFrom
Definition: winuser.h:3168
UINT uNewState
Definition: commctrl.h:3041
UINT uOldState
Definition: commctrl.h:3042
LONG_PTR LPARAM
Definition: windef.h:208
#define DWLP_USER
Definition: winuser.h:883
#define GetWindowLongPtrW
Definition: winuser.h:4840
#define WM_COMMAND
Definition: winuser.h:1751
#define WM_INITDIALOG
Definition: winuser.h:1750
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
#define IDOK
Definition: winuser.h:841
#define VK_F5
Definition: winuser.h:2270
HWND WINAPI SetFocus(_In_opt_ HWND)
#define SendMessage
Definition: winuser.h:5863
#define VK_DELETE
Definition: winuser.h:2244
#define WM_DESTROY
Definition: winuser.h:1620
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
#define SetWindowLongPtrW
Definition: winuser.h:5366
INT_PTR WINAPI DialogBoxParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
BOOL WINAPI DestroyIcon(_In_ HICON)
Definition: cursoricon.c:2390

◆ FolderOptionsGeneralDlg()

INT_PTR CALLBACK FolderOptionsGeneralDlg ( HWND  hwndDlg,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 332 of file general.cpp.

337{
338 static GENERAL_DIALOG general;
339
340 switch (uMsg)
341 {
342 case WM_INITDIALOG:
343 general.hTaskIcon = NULL;
344 general.hFolderIcon = NULL;
345 general.hClickIcon = NULL;
346 return GeneralDlg_OnInitDialog(hwndDlg, &general);
347
348 case WM_COMMAND:
349 switch (LOWORD(wParam))
350 {
359 if (HIWORD(wParam) == BN_CLICKED)
360 {
361 GeneralDlg_UpdateIcons(hwndDlg, LOWORD(wParam), &general);
362
363 // Enable the 'Apply' button
364 PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
365 }
366 break;
368 if (HIWORD(wParam) == BN_CLICKED)
369 {
370 GeneralDlg_OnRestoreDefaults(hwndDlg, &general);
371
372 // Enable the 'Apply' button
373 PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
374 }
375 break;
376 }
377 break;
378
379 case WM_NOTIFY:
380 {
381 LPNMHDR pnmh = (LPNMHDR)lParam;
382
383 switch (pnmh->code)
384 {
385 case PSN_SETACTIVE:
386 break;
387
388 case PSN_APPLY:
389 return GeneralDlg_OnApply(hwndDlg, &general);
390 }
391 break;
392 }
393
394 case WM_DESTROY:
395 DestroyIcon(general.hTaskIcon);
396 DestroyIcon(general.hFolderIcon);
397 DestroyIcon(general.hClickIcon);
398 break;
399
400 default:
401 return FALSE;
402 }
403 return FALSE;
404}
static BOOL GeneralDlg_OnInitDialog(HWND hwndDlg, PGENERAL_DIALOG pGeneral)
Definition: general.cpp:287
static VOID GeneralDlg_UpdateIcons(HWND hDlg, UINT nCtrlID, PGENERAL_DIALOG pGeneral)
Definition: general.cpp:161
static void GeneralDlg_OnRestoreDefaults(HWND hwndDlg, PGENERAL_DIALOG pGeneral)
Definition: general.cpp:303
static BOOL GeneralDlg_OnApply(HWND hwndDlg, PGENERAL_DIALOG pGeneral)
Definition: general.cpp:316
#define PropSheet_Changed(d, w)
Definition: prsht.h:344
#define PSN_APPLY
Definition: prsht.h:117
#define IDC_FOLDER_OPTIONS_CLASSICFOLDERS
Definition: shresdef.h:443
#define IDC_FOLDER_OPTIONS_ULBROWSER
Definition: shresdef.h:448
#define IDC_FOLDER_OPTIONS_SINGLECLICK
Definition: shresdef.h:446
#define IDC_FOLDER_OPTIONS_COMMONTASKS
Definition: shresdef.h:442
#define IDC_FOLDER_OPTIONS_SAMEWINDOW
Definition: shresdef.h:444
#define IDC_FOLDER_OPTIONS_DOUBLECLICK
Definition: shresdef.h:447
#define IDC_FOLDER_OPTIONS_ULPOINT
Definition: shresdef.h:449
#define IDC_FOLDER_OPTIONS_RESTORE
Definition: shresdef.h:450
#define IDC_FOLDER_OPTIONS_OWNWINDOW
Definition: shresdef.h:445
HICON hFolderIcon
Definition: general.cpp:156
HICON hClickIcon
Definition: general.cpp:157
HICON hTaskIcon
Definition: general.cpp:155
#define HIWORD(l)
Definition: typedefs.h:247
struct tagNMHDR * LPNMHDR
HWND WINAPI GetParent(_In_ HWND)
#define BN_CLICKED
Definition: winuser.h:1936

◆ FolderOptionsViewDlg()

INT_PTR CALLBACK FolderOptionsViewDlg ( HWND  hwndDlg,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 956 of file view.cpp.

961{
964
965 switch (uMsg)
966 {
967 case WM_INITDIALOG:
969
970 case WM_COMMAND:
971 switch (LOWORD(wParam))
972 {
973 case IDC_VIEW_RESTORE_DEFAULTS: // Restore Defaults
975 break;
976
979 {
981 bool ResetToDefault = LOWORD(wParam) == IDC_VIEW_RESET_ALL;
983 if (pFO)
984 hr = pFO->ApplyDefFolderSettings(ResetToDefault); // Use IBrowserService2
985 if (ResetToDefault && hr == HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED))
987 if (FAILED(hr))
988 SHELL_ErrorBox(hwndDlg, hr);
989 break;
990 }
991 }
992 break;
993
994 case WM_NOTIFY:
995 switch (LPNMHDR(lParam)->code)
996 {
997 case NM_CLICK: // clicked on treeview
999 break;
1000
1001 case NM_CUSTOMDRAW: // custom draw (for graying)
1005 return Result;
1006
1007 case TVN_KEYDOWN: // key is down
1009 break;
1010
1011 case PSN_APPLY: // [Apply] is clicked
1012 ViewDlg_Apply(hwndDlg);
1013 break;
1014
1015 default:
1016 break;
1017 }
1018 break;
1019 }
1020
1021 return FALSE;
1022}
static HRESULT ResetGlobalAndDefViewFolderSettings()
#define ERROR_NOT_SUPPORTED
Definition: compat.h:100
FxFileObject * pFO
#define FAILED(hr)
Definition: intsafe.h:51
void Draw(HDC aDc)
Definition: magnifier.c:359
#define LPPROPSHEETPAGE
Definition: prsht.h:390
#define TVN_KEYDOWN
Definition: commctrl.h:3718
#define NM_CLICK
Definition: commctrl.h:130
#define NM_CUSTOMDRAW
Definition: commctrl.h:137
#define TV_KEYDOWN
Definition: commctrl.h:3727
#define SHELL_ErrorBox
Definition: shellutils.h:126
HRESULT hr
Definition: shlfolder.c:183
#define IDC_VIEW_RESET_ALL
Definition: shresdef.h:531
#define IDC_VIEW_RESTORE_DEFAULTS
Definition: shresdef.h:533
#define IDC_VIEW_APPLY_TO_ALL
Definition: shresdef.h:530
#define GetWindowLongPtr
Definition: treelist.c:73
#define SetWindowLongPtr
Definition: treelist.c:70
int32_t INT_PTR
Definition: typedefs.h:64
static void ViewDlg_OnTreeViewKeyDown(HWND hwndDlg, TV_KEYDOWN *KeyDown)
Definition: view.cpp:728
static VOID ViewDlg_RestoreDefaults(HWND hwndDlg)
Definition: view.cpp:774
static INT_PTR ViewDlg_OnTreeCustomDraw(HWND hwndDlg, NMTVCUSTOMDRAW *Draw)
Definition: view.cpp:744
static VOID ViewDlg_Apply(HWND hwndDlg)
Definition: view.cpp:890
static BOOL ViewDlg_OnInitDialog(HWND hwndDlg, LPPROPSHEETPAGE psp)
Definition: view.cpp:621
static VOID ViewDlg_OnTreeViewClick(HWND hwndDlg)
Definition: view.cpp:706
#define HRESULT_FROM_WIN32(x)
Definition: winerror.h:92
#define GWL_USERDATA
Definition: winuser.h:872
#define DWLP_MSGRESULT
Definition: winuser.h:881
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Definition: wsk.h:409

Variable Documentation

◆ g_pszShell32

LPCWSTR g_pszShell32
extern

Definition at line 33 of file folder_options.cpp.

Referenced by NoIconsInFile(), Normalize(), and PickIconDlg().

◆ g_pszSpace