MCPcopy Create free account
hub / github.com/TranslucentTB/TranslucentTB / MessageHandler

Method MessageHandler

TranslucentTB/uwp/xamldragregion.cpp:16–78  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14}
15
16LRESULT XamlDragRegion::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam)
17{
18 switch (uMsg)
19 {
20 case WM_LBUTTONDOWN:
21 HandleClick(WM_NCLBUTTONDOWN, lParam);
22 return 0;
23
24 case WM_LBUTTONDBLCLK:
25 HandleClick(WM_NCLBUTTONDBLCLK, lParam);
26 return 0;
27
28 case WM_LBUTTONUP:
29 HandleClick(WM_NCLBUTTONUP, lParam);
30 return 0;
31
32 case WM_RBUTTONDOWN:
33 HandleClick(WM_NCRBUTTONDOWN, lParam);
34 return 0;
35
36 case WM_RBUTTONDBLCLK:
37 HandleClick(WM_NCRBUTTONDBLCLK, lParam);
38 return 0;
39
40 case WM_RBUTTONUP:
41 HandleClick(WM_NCRBUTTONUP, lParam);
42 return 0;
43
44 case WM_MOUSEMOVE:
45 if (!m_Tracking)
46 {
47 TRACKMOUSEEVENT tme = {
48 .cbSize = sizeof(tme),
49 .dwFlags = TME_HOVER | TME_LEAVE,
50 .hwndTrack = m_WindowHandle,
51 .dwHoverTime = HOVER_DEFAULT
52 };
53
54 if (TrackMouseEvent(&tme))
55 {
56 m_Tracking = true;
57 }
58 else
59 {
60 LastErrorHandle(spdlog::level::info, L"Failed to track mouse events");
61 }
62 }
63
64 return 0;
65
66 case WM_MOUSEHOVER:
67 ancestor(GA_PARENT).send_message(uMsg, wParam, lParam);
68 return 0;
69
70 case WM_MOUSELEAVE:
71 ancestor(GA_PARENT).send_message(uMsg, wParam, lParam);
72 m_Tracking = false;
73 return 0;

Callers

nothing calls this directly

Calls 1

send_messageMethod · 0.80

Tested by

no test coverage detected