lazarus/examples/imgviewer
maxim 642f340a49 Examples, ImgViewer:
- Added readme file;
- Added debug+default builds;
- Open directory (recursively): always run begin/endupdate for listbox (via GUI part of procedures);
- Sort files when opening dir (recursively);
- Show hourglass cursor+use beginupdate/endupdate for listbox when (recursively) opening directory(/ies);
- Align menu terminology with tooltips/hints; added tooltips/hints;
- Show hidden directories in select dialog;
- If file out of bounds after moving in listbox, show blank;
- Code formatting changes.

Patch by Reinier Olislagers with minor changes, bug #23122.

git-svn-id: trunk@39081 -
2012-10-14 15:33:35 +00:00
..
file.bmp
file.xpm
frmmain.lfm Examples, ImgViewer: 2012-10-14 15:33:35 +00:00
frmmain.pas Examples, ImgViewer: 2012-10-14 15:33:35 +00:00
images.bmp
imgview.dpr
imgview.lpi Examples, ImgViewer: 2012-10-14 15:33:35 +00:00
imgview.lpr
imgview.res
readme.txt Examples, ImgViewer: 2012-10-14 15:33:35 +00:00

Image viewer
============

This example application shows how to load and show image/graphical files.

It also demonstrates
- scaling images
- using the Lazarus functions FindFirstUTF8 and FindNextUTF8 to recursively seek files and directories
- dealing with key presses using the KeyDown event
- using BeginUpdate and EndUpdate to improve processing speed of certain controls (a ListBox in this case)
- setting the cursor to hourglass and reset it to indicate a long-running operation is going on (e.g. when recursively loading directories with a large amount of images)

Possible improvements:
= add support for other file formats (e.g. tiff)
- add a setting that allows automatic scaling down if a picture is larger than the control
- use a cache in a different thread to preload images the user is likely to look at next