Jump to content
Sign in to follow this  

Display a list of images (As in an album)

Recommended Posts


Hello friends

I have a question regarding displaying a list of images.

What I want is to display a list of image thumbnails in a photo gallery/album. I have used listview control to display icons with texts. I want the same thing here. But just one little difference. I want the icons to be "bigger" (and not just icons).

When the user clicks on an image, a new window opens with the full view of the image. (The same thing that windows explorer does).

If I am still unable to explain it properly, then, all I want is to make something like the FaceBook photo album.

I know how to display a single image etc..

I wrote code to generate thumbnails.

I just need help displaying the list of images (as images, not text) in a listview. (A custom listview or some other control will be fine too). I have only ~40 images to show, so performance is not an issue.

Thanks a lot in advance

Nikita Nova

Share this post

Link to post
Share on other sites

Hi, nikitanova. Rather than a listview, why not use GUICtrlCreatePic? You can then set the action for each thumbnail to be opening the picture in the default viewer. Something like this should give you what you want:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Local $msg
GUICreate("My Pics")
   $pic1 = GUICtrlCreatePic(@ScriptDir & "1.jpg", 10, 10, 75, 75)
   $pic2 = GUICtrlCreatePic(@ScriptDir & "2.jpg", 95, 10, 75, 75)

   While 1
        $msg = GUIGetMsg()
              Case $msg = $GUI_EVENT_CLOSE
              Case $msg = $pic1
                 ShellExecute(@ScriptDir & "1.jpg")
              Case $msg = $pic2
                 ShellExecute(@ScriptDir & "2.jpg")

√-1 2^3 ∑ π, and it was delicious!

Share this post

Link to post
Share on other sites

Since you have ~40 pictures, it might be easier to loop through all the pictures. This creates all the pictures in the same position on the gui, and hides all but one of the pictures. There are 2 buttons for you to set which picture you are viewing:

#include <Array.au3>
#include <GUIConstantsEx.au3>
Global $hForm = GUICreate("Pictures", 280, 200)
Global $iPicCount = 40;
Global $avHPics[$iPicCount]
For $i = 1 To $iPicCount
$avHPics[$i-1] = GUICtrlCreatePic(@ScriptDir & "pic" & $i & ".png", 100, 50, 100, 100)
GUICtrlSetState(-1, $GUI_HIDE)
Global $hButtonLeft = GUICtrlCreateButton("<-----", 20, 50, 60, 25)
Global $hButtonRight = GUICtrlCreateButton("----->", 220, 50, 60, 25)
Global $iCurrentPic = 1; 1-based index of the currently shown picture
GUICtrlSetState($avHPics[0], $GUI_SHOW)
Global $msg
While 1
$msg = GUIGetMsg()
Switch $msg
  Case -3
  Case $avHPics[0] To $avHPics[$iPicCount-1]
   ShellExecute(@ScriptDir & "pic" & $avHPics[_ArraySearch($avHPics, $msg) + 1] & ".png")
  Case $hButtonLeft
   GUICtrlSetState($avHPics[$iCurrentPic-1], $GUI_HIDE)
   $iCurrentPic -= 1
   If $iCurrentPic < 1 Then $iCurrentPic = $iPicCount
   GUICtrlSetState($avHPics[$iCurrentPic-1], $GUI_SHOW)
  Case $hButtonRight
   GUICtrlSetState($avHPics[$iCurrentPic-1], $GUI_HIDE)
   $iCurrentPic += 1
   If $iCurrentPic > $iPicCount Then $iCurrentPic = 1
   GUICtrlSetState($avHPics[$iCurrentPic-1], $GUI_SHOW)

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Similar Content

    • dadalt95
      By dadalt95
      I would like to know if it's possible to pass an image recognition (captcha) system.
      What are the ways to achieve this?
      Just the references or links is enough for me by now.
      Thanks by now!
    • nacerbaaziz
      By nacerbaaziz

      Hello all
      I have a question please
      this  a question is about the context menu
      When i create a list box  Or combo box
      if i create a context menu for this list
      When i press the application key or the shortcut shift + f10
      the menu options is appear normally
      but When i create a List view
      if i create a context menu for this list
      When i press the application key or the shortcut shift + f10
      the menu options isn't appear
      But the right mouse button works normally
      I need a solution please because I deal with the screen readers users
      Unfortunately They can not use the mouse to navigate
      So I have to find a solution to activate keyboard shortcuts
      am waiting  for your help
    • Ascer
      By Ascer
      1. Description.
      Udf working with MSDN System.Collections.ArrayList. Allow you to make fast operations on huge arrays, speed is even x10 better than basic _ArrayAdd.  Not prefered for small arrays < 600 items. 2. Requirements
      .NET Framework 1.1 - 4.5 (on this version Microsoft destroy old rules) System Windows 3. Possibilities.
      ;=============================================================================================================== ; UDF Name: List.au3 ; ; Date: 2018-02-17, 10:52 ; Description: Simple udf to create System Collections as ArrayList and make multiple actions on them. ; ; Function(s): _ListCreate -> Creates a new list ; _ListCapacity -> Gets a list size in bytes ; _ListCount -> Gets items count in list ; _ListIsFixedSize -> Get bool if list if fixed size ; _ListIsReadOnly -> Get bool if list is read only ; _ListIsSynchronized -> Get bool if list is synchronized ; _ListGetItem -> Get item on index ; _ListSetItem -> Set item on index ; ; _ListAdd -> Add item at end of list ; _ListClear -> Remove all list items ; _ListClone -> Duplicate list in new var ; _ListContains -> Get bool if item is in list ; _ListGetHashCode -> Get hash code for list ; _ListGetRange -> Get list with items between indexs ; _ListIndexOf -> Get index of item ; _ListInsert -> Insert a new item on index ; _ListInsertRange -> Insert list into list on index ; _ListLastIndexOf -> Get index last of item ; _ListRemove -> Remove first found item ; _ListRemoveAt -> Remove item in index ; _ListRemoveRange -> Remove items between indexs ; _ListReverse -> Reverse all items in list ; _ListSetRange -> Set new value for items in range ; _ListSort -> Sort items in list (speed of reading) ; _ListToString -> Get list object name ; _ListTrimToSize -> Remove unused space in list ; ; Author(s): Ascer ;=============================================================================================================== 4. Downloads
      List.au3 5. Examples
      SpeedTest _ArrayAdd vs ListAdd SpeedTest ArraySearch vs ListIndexOf Basic usage - crating guild with members  
    • Anas
      By Anas

      Is it possible to set a different text direction/layout (not alignment) for a Listview column?
    • nacerbaaziz
      By nacerbaaziz
      can we  create a list box with  Columns?
      welcome everybody
      Dears I have a question if you let me
      can we  create a list box with  Columns?
      i know we can create a list view with Columns
      but my question is about the list box
      I'm waiting your responses
      Thank you in advance

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.