meillo@0: unit unit_Editor; meillo@0: meillo@0: interface//#################################################################################### meillo@0: meillo@0: uses meillo@0: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, meillo@0: Dialogs, Menus, ExtCtrls, Buttons, StdCtrls; meillo@0: meillo@0: type meillo@0: Tform_Editor = class(TForm) meillo@0: mnu_Main: TMainMenu; meillo@0: mnu_tutorial: TMenuItem; meillo@0: mnu_WelcomeScreen: TMenuItem; meillo@0: mnu_Autorun: TMenuItem; meillo@0: mnu_CreateAR: TMenuItem; meillo@0: img_Background: TImage; meillo@0: img_button: TImage; meillo@0: mnu_nzl: TMenuItem; meillo@0: mnu_Sprache: TMenuItem; meillo@0: procedure FormClose(Sender: TObject; var Action: TCloseAction); meillo@0: procedure FormCreate(Sender: TObject); meillo@0: procedure mnu_tutorialClick(Sender: TObject); meillo@0: procedure mnu_WelcomeScreenClick(Sender: TObject); meillo@0: procedure mnu_AutorunClick(Sender: TObject); meillo@0: procedure mnu_CreateARClick(Sender: TObject); meillo@0: procedure img_buttonMouseDown(Sender: TObject; Button: TMouseButton; meillo@0: Shift: TShiftState; X, Y: Integer); meillo@0: procedure img_buttonMouseMove(Sender: TObject; Shift: TShiftState; X, meillo@0: Y: Integer); meillo@0: procedure img_buttonMouseUp(Sender: TObject; Button: TMouseButton; meillo@0: Shift: TShiftState; X, Y: Integer); meillo@0: procedure mnu_SpracheClick(Sender: TObject); meillo@0: meillo@0: private meillo@0: dX : integer; meillo@0: dY : integer; meillo@0: public meillo@0: DraggingStatus : byte; meillo@0: meillo@0: PfadHG_neu : String; // 'C:\' meillo@0: PfadEnter_neu : String; // 'C:\' meillo@0: PfadIcon_neu : string; meillo@0: CDRoot_neu : string; meillo@0: xEnter_neu : integer; // '225' meillo@0: yEnter_neu : integer; // '325' meillo@0: WelcomeKind_neu : String; // 'click' 'time' 'none' meillo@0: Delay_neu : byte; // '3000' (in ms) meillo@0: StartsFD_neu : string; meillo@0: meillo@0: PfadHG_alt : String; meillo@0: PfadEnter_alt : String; meillo@0: PfadIcon_alt : string; meillo@0: CDRoot_alt : string; meillo@0: xEnter_alt : integer; meillo@0: yEnter_alt : integer; meillo@0: WelcomeKind_alt : String; meillo@0: Delay_alt : byte; meillo@0: StartsFD_alt : string; meillo@0: meillo@0: Delay : string; meillo@0: englisch : boolean; meillo@0: end; meillo@0: meillo@0: var meillo@0: form_Editor: Tform_Editor; meillo@0: meillo@0: implementation//############################################################################### meillo@0: uses unit_Start, unit_Welcome, unit_Editor_ws, unit_Editor_as, meillo@0: unit_Editor_tutorial, unit_Editor_CreateAR; meillo@0: {$R *.dfm}//################################################################################### meillo@0: meillo@0: //------------------------------------------------------------------------------ form create meillo@0: procedure Tform_Editor.FormCreate(Sender: TObject); meillo@0: begin meillo@0: // close form 'start' meillo@0: form_start.Hide; meillo@0: meillo@0: // init global vars meillo@0: PfadHG_alt := ''; meillo@0: PfadEnter_alt := ''; meillo@0: PfadIcon_alt := ''; meillo@0: CDRoot_alt := 'C:\NewCD\'; meillo@0: xEnter_alt := 0; meillo@0: yEnter_alt := 0; meillo@0: WelcomeKind_alt := 'click'; meillo@0: Delay_alt := 2; meillo@0: StartsFD_alt := ''; meillo@0: Delay := '3'; meillo@0: englisch := true; meillo@0: meillo@0: // background color meillo@0: form_editor.Color := rgb(192,192,192); meillo@0: // dragging dtatus = 0 meillo@0: DraggingStatus := 0; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: //------------------------------------------------------------------------------ kill meillo@0: procedure Tform_Editor.FormClose(Sender: TObject; meillo@0: var Action: TCloseAction); meillo@0: begin meillo@0: application.Terminate; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: meillo@0: //############################################################################################# meillo@0: meillo@0: //------------------------------------------------------------------------------ tutorial meillo@0: procedure Tform_Editor.mnu_tutorialClick(Sender: TObject); meillo@0: begin meillo@0: application.CreateForm(tform_editor_tutorial, form_editor_tutorial); meillo@0: form_editor_tutorial.show; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: //------------------------------------------------------------------------------ welcome settings meillo@0: procedure Tform_Editor.mnu_WelcomeScreenClick(Sender: TObject); meillo@0: begin meillo@0: application.CreateForm(tform_editor_ws, form_editor_ws); meillo@0: form_editor_ws.show; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: //------------------------------------------------------------------------------ autorun settings meillo@0: procedure Tform_Editor.mnu_AutorunClick(Sender: TObject); meillo@0: begin meillo@0: application.CreateForm(tform_editor_as, form_editor_as); meillo@0: form_editor_as.show; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: //------------------------------------------------------------------------------ create settings meillo@0: procedure Tform_Editor.mnu_CreateARClick(Sender: TObject); meillo@0: begin meillo@0: application.CreateForm(tform_editor_CreateAR, form_editor_CreateAR); meillo@0: form_editor_CreateAR.show; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: //------------------------------------------------------------------------------ toggle language meillo@0: procedure Tform_Editor.mnu_SpracheClick(Sender: TObject); meillo@0: begin meillo@0: if englisch = true then meillo@0: begin meillo@0: englisch := false; meillo@0: mnu_sprache.caption := ' -> English '; // German meillo@0: mnu_Tutorial.Caption := ' Anleitung '; meillo@0: mnu_WelcomeScreen.Caption := ' Begrüßungsbild Optionen '; meillo@0: mnu_Autorun.Caption := ' Autorun Optionen '; meillo@0: mnu_CreateAR.Caption := ' Autorunner erstellen '; meillo@0: end meillo@0: else meillo@0: begin meillo@0: englisch := true; meillo@0: mnu_sprache.Caption := ' -> Deutsch '; // English meillo@0: mnu_Tutorial.Caption := ' Tutorial '; meillo@0: mnu_WelcomeScreen.Caption := ' Welcome-Screen Settings '; meillo@0: mnu_Autorun.Caption := ' Autorun Settings '; meillo@0: mnu_CreateAR.Caption := ' Create CD-Autorunner '; meillo@0: end; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: meillo@0: //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ meillo@0: meillo@0: //------------------------------------------------------------------------------ // mouse down meillo@0: procedure Tform_Editor.img_buttonMouseDown(Sender: TObject; meillo@0: Button: TMouseButton; Shift: TShiftState; X, Y: Integer); meillo@0: var MouseArea : trect; meillo@0: begin meillo@0: // right drag'n'drop status needed meillo@0: if DraggingStatus <> 0 then exit; meillo@0: // remember cursor position on 'img_button' meillo@0: dX := x; meillo@0: dY := y; meillo@0: // jail mouse in mousearea meillo@0: mousearea.Left := form_editor.Left + dX + 3; meillo@0: mousearea.Right := form_editor.Left + form_editor.Width - (img_button.Width - dX + 2); meillo@0: mousearea.Top := form_editor.Top + dY + 41; meillo@0: mousearea.Bottom := form_editor.Top + form_editor.Height - (img_button.Height - dY +2); meillo@0: clipcursor(@mousearea); meillo@0: // set drag'n'drop status meillo@0: DraggingStatus := 1; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: //------------------------------------------------------------------------------ // mouse move meillo@0: procedure Tform_Editor.img_buttonMouseMove(Sender: TObject; meillo@0: Shift: TShiftState; X, Y: Integer); meillo@0: begin meillo@0: // right drag'n'drop status needed meillo@0: if (DraggingStatus = 0) or (draggingstatus = 3) then exit; meillo@0: // drag meillo@0: img_button.Left := img_button.Left + (x - dX); meillo@0: img_button.Top := img_button.Top + (y - dY); meillo@0: // set drag'n'drop status meillo@0: DraggingStatus := 2; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: //------------------------------------------------------------------------------ // mouse up meillo@0: procedure Tform_Editor.img_buttonMouseUp(Sender: TObject; meillo@0: Button: TMouseButton; Shift: TShiftState; X, Y: Integer); meillo@0: begin meillo@0: // right drag'n'drop status needed meillo@0: if DraggingStatus <> 2 then exit; meillo@0: // free cursor from jail meillo@0: clipcursor(nil); meillo@0: // set 'img_button' coordinated meillo@0: xEnter_alt := img_button.left; meillo@0: yEnter_alt := img_button.top; meillo@0: // set drag'n'drop status meillo@0: DraggingStatus := 0; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: meillo@0: end.//#########################################################################################