ReactOS  0.4.14-dev-342-gdc047f9
childwnd.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

LRESULT CALLBACK ChildWndProc (HWND, UINT, WPARAM, LPARAM)
 

Function Documentation

◆ ChildWndProc()

LRESULT CALLBACK ChildWndProc ( HWND  ,
UINT  ,
WPARAM  ,
LPARAM   
)

Definition at line 385 of file childwnd.c.

386 {
387  BOOL Result;
388  RECT rc;
389 
390  switch (message)
391  {
392  case WM_CREATE:
393  {
394  WNDPROC oldproc;
395  HFONT hFont;
397 
398  /* Load "My Computer" string */
400 
402  if (!g_pChildWnd) return 0;
403 
405  g_pChildWnd->nSplitPos = 190;
406  g_pChildWnd->hWnd = hWnd;
409  hWnd, (HMENU)0, hInst, 0);
412  hWnd, (HMENU)0, hInst, 0);
413  GetClientRect(hWnd, &rc);
417 
418  /* set the address bar and button font */
420  {
423  WM_SETFONT,
424  (WPARAM)hFont,
425  0);
427  WM_SETFONT,
428  (WPARAM)hFont,
429  0);
430  }
431  /* Subclass the AddressBar */
435  break;
436  }
437  case WM_COMMAND:
438  if(HIWORD(wParam) == BN_CLICKED)
439  {
441  }
442 
444  {
445  goto def;
446  }
447  break;
448  case WM_SETCURSOR:
449  if (LOWORD(lParam) == HTCLIENT)
450  {
451  POINT pt;
452  GetCursorPos(&pt);
455  {
457  return TRUE;
458  }
459  }
460  goto def;
461  case WM_DESTROY:
464  DestroyMainMenu();
466  g_pChildWnd = NULL;
467  PostQuitMessage(0);
468  break;
469  case WM_LBUTTONDOWN:
470  {
471  RECT rt;
472  int x = (short)LOWORD(lParam);
473  GetClientRect(hWnd, &rt);
475  {
478  SetCapture(hWnd);
479  }
480  break;
481  }
482 
483  case WM_LBUTTONUP:
484  case WM_RBUTTONDOWN:
485  if (GetCapture() == hWnd)
486  {
488  }
489  break;
490 
491  case WM_CAPTURECHANGED:
492  if (GetCapture()==hWnd && last_split>=0)
494  break;
495 
496  case WM_KEYDOWN:
497  if (wParam == VK_ESCAPE)
498  if (GetCapture() == hWnd)
499  {
500  RECT rt;
502  GetClientRect(hWnd, &rt);
503  ResizeWnd(rt.right, rt.bottom);
504  last_split = -1;
505  ReleaseCapture();
507  }
508  break;
509 
510  case WM_MOUSEMOVE:
511  if (GetCapture() == hWnd)
512  {
513  HDC hdc;
514  RECT rt;
515  HGDIOBJ OldObj;
516  int x = LOWORD(lParam);
517  if(!SizingPattern)
518  {
519  const DWORD Pattern[4] = {0x5555AAAA, 0x5555AAAA, 0x5555AAAA, 0x5555AAAA};
520  SizingPattern = CreateBitmap(8, 8, 1, 1, Pattern);
521  }
522  if(!SizingBrush)
523  {
525  }
526 
527  GetClientRect(hWnd, &rt);
528  x = (SHORT) min(max(x, SPLIT_MIN), rt.right - SPLIT_MIN);
529  if(last_split != x)
530  {
531  rt.left = last_split-SPLIT_WIDTH/2;
532  rt.right = last_split+SPLIT_WIDTH/2+1;
533  hdc = GetDC(hWnd);
534  OldObj = SelectObject(hdc, SizingBrush);
535  PatBlt(hdc, rt.left, rt.top, rt.right - rt.left, rt.bottom - rt.top, PATINVERT);
536  last_split = x;
537  rt.left = x-SPLIT_WIDTH/2;
538  rt.right = x+SPLIT_WIDTH/2+1;
539  PatBlt(hdc, rt.left, rt.top, rt.right - rt.left, rt.bottom - rt.top, PATINVERT);
540  SelectObject(hdc, OldObj);
541  ReleaseDC(hWnd, hdc);
542  }
543  }
544  break;
545 
546  case WM_SETFOCUS:
547  if (g_pChildWnd != NULL)
548  {
550  }
551  break;
552 
553  case WM_TIMER:
554  break;
555 
556  case WM_NOTIFY:
557  if ((int)wParam == TREE_WINDOW && g_pChildWnd != NULL)
558  {
559  switch (((LPNMHDR)lParam)->code)
560  {
561  case TVN_ITEMEXPANDING:
563  case TVN_SELCHANGED:
564  {
565  NMTREEVIEW* pnmtv = (NMTREEVIEW*)lParam;
566  /* Get the parent of the current item */
567  HTREEITEM hParentItem = TreeView_GetParent(g_pChildWnd->hTreeWnd, pnmtv->itemNew.hItem);
568 
569  UpdateAddress(pnmtv->itemNew.hItem, NULL, NULL);
570 
571  /*
572  * Disable Delete/Rename menu options for 'My Computer' (first item so doesn't have any parent)
573  * and HKEY_* keys (their parent is 'My Computer' and the previous remark applies).
574  */
575  if (!hParentItem || !TreeView_GetParent(g_pChildWnd->hTreeWnd, hParentItem))
576  {
581  }
582  else
583  {
588  }
589 
590  break;
591  }
592  case NM_SETFOCUS:
594  break;
595  case TVN_BEGINLABELEDIT:
596  {
597  LPNMTVDISPINFO ptvdi;
598  /* cancel label edit for rootkeys */
599  ptvdi = (LPNMTVDISPINFO) lParam;
600  if (!TreeView_GetParent(g_pChildWnd->hTreeWnd, ptvdi->item.hItem) ||
602  return TRUE;
603  break;
604  }
605  case TVN_ENDLABELEDIT:
606  {
607  LPCWSTR keyPath;
608  HKEY hRootKey;
609  HKEY hKey = NULL;
610  LPNMTVDISPINFO ptvdi;
611  LONG lResult = TRUE;
612  WCHAR szBuffer[MAX_PATH];
613 
614  ptvdi = (LPNMTVDISPINFO) lParam;
615  if (ptvdi->item.pszText)
616  {
617  keyPath = GetItemPath(g_pChildWnd->hTreeWnd, TreeView_GetParent(g_pChildWnd->hTreeWnd, ptvdi->item.hItem), &hRootKey);
618  _snwprintf(szBuffer, COUNT_OF(szBuffer), L"%s\\%s", keyPath, ptvdi->item.pszText);
619  keyPath = GetItemPath(g_pChildWnd->hTreeWnd, ptvdi->item.hItem, &hRootKey);
620  if (RegOpenKeyExW(hRootKey, szBuffer, 0, KEY_READ, &hKey) == ERROR_SUCCESS)
621  {
622  lResult = FALSE;
623  RegCloseKey(hKey);
624  TreeView_EditLabel(g_pChildWnd->hTreeWnd, ptvdi->item.hItem);
625  }
626  else
627  {
628  if (RenameKey(hRootKey, keyPath, ptvdi->item.pszText) != ERROR_SUCCESS)
629  lResult = FALSE;
630  else
631  UpdateAddress(ptvdi->item.hItem, hRootKey, szBuffer);
632  }
633  return lResult;
634  }
635  }
636  default:
637  return 0;
638  }
639  }
640  else
641  {
642  if ((int)wParam == LIST_WINDOW && g_pChildWnd != NULL)
643  {
644  switch (((LPNMHDR)lParam)->code)
645  {
646  case NM_SETFOCUS:
648  break;
649  default:
651  {
652  goto def;
653  }
654  return Result;
655  break;
656  }
657  }
658  }
659  break;
660 
661  case WM_CONTEXTMENU:
662  {
663  POINT pt;
665  {
666  int i, cnt;
667  BOOL IsDefault;
668  pt.x = (short) LOWORD(lParam);
669  pt.y = (short) HIWORD(lParam);
672  if (pt.x == -1 && pt.y == -1)
673  {
674  RECT rc;
675  if (i != -1)
676  {
677  rc.left = LVIR_BOUNDS;
679  pt.x = rc.left + 8;
680  pt.y = rc.top + 8;
681  }
682  else
683  pt.x = pt.y = 0;
685  }
686  if(i == -1)
687  {
689  }
690  else
691  {
694  IsDefault = IsDefaultValue(g_pChildWnd->hListWnd, i);
695  if(cnt == 1)
697  else
701 
703  }
704  }
705  else if ((HWND)wParam == g_pChildWnd->hTreeWnd)
706  {
707  TVHITTESTINFO hti;
708  HMENU hContextMenu;
709  TVITEMW item;
710  MENUITEMINFOW mii;
711  WCHAR resource[256];
712  WCHAR buffer[256];
713  LPWSTR s;
714  LPCWSTR keyPath;
715  HKEY hRootKey;
716  int iLastPos;
717  WORD wID;
718 
719  pt.x = (short) LOWORD(lParam);
720  pt.y = (short) HIWORD(lParam);
721 
722  if (pt.x == -1 && pt.y == -1)
723  {
724  RECT rc;
726  if (hti.hItem != NULL)
727  {
729  pt.x = rc.left + 8;
730  pt.y = rc.top + 8;
732  hti.flags = TVHT_ONITEM;
733  }
734  else
735  hti.flags = 0;
736  }
737  else
738  {
739  hti.pt.x = pt.x;
740  hti.pt.y = pt.y;
743  }
744 
745  if (hti.flags & TVHT_ONITEM)
746  {
747  hContextMenu = GetSubMenu(hPopupMenus, PM_TREECONTEXT);
749 
750  memset(&item, 0, sizeof(item));
751  item.mask = TVIF_STATE | TVIF_CHILDREN;
752  item.hItem = hti.hItem;
754 
755  /* Set the Expand/Collapse menu item appropriately */
757  memset(&mii, 0, sizeof(mii));
758  mii.cbSize = sizeof(mii);
760  mii.fState = (item.cChildren > 0) ? MFS_DEFAULT : MFS_GRAYED;
762  mii.dwTypeData = (LPWSTR) buffer;
763  SetMenuItemInfo(hContextMenu, 0, TRUE, &mii);
764 
765  /* Remove any existing suggestions */
766  memset(&mii, 0, sizeof(mii));
767  mii.cbSize = sizeof(mii);
768  mii.fMask = MIIM_ID;
769  GetMenuItemInfo(hContextMenu, GetMenuItemCount(hContextMenu) - 1, TRUE, &mii);
770  if ((mii.wID >= ID_TREE_SUGGESTION_MIN) && (mii.wID <= ID_TREE_SUGGESTION_MAX))
771  {
772  do
773  {
774  iLastPos = GetMenuItemCount(hContextMenu) - 1;
775  GetMenuItemInfo(hContextMenu, iLastPos, TRUE, &mii);
776  RemoveMenu(hContextMenu, iLastPos, MF_BYPOSITION);
777  }
778  while((mii.wID >= ID_TREE_SUGGESTION_MIN) && (mii.wID <= ID_TREE_SUGGESTION_MAX));
779  }
780 
781  /* Come up with suggestions */
782  keyPath = GetItemPath(g_pChildWnd->hTreeWnd, NULL, &hRootKey);
783  SuggestKeys(hRootKey, keyPath, Suggestions, COUNT_OF(Suggestions));
784  if (Suggestions[0])
785  {
786  AppendMenu(hContextMenu, MF_SEPARATOR, 0, NULL);
787 
789 
790  s = Suggestions;
792  while(*s && (wID <= ID_TREE_SUGGESTION_MAX))
793  {
795 
796  memset(&mii, 0, sizeof(mii));
797  mii.cbSize = sizeof(mii);
798  mii.fMask = MIIM_STRING | MIIM_ID;
799  mii.wID = wID++;
800  mii.dwTypeData = buffer;
801  InsertMenuItem(hContextMenu, GetMenuItemCount(hContextMenu), TRUE, &mii);
802 
803  s += wcslen(s) + 1;
804  }
805  }
806  TrackPopupMenu(hContextMenu, TPM_RIGHTBUTTON, pt.x, pt.y, 0, g_pChildWnd->hWnd, NULL);
807  }
808  }
809  break;
810  }
811 
812  case WM_SIZE:
813  if (wParam != SIZE_MINIMIZED && g_pChildWnd != NULL)
814  {
816  }
817  /* fall through */
818  default:
819 def:
821  }
822  return 0;
823 }
HGDIOBJ WINAPI GetStockObject(_In_ int)
#define IDC_SIZEWE
Definition: winuser.h:689
#define IDS_GOTO_SUGGESTED_KEY
Definition: resource.h:193
#define ID_TREE_RENAME
Definition: resource.h:154
#define ListView_GetNextItem(hwnd, i, flags)
Definition: commctrl.h:2430
#define max(a, b)
Definition: svc.c:63
Definition: tftpd.h:59
#define MF_DISABLED
Definition: winuser.h:130
#define TRUE
Definition: types.h:120
void DestroyListView(HWND hwndLV)
Definition: listview.c:653
#define ID_TREE_COLLAPSEBRANCH
Definition: resource.h:97
ChildWnd * g_pChildWnd
Definition: childwnd.c:23
#define TreeView_GetItemRect(hwnd, hitem, prc, code)
Definition: commctrl.h:3425
#define PATINVERT
Definition: wingdi.h:327
#define MF_BYCOMMAND
Definition: winuser.h:202
static void SuggestKeys(HKEY hRootKey, LPCWSTR pszKeyPath, LPWSTR pszSuggestions, size_t iSuggestionsLength)
Definition: childwnd.c:227
long y
Definition: polytest.cpp:48
#define ERROR_SUCCESS
Definition: deptool.c:10
#define WM_CONTEXTMENU
Definition: richedit.h:64
BOOL WINAPI ClientToScreen(_In_ HWND, _Inout_ LPPOINT)
#define WM_LBUTTONDOWN
Definition: winuser.h:1758
LRESULT CALLBACK AddressBarProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: childwnd.c:298
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
long x
Definition: polytest.cpp:48
static void finish_splitbar(HWND hWnd, int x)
Definition: childwnd.c:120
HDC WINAPI GetDC(_In_opt_ HWND)
#define PM_MODIFYVALUE
Definition: main.h:35
#define KEY_READ
Definition: nt_native.h:1023
#define pt(x, y)
Definition: drawing.c:79
#define TreeView_EditLabel(hwnd, hitem)
Definition: commctrl.h:3500
HWND hTreeWnd
Definition: main.h:60
#define BS_TEXT
Definition: winuser.h:276
#define WM_CAPTURECHANGED
Definition: winuser.h:1790
HWND hListWnd
Definition: main.h:61
static HDC
Definition: imagelist.c:92
#define BS_DEFPUSHBUTTON
Definition: pedump.c:652
HWND hWnd
Definition: settings.c:17
LONG top
Definition: windef.h:292
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1497
GLuint buffer
Definition: glext.h:5915
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
HWND WINAPI SetFocus(_In_opt_ HWND)
static BOOL ChildWnd_CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
Definition: childwnd.c:140
LPWSTR dwTypeData
Definition: winuser.h:3243
#define LVNI_SELECTED
Definition: commctrl.h:2420
UINT_PTR WPARAM
Definition: windef.h:207
#define WS_CHILD
Definition: pedump.c:617
LONG left
Definition: windef.h:291
#define MFS_DEFAULT
Definition: winuser.h:743
#define VK_ESCAPE
Definition: winuser.h:2189
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
Definition: cursoricon.c:2635
#define BS_CENTER
Definition: winuser.h:260
LONG right
Definition: windef.h:293
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
#define VK_RETURN
Definition: winuser.h:2176
#define SetWindowLongPtr
Definition: treelist.c:70
WPARAM wParam
Definition: combotst.c:138
#define SPLIT_WIDTH
Definition: eventvwr.c:62
HFONT hFont
Definition: main.c:53
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LONG RenameKey(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpNewName)
Definition: edit.c:1489
HBITMAP SizingPattern
Definition: childwnd.c:25
BOOL WINAPI PatBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD)
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
Definition: typeof.h:93
int nSplitPos
Definition: main.h:65
#define TPM_RIGHTBUTTON
Definition: winuser.h:2355
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
BOOL WINAPI EnableMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
#define ListView_GetSelectedCount(hwndLV)
Definition: commctrl.h:2705
#define TVN_ENDLABELEDIT
Definition: commctrl.h:3740
#define TVIF_CHILDREN
Definition: commctrl.h:3268
#define ID_TREE_SUGGESTION_MIN
Definition: resource.h:158
#define MIIM_STATE
Definition: winuser.h:716
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
#define NMTREEVIEW
Definition: commctrl.h:3638
#define ID_EDIT_DELETE
Definition: resource.h:59
#define WM_SETCURSOR
Definition: winuser.h:1618
short SHORT
Definition: pedump.c:59
#define MF_BYPOSITION
Definition: winuser.h:203
BOOL IsDefaultValue(HWND hwndLV, int i)
Definition: listview.c:107
#define TVN_BEGINLABELEDIT
Definition: commctrl.h:3739
HWND WINAPI GetCapture(void)
Definition: message.c:2879
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
#define TREE_WINDOW
Definition: main.h:27
int WINAPI GetMenuItemCount(_In_opt_ HMENU)
#define CW_USEDEFAULT
Definition: winuser.h:225
#define GWLP_USERDATA
Definition: treelist.c:63
static void draw_splitbar(HWND hWnd, int x)
Definition: childwnd.c:90
int _snwprintf(wchar_t *buffer, size_t count, const wchar_t *format,...)
smooth NULL
Definition: ftsmooth.c:416
_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:426
#define WM_KEYDOWN
Definition: winuser.h:1697
#define MF_SEPARATOR
Definition: winuser.h:137
static WCHAR Suggestions[256]
Definition: childwnd.c:27
LONG_PTR LPARAM
Definition: windef.h:208
#define SPLIT_MIN
Definition: main.h:31
#define LVNI_FOCUSED
Definition: commctrl.h:2419
#define ID_EDIT_RENAME
Definition: resource.h:60
LPCWSTR GetItemPath(HWND hwndTV, HTREEITEM hItem, HKEY *phRootKey)
Definition: treeview.c:83
#define WS_CHILDWINDOW
Definition: pedump.c:639
#define WM_DESTROY
Definition: winuser.h:1591
HTREEITEM hItem
Definition: commctrl.h:3517
#define MIIM_ID
Definition: winuser.h:717
#define WM_RBUTTONDOWN
Definition: winuser.h:1761
#define GetMenuItemInfo
Definition: winuser.h:5689
HBRUSH WINAPI CreatePatternBrush(_In_ HBITMAP)
#define SetMenuItemInfo
Definition: winuser.h:5751
BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result)
Definition: listview.c:543
WCHAR szPath[MAX_PATH]
Definition: main.h:67
#define ID_TREE_SUGGESTION_MAX
Definition: resource.h:159
#define COUNT_OF(a)
Definition: main.h:33
static VOID DestroyTreeView(HWND hTreeView)
#define TreeView_GetSelection(hwnd)
Definition: commctrl.h:3469
#define AppendMenu
Definition: winuser.h:5632
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define TreeView_HitTest(hwnd, lpht)
Definition: commctrl.h:3509
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define WM_SIZE
Definition: winuser.h:1593
static int last_split
Definition: childwnd.c:24
HMENU hPopupMenus
Definition: main.c:33
#define NM_SETFOCUS
Definition: commctrl.h:135
void DestroyMainMenu()
Definition: main.c:157
HWND hWnd
Definition: main.h:59
#define TVN_SELCHANGED
Definition: commctrl.h:3731
#define WM_TIMER
Definition: winuser.h:1724
#define MF_ENABLED
Definition: winuser.h:128
#define MAX_PATH
Definition: compat.h:26
#define PM_TREECONTEXT
Definition: main.h:37
#define WM_KEYUP
Definition: winuser.h:1698
unsigned short WORD
Definition: ntddk_ex.h:93
#define BN_CLICKED
Definition: winuser.h:1907
unsigned long DWORD
Definition: ntddk_ex.h:95
#define IDS_MY_COMPUTER
Definition: resource.h:131
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
Definition: cursoricon.c:2074
#define SIZE_MINIMIZED
Definition: winuser.h:2481
HWND CreateTreeView(HWND hwndParent, LPWSTR pHostName, HMENU id)
Definition: treeview.c:634
HWND hAddressBtnWnd
Definition: main.h:63
#define DEFAULT_GUI_FONT
Definition: wingdi.h:908
void ResizeWnd(int cx, int cy)
Definition: childwnd.c:41
static VOID UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath)
Definition: childwnd.c:320
static const WCHAR L[]
Definition: oid.c:1250
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
HDC hdc
Definition: main.c:9
#define MFS_GRAYED
Definition: winuser.h:746
GLdouble s
Definition: gl.h:2039
#define TreeView_GetParent(hwnd, hitem)
Definition: commctrl.h:3465
#define WS_TABSTOP
Definition: pedump.c:634
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
#define WM_COMMAND
Definition: winuser.h:1722
uint32_t DWORD_PTR
Definition: typedefs.h:63
#define BS_VCENTER
Definition: winuser.h:279
#define LVM_GETITEMRECT
Definition: commctrl.h:2473
#define GWLP_WNDPROC
Definition: treelist.c:66
#define TVIS_EXPANDED
Definition: commctrl.h:3280
#define BS_FLAT
Definition: winuser.h:280
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2880
#define ID_EDIT_MODIFY
Definition: resource.h:64
#define MIIM_STRING
Definition: winuser.h:722
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HWND hFrameWnd
Definition: main.c:30
#define TVN_ITEMEXPANDING
Definition: commctrl.h:3734
HWND WINAPI SetCapture(_In_ HWND hWnd)
#define LVIR_BOUNDS
Definition: commctrl.h:2468
HINSTANCE hInst
Definition: dxdiag.c:13
HMENU hMenuFrame
Definition: main.c:32
static ATOM item
Definition: dde.c:856
#define WS_EX_CLIENTEDGE
Definition: winuser.h:384
_CRTIMP wchar_t *__cdecl wcsncpy(wchar_t *_Dest, const wchar_t *_Source, size_t _Count)
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
#define TreeView_SelectItem(hwnd, hitem)
Definition: commctrl.h:3477
BOOL WINAPI RemoveMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define WM_LBUTTONUP
Definition: winuser.h:1759
#define PM_NEW
Definition: main.h:36
#define ID_TREE_EXPANDBRANCH
Definition: resource.h:95
#define min(a, b)
Definition: monoChain.cc:55
#define WM_MOUSEMOVE
Definition: winuser.h:1757
BOOL CreateListView(PMAIN_WND_INFO Info)
Definition: listview.c:355
#define HEAP_ZERO_MEMORY
Definition: compat.h:123
BOOL WINAPI SetMenuDefaultItem(_In_ HMENU, _In_ UINT, _In_ UINT)
#define WM_SETFONT
Definition: winuser.h:1632
#define LPNMTVDISPINFO
Definition: commctrl.h:3672
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
#define IDC_ARROW
Definition: winuser.h:682
BOOL WINAPI ReleaseCapture(void)
Definition: message.c:2888
HWND hAddressBarWnd
Definition: main.h:62
Definition: main.h:57
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define WM_CREATE
Definition: winuser.h:1590
#define LIST_WINDOW
Definition: main.h:28
#define HIWORD(l)
Definition: typedefs.h:246
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3366
LONG bottom
Definition: windef.h:294
#define TVIF_STATE
Definition: commctrl.h:3265
#define GetWindowLongPtr
Definition: treelist.c:73
#define ID_TREE_DELETE
Definition: resource.h:153
#define WM_SETFOCUS
Definition: winuser.h:1595
#define MF_GRAYED
Definition: winuser.h:129
#define HTCLIENT
Definition: winuser.h:2450
WCHAR * LPWSTR
Definition: xmlstorage.h:184
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)
#define IDS_COLLAPSE
Definition: resource.h:190
#define IDS_EXPAND
Definition: resource.h:189
#define TVHT_ONITEM
Definition: commctrl.h:3523
#define WS_VISIBLE
Definition: pedump.c:620
#define ID_EDIT_MODIFY_BIN
Definition: resource.h:124
#define memset(x, y, z)
Definition: compat.h:39
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
LPARAM lParam
Definition: combotst.c:139
BOOL WINAPI TrackPopupMenu(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _Reserved_ int, _In_ HWND, _Reserved_ LPCRECT)
BOOL OnTreeExpanding(HWND hWnd, NMTREEVIEW *pnmtv)
Definition: treeview.c:503
#define LOWORD(l)
Definition: pedump.c:82
size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define HeapFree(x, y, z)
Definition: compat.h:402
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)
#define TreeView_GetItem(hwnd, pitem)
Definition: commctrl.h:3486
#define WM_NOTIFY
Definition: richedit.h:61
#define InsertMenuItem
Definition: winuser.h:5705
int nFocusPanel
Definition: main.h:64
HBITMAP WINAPI CreateBitmap(_In_ INT cx, _In_ INT cy, _In_ UINT cPlanes, _In_ UINT cBitsPerPel, _In_opt_ const VOID *pvBits)
HBRUSH SizingBrush
Definition: childwnd.c:26

Referenced by InitInstance().