#define ID_HELP_COMMANDLINESEITCHES 40026
#define ID_HELP_ABOUT 40027
#define ID_OPTIONS 40029
+#define ID_RETURN 40044
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 133
-#define _APS_NEXT_COMMAND_VALUE 40044
+#define _APS_NEXT_COMMAND_VALUE 40045
#define _APS_NEXT_CONTROL_VALUE 1003
#define _APS_NEXT_SYMED_VALUE 101
#endif
// -=- RfbPlayer's defines
#define strcasecmp _stricmp
+#define MAX_SPEED 10
#define ID_TOOLBAR 500
#define ID_PLAY 510
case ID_FULLSCREEN:
MessageBox(getMainHandle(), "It is not working yet!", "RfbPlayer", MB_OK);
break;
+ case ID_RETURN:
+ // Update the speed if return pressed in speedEdit
+ if (speedEdit == GetFocus()) {
+ char speedStr[20], *stopStr;
+ GetWindowText(speedEdit, speedStr, sizeof(speedStr));
+ double speed = strtod(speedStr, &stopStr);
+ if (speed > 0) {
+ speed = min(MAX_SPEED, speed);
+ // Update speedUpDown position
+ SendMessage(speedUpDown, UDM_SETPOS,
+ 0, MAKELONG((short)(speed / 0.5), 0));
+ } else {
+ speed = getSpeed();
+ }
+ setSpeed(speed);
+ sprintf(speedStr, "%.2f", speed);
+ SetWindowText(speedEdit, speedStr);
+ }
+ break;
}
break;
switch (((NMHDR*)lParam)->code) {
case UDN_DELTAPOS:
if ((int)wParam == ID_SPEED_UPDOWN) {
+ BOOL lResult = FALSE;
char speedStr[20] = "\0";
DWORD speedRange = SendMessage(speedUpDown, UDM_GETRANGE, 0, 0);
LPNM_UPDOWN upDown = (LPNM_UPDOWN)lParam;
double speed;
- // the out of range checking
+ // The out of range checking
if (upDown->iDelta > 0) {
speed = min(upDown->iPos + upDown->iDelta, LOWORD(speedRange)) * 0.5;
} else {
+ // It's need to round the UpDown position
+ if ((upDown->iPos * 0.5) != getSpeed()) {
+ upDown->iDelta = 0;
+ lResult = TRUE;
+ }
speed = max(upDown->iPos + upDown->iDelta, HIWORD(speedRange)) * 0.5;
}
_gcvt(speed, 5, speedStr);
sprintf(speedStr, "%.2f", speed);
SetWindowText(speedEdit, speedStr);
setSpeed(speed);
+ return lResult;
}
- return 0;
- };
+ }
return 0;
case WM_CLOSE:
VK_F5, ID_ZOOM_50, VIRTKEY, NOINVERT
VK_F6, ID_ZOOM_100, VIRTKEY, NOINVERT
VK_F7, ID_ZOOM_200, VIRTKEY, NOINVERT
+ VK_RETURN, ID_RETURN, VIRTKEY, NOINVERT
VK_RETURN, ID_FULLSCREEN, VIRTKEY, ALT, NOINVERT
VK_SPACE, ID_PLAYPAUSE, VIRTKEY, NOINVERT
"X", ID_EXIT, VIRTKEY, ALT, NOINVERT