}; LPCSTR ExtrapolationMethod[] = { 0, MAKEINTRESOURCE(IDS_LINEAR), MAKEINTRESOURCE(IDS_CUBIC), NULL }; int smoothingRange[] = { 0, 10 }; PropData Properties[] = { PropData_ComboBox ( PROPID_EXTRAPOLATION, IDS_EXTRAPOLATION, IDS_EXTRAPOLATION_DESC, ExtrapolationMethod ), PropData_CheckBox ( PROPID_USEACCELERATION, IDS_USEACCELERATION, IDS_USEACCELERATION_DESC ), PropData_SpinEdit ( PROPID_XSMOOTHING, IDS_XSMOOTHING, IDS_XSMOOTHING_DESC, &smoothingRange ), PropData_SpinEdit ( PROPID_YSMOOTHING, IDS_YSMOOTHING, IDS_YSMOOTHING_DESC, &smoothingRange ), PropData_SpinEdit ( PROPID_DIRSMOOTHING, IDS_DIRSMOOTHING, IDS_DIRSMOOTHING_DESC, &smoothingRange ), PropData_SpinEdit ( PROPID_ANGLESMOOTHING, IDS_ANGLESMOOTHING, IDS_ANGLESMOOTHING_DESC, &smoothingRange ), PropData_End() }; // Structure defined to pass edptr and mv into setup box typedef struct tagSetP { EDITDATA _far * edpt; mv _far * kv; } setupParams;
{ PROPID_INITIALSPEED = PROPID_MVTEXT_FIRST, PROPID_INITIALDIR, PROPID_GRAVITY, PROPID_MOVEATSTART, PROPID_DECELERATION }; MinMaxParam MinMax = { 0, 100 }; DirCtrlCreateParam InitialDirParam32 = { TRUE, 32, DCS_3D | DCS_SETALL_BTNS }; PropData CPinball::MvtProps[] = { PropData_SliderEdit(PROPID_GRAVITY, IDS_GRAVITY, IDS_GRAVITY_INFO, &MinMax), PropData_SliderEdit(PROPID_DECELERATION, IDS_DECELERATION, IDS_DECELERATION_INFO, &MinMax), PropData_CheckBox(PROPID_MOVEATSTART, IDS_MOVEATSTART, IDS_MOVEATSTART_INFO), PropData_SliderEdit(PROPID_INITIALSPEED, IDS_INITIALSPEED, IDS_INITIALSPEED_INFO, &MinMax), PropData_DirCtrl(PROPID_INITIALDIR, IDS_INITIALDIR, IDS_INITIALDIR_INFO, &InitialDirParam32), PropData_End() }; //////////////////////////////////////////////// // // Editor & Runtime class // // Constructor CPinball::CPinball() { m_dwInitialSpeed = 50; m_dwInitialDir=0xFFFFFFFF;
int BoundRange[] = { -16000 , 16000 }; // Property definitions // // Type, ID, Text, Text of Info box [, Options, Init Param] PropData Properties[] = { PropData_Group ( PROPID_PARALLAXOBJECT, IDS_PROP_TEXTTITLE, IDS_PROP_TEXTTITLE_DESC ), PropData_ImageList ( PROPID_IMG, IDS_PARALLAXIMAGE, IDS_PARALLAXIMAGE_DESC ), PropData_ComboBox ( PROPID_DIRECTION, IDS_DIRECTION, IDS_DIRECTION_DESC, DirList ), PropData_SpinEdit ( PROPID_ZLENGTH, IDS_ZLENGTH, IDS_ZLENGTH_DESC, &ZRange ), PropData_SpinEdit_Check ( PROPID_SMOOTHLINES, IDS_SMOOTHLINES, IDS_SMOOTHLINES_DESC, &SmoothRange), PropData_CheckBox ( PROPID_QUALITY, IDS_QUALITY, IDS_QUALITY_DESC ), PropData_CheckBox ( PROPID_AUTOSCROLL, IDS_AUTOSCROLL, IDS_AUTOSCROLL_DESC ), PropData_CheckBox ( PROPID_STATIONATORY, IDS_STATIONATORY, IDS_STATIONATORY_DESC ), PropData_Group ( PROPID_BOUNDSETTINGS, IDS_PROP_BOUNDTITLE, IDS_PROP_BOUNDTITLE_DESC ), PropData_SpinEdit_Check ( PROPID_LOWERBOUND, IDS_LOWERBOUND, IDS_LOWERBOUND_DESC, &BoundRange ), PropData_SpinEdit_Check ( PROPID_UPPERBOUND, IDS_UPPERBOUND, IDS_UPPERBOUND_DESC, &BoundRange ), // End of table (required) PropData_End() }; // SETUP PROC ///////////////////////////////////////////////////////////////// // Prototype of setup procedure BOOL CALLBACK DLLExport setupProc(HWND hDlg,uint msgType,WPARAM wParam,LPARAM lParam);