*/
Check out and contribute to CodePedia, the wiki for developers.
*/

View \GRAPHBUT.PAS

Graphical button and cursor program. Contain source code to a

Submitted By: WEBMASTER
Rating: (Not rated) (Rate It)


Program Button_Test;

Uses
    Crt,Graph,Mouse,Button3,Cursors;

Var
   GMouse : GraphicMouse;
   TMouse : TextMouse;   {Only for reinitializing at end of program}
   mButton : position;
   GButton : array[1..10] of Button;
   Exit,Status : boolean;
   Gdriver,Gmode,Gerror,I,J,SButtons,BtnCount : integer;

{*************************************************************************}

Procedure Init_Buttons;
Var
   I : integer;
   TempStr : string[2];
Begin
     for I := 1 to 5 do
         with GButton[I] do
         begin
              Str(I:2,TempStr);
              Init;
              SetButtonType(Rounded);
              Create((I-1)*110+10,(I-1)*50+10,100,40,I+8,' Test'+TempStr);
         end;
     GButton[6].Init;
     GButton[6].SetButtonType(ThreeD);
     GButton[6].Create(10,260,100,40,White,'Quit');

     GButton[7].Init;
     GButton[7].SetButtonType(ThreeD);
     GButton[7].Create(0,400,100,40,Blue,'SWORD');

     GButton[8].Init;
     GButton[8].SetButtonType(ThreeD);
     GButton[8].Create(GetMaxX div 4,400,100,40,Blue,'GLOVE');

     GButton[9].Init;
     GButton[9].SetButtonType(ThreeD);
     GButton[9].Create(GetMaxX div 2,400,100,40,Blue,'CHECK');

     GButton[10].Init;
     GButton[10].SetButtonType(ThreeD);
     GButton[10].Create(GetMaxX*3 div 4,400,100,40,Blue,'HAMMER');

End;

{*************************************************************************}


BEGIN
     Gdriver := detect;
     InitGraph(Gdriver,Gmode,'f:\bgi');
     Gerror := GraphResult;
     if Gerror <> GrOk then
     begin
          Writeln('Graphics Error: ',GraphErrorMsg(Gerror));
          Writeln('Program Aborted....');
          Halt(1);
     end;
     ClearDevice;
     Init_Buttons;
     GMouse.Reset(Status,BtnCount);
     Exit := False;
     for I := 1 to 10 do
          GButton[I].Init;
     if Status then     {we have a mouse!}
     begin
          GMouse.Initialize;
          GMouse.SetCursor(ARROW);
          Repeat
                GMouse.QueryBtnDn(ButtonL,mButton);
                if mButton.OpCount > 0 then
                begin
                     GMouse.Show(False);
                     for I := 1 to 10 do
                         if (GButton[I].State) then
                            GButton[I].Invert;
                     for I := 1 to 10 do
                         if GButton[I].ButtonHit(mButton.Xpos,
                                                 mButton.Ypos) then
                         begin
                              GMouse.Show(True);
                              Sound(I*220);
                              Delay(100);
                              NoSound;
                              Delay(100);
                              Sound(I*110);
                              Delay(100);
                              NoSound;
                              if I = 6 then
                                 Exit := True;
                              if I = 7 then
                                 GMouse.SetCursor(SWORD);
                              if I = 8 then
                                 GMouse.SetCursor(GLOVE);
                              if I = 9 then
                                 GMouse.SetCursor(CHECK);
                              if I = 10 then
                                 GMouse.SetCursor(HAMMER);
                         end;
                     GMouse.Show(True);
                end;
          Until Exit;
     end;
     CloseGraph;
     TMouse.Initialize{Reset text mouse cursor}
     ClrScr;
END.

corner
© 1996-2008 CommunityHeaven LLC. All rights reserved. Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
North American business development: Nicolai Wadstrom. Publisher: Lars Hagelin.