895
898
(void) ReleaseDC(hWnd, widget.core.hDC);
897
900
case WM_LBUTTONDOWN:
898
902
widget.core.hDC = GetDC(hWnd);
899
903
(void) SelectObject(widget.core.hDC, GetStockObject(NULL_PEN));
900
904
SelectMlink(&widget, LOWORD(lParam), HIWORD(lParam),
901
905
((GetKeyState(VK_SHIFT) >> 1) || (GetKeyState(VK_CAPITAL) & 1)));
902
906
(void) ReleaseDC(hWnd, widget.core.hDC);
909
if (!(wParam & MK_LBUTTON)) {
910
mousePressed = False;
911
widget.core.hDC = GetDC(hWnd);
912
(void) SelectObject(widget.core.hDC, GetStockObject(NULL_PEN));
913
ReleaseMlink(&widget, LOWORD(lParam), HIWORD(lParam),
914
((GetKeyState(VK_SHIFT) >> 1) || (GetKeyState(VK_CAPITAL) & 1)));
915
(void) ReleaseDC(hWnd, widget.core.hDC);
918
widget.core.hDC = GetDC(hWnd);
919
(void) SelectObject(widget.core.hDC, GetStockObject(NULL_PEN));
920
MotionMlink(&widget, LOWORD(lParam), HIWORD(lParam),
921
((GetKeyState(VK_SHIFT) >> 1) || (GetKeyState(VK_CAPITAL) & 1)));
922
(void) ReleaseDC(hWnd, widget.core.hDC);
904
924
case WM_LBUTTONUP:
925
mousePressed = False;
905
926
widget.core.hDC = GetDC(hWnd);
906
927
(void) SelectObject(widget.core.hDC, GetStockObject(NULL_PEN));
907
928
ReleaseMlink(&widget, LOWORD(lParam), HIWORD(lParam),
908
929
((GetKeyState(VK_SHIFT) >> 1) || (GetKeyState(VK_CAPITAL) & 1)));
909
930
(void) ReleaseDC(hWnd, widget.core.hDC);
932
#if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
934
widget.core.hDC = GetDC(hWnd);
935
(void) SelectObject(widget.core.hDC, GetStockObject(NULL_PEN));
937
int zDelta = ((short) HIWORD(wParam));
938
POINT cursor, origin;
940
origin.x = 0, origin.y = 0;
941
ClientToScreen(hWnd, &origin);
942
(void) GetCursorPos(&cursor);
943
if (zDelta > (WHEEL_DELTA >> 1)) {
944
MoveMlinkInput(&widget, cursor.x - origin.x, TOP,
945
((GetKeyState(VK_SHIFT) >> 1) || (GetKeyState(VK_CAPITAL) & 1)),
946
(GetKeyState(VK_CONTROL) >> 1) ? 1 : 0);
947
if (GetKeyState(VK_CONTROL) >> 1) {
949
(void) InvalidateRect(hWnd, NULL, TRUE);
951
} else if (zDelta < -(WHEEL_DELTA >> 1)) {
952
MoveMlinkInput(&widget, cursor.x - origin.x, BOTTOM,
953
((GetKeyState(VK_SHIFT) >> 1) || (GetKeyState(VK_CAPITAL) & 1)),
954
(GetKeyState(VK_CONTROL) >> 1) ? 1 : 0);
955
if (GetKeyState(VK_CONTROL) >> 1) {
957
(void) InvalidateRect(hWnd, NULL, TRUE);
961
(void) ReleaseDC(hWnd, widget.core.hDC);
912
965
switch (LOWORD(wParam)) {