|



Run Slide Show when Form is Idle

Posted: 15 Oct 2009 11:34 PM PDT


Dear Readers,


I am very sorry about last two weeks unexpected events and could not come out with the weekly Articles. I had to go to India on an emergency on 27th September 2009 and the Website also failed on the same day itself due to some errors in the Web Server Configuration changes made by Administrators.


I have noticed this serious state of the Website on 8th of October and could bring up the Site only on 9th of October 2009. I deeply regret the inconvenience caused to you.




This week, we will create a Slide Show of images on a Form that runs when the Form remains idle for a certain period of time. It works something like the following:


  • When the Main Switchboard Form remains idle for about one minute the Slide Show runs and each image will change on a fixed interval of about 6 Seconds. The Idle Time and Interval Time can be changed according to your specific needs.


  • The idle time of the Form is calculated based on the inactivity (i.e. no interaction with the User) of the Main Switchboard Form and the active control on the Form remains active for more than one minute.

  • If you click on a Command Button or List box or any other control other than the active control on the Main Switchboard Form then the Form comes out of idle state and the Slide Show stops.


  • Checking for the idle state of the Form starts again from that point onwards with the new active control. If the same control remains active for more than one minute then the slide show starts again.


  • If you open another Form over the Main Switchboard Form then the slide show sleeps until the Main Switchboard From becomes active again.


  • You need few Bitmap Images of Landscapes or Photos and you can use as many images as you like for the Slide Show. All the images should have the same name with a Sequence Number at the end like Image1.bmp, Image2.bmp, Image3.bmp and so on. You can use .jpg or .GIF and other images but this will display a progress bar for a brief moment while loading the image into the Image Control. All images must be of the same type.


A sample Main Switchboard Form with the active Slide Show is given below:


Sample Slide Show Screen



  1. To try out this interesting trick; first organize few Bitmap Images into a folder as explained above.

  2. Make a copy of your existing Main Switchboard Form (Control Screen).

  3. Open the Form in Design View.

  4. Make enough room on the Form to create an Image Control on the Form.

  5. Display the Toolbox (View - ->Toolbox), if it is not visible.

  6. Select Control Wizards button on the Toolbox to make it active.

  7. Select Image control Tool from the Toolbox and draw an Image Control on the Form where you want the Slide Show to appear.

  8. The Common Dialog Control will display. Browse to the Images location and select the image with Serial Number 1 (Image1.bmp).


  9. The selected image will appear in the Image Control.


  10. While the Image control is still in selected state; display the Property Sheet (View - -> Properties) and change the following Property Values as indicated below:


    • Name = ImageFrame

    • Size Mode = Zoom



    NB: We need part of the Picture Property Value (the location address of the Images) to make changes in the Program that we are going to introduce into the Code Module of the Form. So, note down the image location address on paper from the Picture Property or copy and paste it into a Notepad Document for later use.


  11. Display the Code Module of the Form (View - -> Code).

  12. Press Ctrl+A to highlight the existing VBA Code in the Module, if present, and press Delete to remove them.

  13. Copy and Paste the following Code into the Form Module.



  14. Option Compare Database
    Option Explicit

    Dim actForm As String, actControl As String, idletime As Integer
    Dim oldForm As String, oldControl As String, imageNo As Integer

    Private Sub Form_Activate()
    Me.TimerInterval = 1000
    End Sub

    Private Sub Form_Deactivate()
    Me.TimerInterval = 0
    Me.ImageFrame.Visible = False
    End Sub

    Private Sub Form_Load()
    DoCmd.Restore

    idletime = 0
    Me.ImageFrame.Visible = False
    Me.TimerInterval = 1000

    End Sub

    Private Sub Form_Timer()

    actForm = Screen.activeForm.Name
    actControl = Screen.activeForm.activeControl.Name

    If actForm = oldForm And actControl = oldControl And actForm = "Control" Then
    idletime = idletime + 1
    Else
    oldForm = actForm
    oldControl = actControl
    idletime = 0
    Me.ImageFrame.Visible = False
    DoEvents
    End If

    If idletime > 60 Then
    If idletime Mod 6 = 0 Then
    Me.ImageFrame.Visible = True
    imageNo = imageNo + 1
    imageNo = IIf(imageNo < 1 Or imageNo > 9, 1, imageNo)
    Me.ImageFrame.Picture = "E:\D\Movie\Britanica_Scenes\scene" & imageNo & ".bmp"
    DoEvents
    End If
    End If

    End Sub


    You have to make changes on few lines in the program that appears in bold letters.

  15. Change the word "Control" in the first line (with bold letters) with your own Main Switchboard Form Name.

  16. Change Number 9, in the second line with bold letters, to match with the number of Images you have saved for the Slide Show as explained above.

  17. Copy the Image Location Address and Image Name except Serial Number from the image location address we have saved in Notepad Document and Paste over the text E:\D\Movie\Britanica_Scenes\scene in the Program.

  18. If your pictures are not Bitmap Images then change the file extension ".bmp" to indicate your image type.

  19. Save and Close the Form.

  20. Open the Main Switchboard Form in Normal View.

  21. Wait for one minute to begin the Slide Show.



When the Slide Show is running, if you click on a Control other than the active control on the Form the Slide Show will stop and the image will disappear.


If you don't click on any other control on the Form and the time elapsed is more than one minute, since your last click on a Control, the Slide Show will run again.


If you want to increase or decrease the idle time of the Form then change the value in the VBA line If idletime > 60 Then to an appropriate value you prefer.


Each Image stays displayed for about 6 seconds. If you want to increase or decrease the display time then change the Value in the VBA line If idletime Mod 6 = 0 Then to the required value you prefer.





StumbleUpon Toolbar

0 comments:

Post a Comment

Note: Only a member of this blog may post a comment.

 

©2009 Programming & Security | Template Blue by TNB

Vida de bombeiro Recipes Informatica Humor Jokes Mensagens Curiosity Saude Video Games Diario das Mensagens Eletronica Rei Jesus News Noticias da TV Artesanato Esportes Noticias Atuais Games Pets Career Religion Recreation Business Education Autos Academics Style Television Programming Motosport Humor News The Games Home Downs World News Internet Design Entertaimment Celebrities 1001 Games Doctor Pets Net Downs World Enter Jesus Mensagensr Android Rub Letras Dialogue cosmetics Genexus Só Humor Curiosity Gifs Medical Female American Health Madeira Designer PPS Divertidas Estate Travel Estate Writing Computer Matilde Ocultos futebolcomnoticias girassol lettheworldturn topdigitalnet Bem amado enjohnny produceideas foodasticos cronicasdoimaginario downloadsdegraca compactandoletras newcuriosidades blogdoarmario arrozinhoii sonasol halfbakedtaters make-it-plain amatha lisboaohyeah lasofia thebushrajr wingshock tripedes gorduravegetal dainfamia dejavu-transpersonal jsbenfica republicadasbadanas ruiherbon iranianforaryans eaystcheyl fotosdanadir ojosmasabiertos ceilasantos