ReactOS 0.4.15-dev-8241-g63935f8
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  hWnd,
UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 328 of file childwnd.c.

329{
330 BOOL Result;
331 RECT rc;
332
333 switch (message)
334 {
335 case WM_CREATE:
336 {
337 WNDPROC oldproc;
338 HFONT hFont;
340 DWORD style;
341
342 /* Load "My Computer" string */
344
346 if (!g_pChildWnd) return 0;
347
349 g_pChildWnd->nSplitPos = 190;
351
355 hWnd, (HMENU)0, hInst, 0);
356
359 g_pChildWnd->hAddressBtnWnd = CreateWindowExW(0, L"Button", L"\x00BB", style,
361 hWnd, (HMENU)0, hInst, 0);
363 IMAGE_ICON, 12, 12, 0);
365
366 GetClientRect(hWnd, &rc);
370
371 /* set the address bar and button font */
373 {
377 (WPARAM)hFont,
378 0);
381 (WPARAM)hFont,
382 0);
383 }
384 /* Subclass the AddressBar */
388 break;
389 }
390 case WM_COMMAND:
391 if(HIWORD(wParam) == BN_CLICKED)
392 {
394 }
395 break; //goto def;
396 case WM_SETCURSOR:
397 if (LOWORD(lParam) == HTCLIENT)
398 {
399 POINT pt;
403 {
405 return TRUE;
406 }
407 }
408 goto def;
409
410 case WM_DESTROY:
418 break;
419
420 case WM_LBUTTONDOWN:
421 {
422 INT x = (SHORT)LOWORD(lParam);
423 if (x >= g_pChildWnd->nSplitPos - SPLIT_WIDTH / 2 &&
424 x < g_pChildWnd->nSplitPos + SPLIT_WIDTH / 2 + 1)
425 {
428 last_split = x;
430 }
431 break;
432 }
433
434 case WM_LBUTTONUP:
435 case WM_RBUTTONDOWN:
436 if (GetCapture() == hWnd)
437 {
438 INT x = (SHORT)LOWORD(lParam);
441 }
442 break;
443
445 if (GetCapture() == hWnd && last_split >= 0)
447 break;
448
449 case WM_KEYDOWN:
450 if (wParam == VK_ESCAPE)
451 if (GetCapture() == hWnd)
452 {
453 RECT rt;
455 GetClientRect(hWnd, &rt);
456 ResizeWnd(rt.right, rt.bottom);
457 last_split = -1;
460 }
461 break;
462
463 case WM_MOUSEMOVE:
464 if (GetCapture() == hWnd)
465 {
466 INT x = (SHORT)LOWORD(lParam);
468 if (last_split != x)
469 {
471 last_split = x;
473 }
474 }
475 break;
476
477 case WM_SETFOCUS:
478 if (g_pChildWnd != NULL)
479 {
481 }
482 break;
483
484 case WM_NOTIFY:
485 if (g_pChildWnd == NULL) break;
486
487 if (((LPNMHDR)lParam)->idFrom == TREE_WINDOW)
488 {
490 {
491 goto def;
492 }
493
494 return Result;
495 }
496 else
497 {
498 if (((LPNMHDR)lParam)->idFrom == LIST_WINDOW)
499 {
501 {
502 goto def;
503 }
504
505 return Result;
506 }
507 else
508 {
509 goto def;
510 }
511 }
512 break;
513
514 case WM_CONTEXTMENU:
515 {
516 POINT pt;
518 {
519 int i, cnt;
520 BOOL IsDefault;
521 pt.x = (short) LOWORD(lParam);
522 pt.y = (short) HIWORD(lParam);
525 if (pt.x == -1 && pt.y == -1)
526 {
527 RECT rc;
528 if (i != -1)
529 {
530 rc.left = LVIR_BOUNDS;
532 pt.x = rc.left + 8;
533 pt.y = rc.top + 8;
534 }
535 else
536 pt.x = pt.y = 0;
538 }
539 if(i == -1)
540 {
542 }
543 else
544 {
547 IsDefault = IsDefaultValue(g_pChildWnd->hListWnd, i);
548 if(cnt == 1)
550 else
554
556 }
557 }
558 else if ((HWND)wParam == g_pChildWnd->hTreeWnd)
559 {
560 TVHITTESTINFO hti;
561 HMENU hContextMenu;
563 MENUITEMINFOW mii;
564 WCHAR resource[256];
565 WCHAR buffer[256];
566 LPWSTR s;
567 LPCWSTR keyPath;
568 HKEY hRootKey;
569 int iLastPos;
570 WORD wID;
571 BOOL isRoot;
572
573 pt.x = (short) LOWORD(lParam);
574 pt.y = (short) HIWORD(lParam);
575
576 if (pt.x == -1 && pt.y == -1)
577 {
578 RECT rc;
580 if (hti.hItem != NULL)
581 {
583 pt.x = rc.left + 8;
584 pt.y = rc.top + 8;
586 hti.flags = TVHT_ONITEM;
587 }
588 else
589 hti.flags = 0;
590 }
591 else
592 {
593 hti.pt.x = pt.x;
594 hti.pt.y = pt.y;
597 }
598
599 if (hti.flags & TVHT_ONITEM)
600 {
602
603 isRoot = (TreeView_GetParent(g_pChildWnd->hTreeWnd, hti.hItem) == NULL);
604 hContextMenu = GetSubMenu(hPopupMenus, isRoot ? PM_ROOTITEM : PM_TREECONTEXT);
605
606 memset(&item, 0, sizeof(item));
608 item.hItem = hti.hItem;
610
611 /* Set the Expand/Collapse menu item appropriately */
613 memset(&mii, 0, sizeof(mii));
614 mii.cbSize = sizeof(mii);
616 mii.fState = (item.cChildren > 0) ? MFS_DEFAULT : MFS_GRAYED;
618 mii.dwTypeData = (LPWSTR) buffer;
619 SetMenuItemInfo(hContextMenu, 0, TRUE, &mii);
620
621 if (isRoot == FALSE)
622 {
623 /* Remove any existing suggestions */
624 memset(&mii, 0, sizeof(mii));
625 mii.cbSize = sizeof(mii);
626 mii.fMask = MIIM_ID;
627 GetMenuItemInfo(hContextMenu, GetMenuItemCount(hContextMenu) - 1, TRUE, &mii);
628 if ((mii.wID >= ID_TREE_SUGGESTION_MIN) && (mii.wID <= ID_TREE_SUGGESTION_MAX))
629 {
630 do
631 {
632 iLastPos = GetMenuItemCount(hContextMenu) - 1;
633 GetMenuItemInfo(hContextMenu, iLastPos, TRUE, &mii);
634 RemoveMenu(hContextMenu, iLastPos, MF_BYPOSITION);
635 }
636 while((mii.wID >= ID_TREE_SUGGESTION_MIN) && (mii.wID <= ID_TREE_SUGGESTION_MAX));
637 }
638
639 /* Come up with suggestions */
640 keyPath = GetItemPath(g_pChildWnd->hTreeWnd, NULL, &hRootKey);
641 SuggestKeys(hRootKey, keyPath, Suggestions, ARRAY_SIZE(Suggestions));
642 if (Suggestions[0])
643 {
644 AppendMenu(hContextMenu, MF_SEPARATOR, 0, NULL);
645
647
648 s = Suggestions;
650 while(*s && (wID <= ID_TREE_SUGGESTION_MAX))
651 {
652 WCHAR *path = s, buf[MAX_PATH];
653 if (hRootKey == HKEY_CURRENT_USER || hRootKey == HKEY_LOCAL_MACHINE)
654 {
655 // Windows 10 only displays the root name
657 if (next > s)
658 lstrcpynW(path = buf, s, min(next - s, _countof(buf)));
659 }
661
662 memset(&mii, 0, sizeof(mii));
663 mii.cbSize = sizeof(mii);
664 mii.fMask = MIIM_STRING | MIIM_ID;
665 mii.wID = wID++;
666 mii.dwTypeData = buffer;
667 InsertMenuItem(hContextMenu, GetMenuItemCount(hContextMenu), TRUE, &mii);
668
669 s += wcslen(s) + 1;
670 }
671 }
672 }
673 TrackPopupMenu(hContextMenu, TPM_RIGHTBUTTON, pt.x, pt.y, 0, hFrameWnd, NULL);
674 }
675 }
676 break;
677 }
678
679 case WM_SIZE:
681 {
683 }
684 break;
685
686 default:
687def:
689 }
690 return 0;
691}
Arabic default style
Definition: afstyles.h:94
HWND hWnd
Definition: settings.c:17
BOOL CreateListView(PMAIN_WND_INFO Info)
Definition: listview.c:355
static void finish_splitbar(HWND hWnd, int x)
Definition: childwnd.c:131
static int last_split
Definition: childwnd.c:25
static void draw_splitbar(HWND hWnd, int x)
Definition: childwnd.c:101
LRESULT CALLBACK AddressBarProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: childwnd.c:236
ChildWnd * g_pChildWnd
Definition: childwnd.c:24
static INT ClampSplitBarX(HWND hWnd, INT x)
Definition: childwnd.c:42
WCHAR Suggestions[256]
Definition: childwnd.c:28
static void SuggestKeys(HKEY hRootKey, LPCWSTR pszKeyPath, LPWSTR pszSuggestions, size_t iSuggestionsLength)
Definition: childwnd.c:151
void ResizeWnd(int cx, int cy)
Definition: childwnd.c:49
BOOL IsDefaultValue(HWND hwndLV, int i)
Definition: listview.c:108
BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result)
Definition: listview.c:545
void DestroyListView(HWND hwndLV)
Definition: listview.c:655
HMENU hPopupMenus
Definition: main.c:38
HWND hFrameWnd
Definition: main.c:35
void DestroyMainMenu()
Definition: main.c:164
HFONT hFont
Definition: main.c:53
HWND CreateTreeView(HWND hwndParent, LPWSTR pHostName, HMENU id)
Definition: treeview.c:754
#define PM_TREECONTEXT
Definition: main.h:37
#define ARRAY_SIZE(A)
Definition: main.h:33
#define LIST_WINDOW
Definition: main.h:28
BOOL TreeWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result)
Definition: treeview.c:643
#define TREE_WINDOW
Definition: main.h:27
#define PM_NEW
Definition: main.h:36
LPCWSTR GetItemPath(HWND hwndTV, HTREEITEM hItem, HKEY *phRootKey)
Definition: treeview.c:88
#define PM_ROOTITEM
Definition: main.h:38
#define PM_MODIFYVALUE
Definition: main.h:35
#define ID_TREE_SUGGESTION_MIN
Definition: resource.h:156
#define IDS_MY_COMPUTER
Definition: resource.h:129
#define IDS_COLLAPSE
Definition: resource.h:191
#define IDI_ARROW
Definition: resource.h:37
#define ID_EDIT_MODIFY
Definition: resource.h:62
#define ID_TREE_EXPANDBRANCH
Definition: resource.h:93
#define ID_TREE_COLLAPSEBRANCH
Definition: resource.h:95
#define IDS_GOTO_SUGGESTED_KEY
Definition: resource.h:194
#define ID_EDIT_MODIFY_BIN
Definition: resource.h:122
#define IDS_EXPAND
Definition: resource.h:190
#define ID_TREE_SUGGESTION_MAX
Definition: resource.h:157
#define ID_EDIT_RENAME
Definition: resource.h:58
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
#define MAX_PATH
Definition: compat.h:34
#define HeapFree(x, y, z)
Definition: compat.h:735
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
#define lstrcpynW
Definition: compat.h:738
LPWSTR WINAPI PathFindNextComponentW(LPCWSTR lpszPath)
Definition: path.c:2579
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
Definition: typeof.h:94
#define pt(x, y)
Definition: drawing.c:79
HINSTANCE hInst
Definition: dxdiag.c:13
#define SPLIT_WIDTH
Definition: eventvwr.c:45
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLdouble s
Definition: gl.h:2039
GLuint buffer
Definition: glext.h:5915
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
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
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
int _snwprintf(wchar_t *buffer, size_t count, const wchar_t *format,...)
static HICON
Definition: imagelist.c:84
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:63
static ATOM item
Definition: dde.c:856
#define min(a, b)
Definition: monoChain.cc:55
#define L(x)
Definition: ntvdm.h:50
#define LOWORD(l)
Definition: pedump.c:82
#define WS_CHILD
Definition: pedump.c:617
#define WS_TABSTOP
Definition: pedump.c:634
#define WS_VISIBLE
Definition: pedump.c:620
short SHORT
Definition: pedump.c:59
#define BS_DEFPUSHBUTTON
Definition: pedump.c:652
static VOID DestroyTreeView(HWND hTreeView)
#define TreeView_SelectItem(hwnd, hitem)
Definition: commctrl.h:3481
#define TVHT_ONITEM
Definition: commctrl.h:3527
#define LVNI_SELECTED
Definition: commctrl.h:2424
#define LVNI_FOCUSED
Definition: commctrl.h:2423
#define TreeView_GetParent(hwnd, hitem)
Definition: commctrl.h:3469
#define ListView_GetNextItem(hwnd, i, flags)
Definition: commctrl.h:2434
#define TreeView_GetSelection(hwnd)
Definition: commctrl.h:3473
#define TreeView_GetItem(hwnd, pitem)
Definition: commctrl.h:3490
#define TreeView_GetItemRect(hwnd, hitem, prc, code)
Definition: commctrl.h:3429
#define ListView_GetSelectedCount(hwndLV)
Definition: commctrl.h:2709
#define LVM_GETITEMRECT
Definition: commctrl.h:2477
#define TVIS_EXPANDED
Definition: commctrl.h:3284
#define TVIF_CHILDREN
Definition: commctrl.h:3272
#define TreeView_HitTest(hwnd, lpht)
Definition: commctrl.h:3513
#define TVIF_STATE
Definition: commctrl.h:3269
#define LVIR_BOUNDS
Definition: commctrl.h:2472
static unsigned __int64 next
Definition: rand_nt.c:6
#define WM_CONTEXTMENU
Definition: richedit.h:64
#define WM_NOTIFY
Definition: richedit.h:61
_CRTIMP wchar_t *__cdecl wcsncpy(wchar_t *_Dest, const wchar_t *_Source, size_t _Count)
#define memset(x, y, z)
Definition: compat.h:39
#define _countof(array)
Definition: sndvol32.h:70
Definition: main.h:61
int nSplitPos
Definition: main.h:69
WCHAR szPath[MAX_PATH]
Definition: main.h:71
HWND hAddressBtnWnd
Definition: main.h:66
int nFocusPanel
Definition: main.h:68
HICON hArrowIcon
Definition: main.h:67
HWND hTreeWnd
Definition: main.h:63
HWND hListWnd
Definition: main.h:64
HWND hAddressBarWnd
Definition: main.h:65
HWND hWnd
Definition: main.h:62
Definition: tftpd.h:60
LPWSTR dwTypeData
Definition: winuser.h:3269
long y
Definition: polytest.cpp:48
long x
Definition: polytest.cpp:48
LONG right
Definition: windef.h:308
LONG bottom
Definition: windef.h:309
LONG top
Definition: windef.h:307
LONG left
Definition: windef.h:306
HTREEITEM hItem
Definition: commctrl.h:3521
#define GetWindowLongPtr
Definition: treelist.c:73
#define SetWindowLongPtr
Definition: treelist.c:70
#define GWLP_WNDPROC
Definition: treelist.c:66
#define GWLP_USERDATA
Definition: treelist.c:63
uint32_t DWORD_PTR
Definition: typedefs.h:65
int32_t INT
Definition: typedefs.h:58
#define HIWORD(l)
Definition: typedefs.h:247
LONG_PTR LPARAM
Definition: windef.h:208
UINT_PTR WPARAM
Definition: windef.h:207
HGDIOBJ WINAPI GetStockObject(_In_ int)
#define DEFAULT_GUI_FONT
Definition: wingdi.h:909
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12
#define HKEY_CURRENT_USER
Definition: winreg.h:11
HWND WINAPI SetCapture(_In_ HWND hWnd)
#define MF_BYCOMMAND
Definition: winuser.h:202
#define MIIM_STRING
Definition: winuser.h:727
#define MIIM_ID
Definition: winuser.h:722
#define WM_KEYUP
Definition: winuser.h:1716
BOOL WINAPI ReleaseCapture(void)
Definition: message.c:2890
BOOL WINAPI SetMenuDefaultItem(_In_ HMENU, _In_ UINT, _In_ UINT)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
int WINAPI GetMenuItemCount(_In_opt_ HMENU)
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define IMAGE_ICON
Definition: winuser.h:212
#define AppendMenu
Definition: winuser.h:5740
#define WM_CAPTURECHANGED
Definition: winuser.h:1808
#define TPM_RIGHTBUTTON
Definition: winuser.h:2380
#define WM_CREATE
Definition: winuser.h:1608
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)
#define BS_ICON
Definition: winuser.h:264
#define WM_SIZE
Definition: winuser.h:1611
#define WM_COMMAND
Definition: winuser.h:1740
HANDLE WINAPI LoadImageW(_In_opt_ HINSTANCE hInst, _In_ LPCWSTR name, _In_ UINT type, _In_ int cx, _In_ int cy, _In_ UINT fuLoad)
Definition: cursoricon.c:2234
#define IDC_ARROW
Definition: winuser.h:687
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
Definition: cursoricon.c:2701
#define InsertMenuItem
Definition: winuser.h:5813
#define WM_SETFOCUS
Definition: winuser.h:1613
#define SetMenuItemInfo
Definition: winuser.h:5859
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
#define WM_MOUSEMOVE
Definition: winuser.h:1775
HWND WINAPI GetCapture(void)
Definition: message.c:2881
#define SIZE_MINIMIZED
Definition: winuser.h:2506
#define WM_LBUTTONDOWN
Definition: winuser.h:1776
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
Definition: cursoricon.c:2136
BOOL WINAPI ClientToScreen(_In_ HWND, _Inout_ LPPOINT)
#define MIIM_STATE
Definition: winuser.h:721
#define MFS_DEFAULT
Definition: winuser.h:748
#define BM_SETIMAGE
Definition: winuser.h:1922
#define WM_RBUTTONDOWN
Definition: winuser.h:1779
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
#define VK_RETURN
Definition: winuser.h:2201
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
HWND WINAPI SetFocus(_In_opt_ HWND)
#define MF_ENABLED
Definition: winuser.h:128
#define MFS_GRAYED
Definition: winuser.h:751
#define MF_SEPARATOR
Definition: winuser.h:137
#define BS_FLAT
Definition: winuser.h:280
#define WM_SETFONT
Definition: winuser.h:1650
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)
#define MF_BYPOSITION
Definition: winuser.h:203
BOOL WINAPI RemoveMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
#define HTCLIENT
Definition: winuser.h:2475
#define BS_VCENTER
Definition: winuser.h:279
#define WM_LBUTTONUP
Definition: winuser.h:1777
#define CW_USEDEFAULT
Definition: winuser.h:225
#define WM_SETCURSOR
Definition: winuser.h:1636
#define BN_CLICKED
Definition: winuser.h:1925
BOOL WINAPI TrackPopupMenu(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _Reserved_ int, _In_ HWND, _Reserved_ LPCRECT)
#define WM_DESTROY
Definition: winuser.h:1609
#define WS_EX_CLIENTEDGE
Definition: winuser.h:384
#define WM_KEYDOWN
Definition: winuser.h:1715
#define BS_CENTER
Definition: winuser.h:260
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2906
#define IDC_SIZEWE
Definition: winuser.h:694
#define GetMenuItemInfo
Definition: winuser.h:5797
#define VK_ESCAPE
Definition: winuser.h:2214
BOOL WINAPI EnableMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI DestroyIcon(_In_ HICON)
Definition: cursoricon.c:2084
#define MF_GRAYED
Definition: winuser.h:129
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)
#define MF_DISABLED
Definition: winuser.h:130
_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
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185

Referenced by InitInstance().