回答編集履歴

3

修正

2018/12/06 23:41

投稿

asm
asm

スコア15147

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  case WM_MOUSEMOVE:
14
14
 
15
- if(wParam && MK_LBUTTON){
15
+ if(wParam & MK_LBUTTON){
16
16
 
17
17
  position.x = GET_X_LPARAM(lParam);
18
18
 

2

GetDCよりもBeginPaint

2018/12/06 23:41

投稿

asm
asm

スコア15147

test CHANGED
@@ -58,15 +58,13 @@
58
58
 
59
59
  PAINTSTRUCT ps = {};
60
60
 
61
- HDC hdc = GetDC(hwnd);
62
-
63
61
  wchar_t message[256];
64
62
 
65
63
  wsprintf(message, L"(x,y)=%6d,%6d", position.x, position.y);
66
64
 
67
65
 
68
66
 
69
- BeginPaint(hwnd, &ps);
67
+ HDC hdc = BeginPaint(hwnd, &ps);
70
68
 
71
69
  DrawText(hdc, message, lstrlen(message), &ps.rcPaint, DT_CENTER | DT_SINGLELINE | DT_VCENTER);
72
70
 

1

追記

2018/12/06 23:12

投稿

asm
asm

スコア15147

test CHANGED
@@ -14,7 +14,13 @@
14
14
 
15
15
  if(wParam && MK_LBUTTON){
16
16
 
17
+ position.x = GET_X_LPARAM(lParam);
18
+
19
+ position.y = GET_Y_LPARAM(lParam);
20
+
17
- MoveWindow(chwnd, GET_X_LPARAM(lParam) + 5, GET_Y_LPARAM(lParam) - 35, 300, 30, TRUE);
21
+ MoveWindow(chwnd, position.x + 5, position.y - 35, 300, 30, TRUE);
22
+
23
+ InvalidateRect(chwnd, NULL, TRUE);
18
24
 
19
25
  }
20
26
 
@@ -29,3 +35,59 @@
29
35
  MoveWindow(chwnd, 0, 0, 0, 0, TRUE);
30
36
 
31
37
  ```
38
+
39
+
40
+
41
+ ```c
42
+
43
+ LRESULT CALLBACK ChildWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
44
+
45
+ switch (uMsg) {
46
+
47
+ case WM_CREATE:
48
+
49
+
50
+
51
+ break;
52
+
53
+
54
+
55
+ case WM_PAINT:
56
+
57
+ {
58
+
59
+ PAINTSTRUCT ps = {};
60
+
61
+ HDC hdc = GetDC(hwnd);
62
+
63
+ wchar_t message[256];
64
+
65
+ wsprintf(message, L"(x,y)=%6d,%6d", position.x, position.y);
66
+
67
+
68
+
69
+ BeginPaint(hwnd, &ps);
70
+
71
+ DrawText(hdc, message, lstrlen(message), &ps.rcPaint, DT_CENTER | DT_SINGLELINE | DT_VCENTER);
72
+
73
+ EndPaint(hwnd, &ps);
74
+
75
+ }
76
+
77
+ break;
78
+
79
+
80
+
81
+ case WM_DESTROY:
82
+
83
+ break;
84
+
85
+ }
86
+
87
+
88
+
89
+ return DefWindowProc(hwnd, uMsg, wParam, lParam);
90
+
91
+ }
92
+
93
+ ```