KiXforms Forum Index KiXforms
The Forum for the KiXforms Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 Quick Links 
Site News
Downloads
Documentation
Donations
Script Archive
Tracking Systems

KFView: Image Viewer for KiXforms.Net

 
Post new topic   Reply to topic    KiXforms Forum Index -> KiXforms.NET Discussion
View previous topic :: View next topic  
Author Message
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Tue Oct 18, 2005 5:42 pm    Post subject: KFView: Image Viewer for KiXforms.Net Reply with quote

Requires the latest KiXforms.Net development build:

Code:

Break On

$System = CreateObject("Kixforms.System")

$TITLE = "KFView"

$READY = "Done"
$TYPES = ".jpg", ".bmp", ".gif", ".png", ".ico"
$VIEWSIZE_LIST = 64,96,128,160,192,224,256
$VIEWSIZE_DEFAULT = 96

; RESOURCES

$TreeViewBitmap = $System.Bitmap.FromBase64String(TreeViewBitmapString())
$ToolBarBitmap = $System.Bitmap.FromBase64String(ToolbarBitmapString())
$LogoIcon = $System.Icon.FromBitmap($System.Bitmap.FromBase64String(LogoBitmapString()))

; TOOLBAR-IMAGELIST

$ToolBarImageList = $System.ImageList()
$ToolBarImageList.ColorDepth = $System.ColorDepth_Depth24Bit
$ToolBarImageList.ImageSize = $System.Size(24,24)
$ToolbarImageList.TransparentColor = $System.Color.White
$= $ToolbarImageList.Images.AddStrip($ToolbarBitmap)

$BACK_IMAGEINDEX = 0
$FORWARD_IMAGEINDEX = 1
$HOME_IMAGEINDEX = 2
$REFRESH_IMAGEINDEX = 3
$STOP_IMAGEINDEX = 4
$VIEWS_IMAGEINDEX = 5
$PREVIOUS_IMAGEINDEX = 6
$NEXT_IMAGEINDEX = 7
$FOLDERRIGHT_IMAGEINDEX = 8
$FOLDERUP_IMAGEINDEX = 9

; TREEVIEW-IMAGELIST

$TreeViewImageList = $System.ImageList()
$TreeViewImageList.ColorDepth = $System.ColorDepth_Depth24Bit
$TreeViewImageList.ImageSize = $System.Size(16,16)
$TreeViewImageList.TransparentColor = $System.Color.White
$= $TreeViewImageList.Images.AddStrip($TreeViewBitmap)

$LOGO_IMAGEINDEX = 0
$FOLDERCLOSED_IMAGEINDEX = 0
$FOLDEROPEN_IMAGEINDEX = 1

; FORM

$Form = $System.Form()
$Form.Size = $System.Size(640,480)
$Form.Font = $System.Font("Tahoma", 8.25)
$Form.Icon = $LogoIcon
$Form.Text = $TITLE

; MAINMENU

$MainMenu = $System.MainMenu()
$FileMenu = $MainMenu.MenuItems.Add($System.MenuItem("File"))
$ExitMenu = $FileMenu.MenuItems.Add($System.MenuItem("Exit"))
$ExitMenu.Click = "ExitClick()"
$Form.Menu = $MainMenu

$ListViewImageList = $System.ImageList()
$ListViewImageList.ImageSize = $System.Size($VIEWSIZE_DEFAULT,$VIEWSIZE_DEFAULT)
$ListViewImageList.ColorDepth = $System.ColorDepth_Depth24Bit

; PICTUREBOX

$PicturePanel = $Form.Controls.Add($System.PictureBox())
$PicturePanel.Dock = $System.DockStyle_Fill
$PicturePanel.Visible = 0
$PicturePanel.BorderStyle = $System.BorderStyle_FixedSingle
$PicturePanel.BackColor = $System.Color.White

$PictureBox = $PicturePanel.Controls.Add($System.PictureBox())
$PictureBox.Anchor = $System.AnchorStyles_None
$PictureBox.SizeMode = $System.PictureBoxSizeMode_StretchImage
$PictureBox.Visible = 1

; LISTVIEW

$ListView = $Form.Controls.Add($System.ListView())
$ListView.Dock = $System.DockStyle_Fill
$ListView.LargeImageList = $ListViewImageList
$ListView.DoubleClick = "ListView_DoubleClick()"
$ListView.Visible = 1
$ListView.MultiSelect = 0
;$ListView.SelectedIndexChanged = "?'trace'"

$Splitter = $Form.Controls.Add($System.Splitter())
$Splitter.Dock = $System.DockStyle_Left

; TREEVIEW

$TreeView = $Form.Controls.Add($System.TreeView())
$TreeView.Dock = $System.DockStyle_Left
$TreeView.Width = 0.30 * $Form.ClientWidth
$TreeView.ImageList = $TreeViewImageList
$TreeView.ImageIndex = $FOLDERCLOSED_IMAGEINDEX
$TreeView.SelectedImageIndex = $FOLDEROPEN_IMAGEINDEX
$TreeView.BeforeExpand = "TreeView_BeforeExpand()"
$TreeView.BeforeSelect = "TreeView_BeforeSelect()"
$TreeView.AfterSelect = "TreeView_AfterSelect()"
$TreeView.HideSelection = 0

$CurrentPath = ""

$ToolBar = $Form.Controls.Add($System.ToolBar())
$ToolBar.ImageList = $ToolBarImageList
$ToolBar.ButtonClick = "ToolBar_ButtonClick()"
$ToolBar.Appearance = $System.ToolBarAppearance_Flat

$SeparatorButton = $ToolBar.Buttons.Add($System.ToolBarButton())
$SeparatorButton.Style = $System.ToolbarButtonStyle_Separator

$BackButton = $ToolBar.Buttons.Add($System.ToolBarButton())
$BackButton.ImageIndex = $BACK_IMAGEINDEX
$BackButton.ToolTipText = "Back"
$BackButton.Visible = 1

$RefreshButton = $ToolBar.Buttons.Add($System.ToolBarButton())
$RefreshButton.ImageIndex = $REFRESH_IMAGEINDEX
$RefreshButton.ToolTipText = "Refresh"
$RefreshButton.Visible = 1

$StopButton = $ToolBar.Buttons.Add($System.ToolBarButton())
$StopButton.ImageIndex = $STOP_IMAGEINDEX
$StopButton.ToolTipText = "Stop"
$StopButton.Visible = 1

$HomeButton = $ToolBar.Buttons.Add($System.ToolBarButton())
$HomeButton.ImageIndex = $HOME_IMAGEINDEX
$HomeButton.ToolTipText = "Home"
$HomeButton.Visible = 1

$SeparatorButton = $ToolBar.Buttons.Add($System.ToolBarButton())
$SeparatorButton.Style = $System.ToolbarButtonStyle_Separator

$ViewsButton = $ToolBar.Buttons.Add($System.ToolBarButton())
$ViewsButton.ImageIndex = $VIEWS_IMAGEINDEX
$ViewsButton.Style = $System.ToolBarButtonStyle_DropDownButton
$ViewsButton.ToolTipText = "View"
$ViewsButton.Visible = 1

$PreviousButton = $ToolBar.Buttons.Add($System.ToolBarButton())
$PreviousButton.ImageIndex = $PREVIOUS_IMAGEINDEX
$PreviousButton.ToolTipText = "Previous"
$PreviousButton.Visible = 0

$NextButton = $ToolBar.Buttons.Add($System.ToolBarButton())
$NextButton.ImageIndex = $NEXT_IMAGEINDEX
$NextButton.ToolTipText = "Next"
$NextButton.Visible = 0

$ViewMenu = $System.ContextMenu()

For Each $size In $VIEWSIZE_LIST
 $MenuItem = $ViewMenu.MenuItems.Add($System.MenuItem(""+$size+" x "+$size))
 If $size = $VIEWSIZE_DEFAULT
  $MenuItem.Checked = 1
 Endif
 $MenuItem.Click = "ViewMenu_Click($size)"
Next

$ViewsButton.DropDownMenu = $ViewMenu

$StatusBar = $Form.Controls.Add($System.StatusBar())
$StatusBar.Text = $READY

$FSO = CreateObject("Scripting.FileSystemObject")

TreeView_EnumDrives()

$Form.Center
$Form.Show
$TreeView.Select

While $Form.Visible
 $= Execute($Form.DoEvents)
Loop

Exit 0

Function ExitClick()
 $Form.Close
EndFunction

Function TreeView_EnumDrives()

 Dim $drive, $node

 For Each $drive in $FSO.Drives

  If $drive.IsReady

   $node = $TreeView.Nodes.Add($System.TreeNode($drive.DriveLetter + ":"))
   $node.ImageIndex = $FOLDERCLOSED_IMAGEINDEX
   $node.SelectedImageIndex = $FOLDEROPEN_IMAGEINDEX

   If $FSO.GetFolder($node.Text + "\").SubFolders.Count
    $= $node.Nodes.Add($System.TreeNode())
   EndIf
 
  EndIf

 Next

EndFunction

Function TreeView_BeforeExpand()

 Dim $e, $folder, $subfolder, $node, $childnode

 $e = $TreeView.BeforeExpandEventArgs

 $node = $e.Node

 $folder = $FSO.GetFolder($node.FullPath + "\")

 $Form.Cursor = $System.Cursors.WaitCursor

 $TreeView.BeginUpdate

 If $node.Nodes.Count

  If $node.Nodes.Item(0).Text = ""

   $node.Nodes.Clear

   For Each $subFolder in $folder.SubFolders

    $childnode = $node.Nodes.Add($System.TreeNode())
    $childnode.Text = $subFolder.Name

    If $subFolder.SubFolders.Count
     $= $childnode.Nodes.Add($System.TreeNode())
    EndIf

   Next

  EndIf

 EndIf

 $TreeView.EndUpdate

 $Form.Cursor = $System.Cursors.Default

EndFunction

Function TreeView_BeforeSelect()

EndFunction

Function TreeView_AfterSelect()

 Dim $path
 Dim $file
 Dim $thumb
 Dim $bitmap
 Dim $rect
 Dim $graphics
 Dim $item

 $path = $TreeView.SelectedNode.FullPath + "\"

 $StatusBar.Text = "Refreshing folder " + $path + ". Please wait..."

 If $PictureBox.Visible
  HidePicture()
 Endif

 $Form.Cursor = $System.Cursors.WaitCursor

 $ListView.BeginUpdate

 $ListView.Items.Clear()
 $ListView.LargeImageList.Images.Clear()

 $thumb = $System.Bitmap.FromSize($ListViewImageList.ImageSize)
 $graphics = $System.Graphics.FromImage($thumb)

 For Each $file in $FSO.GetFolder($path).Files

  If AScan($TYPES, SubStr($file.Name,InStrRev($file.Name,"."))) > -1

   $StatusBar.Text = "Loading file " + $file.Name + "..."

   $bitmap = $System.Bitmap($file.Path)

   If $bitmap

    $rect = MapSize($thumb.Size, $bitmap.Size)

    $graphics.Clear($ListView.BackColor)
    $graphics.DrawImage($bitmap, $rect.x, $rect.y, $rect.Width, $rect.Height)

    $i = $ListView.LargeImageList.Images.Add($thumb)

    $item = $System.ListViewItem($file.Name + @CRLF + $bitmap.Width + "x" + $bitmap.Height)
    $item.Tag = $file.Path
    $item.ImageIndex = $i
    $= $ListView.Items.Add($item)

    $bitmap.Dispose

   EndIf

  EndIf

 Next

 $StatusBar.Text = $READY

 $ListView.EndUpdate

 $ListView.EnsureVisible(0)

 $Form.Cursor = $System.Cursors.Default

EndFunction

Function ListView_DoubleClick()

 If $ListView.FocusedItem
  $PictureBox.Image = $System.Bitmap.FromFile($ListView.FocusedItem.Tag)
  $PictureBox.Size = MapSize($PicturePanel.Bounds, $PictureBox.Image.Size).Size
  $PictureBox.Center
  ShowPicture()
 Endif

EndFunction

Function ToolBar_ButtonClick()

 $e = $ToolBar.ButtonClickEventArgs

 Select
  Case $e.Button.ToolTipText = "Back"
   BackClick()
  Case $e.Button.ToolTipText = "Refresh"
   RefreshClick()
  Case $e.Button.ToolTipText = "Previous"
   PreviousClick()
  Case $e.Button.ToolTipText = "Next"
   NextClick()
  Case 1
 EndSelect

EndFunction

Function ViewMenu_Click($size)

 For Each $MenuItem In $ViewMenu.MenuItems
  If Trim(SubStr($MenuItem.Text, 1, InStr($MenuItem.Text, " "))) = $size
   $MenuItem.Checked = 1
  Else
   $MenuItem.Checked = 0
  Endif
 Next

 $ListView.LargeImageList.ImageSize = $System.Size($size,$size)

 TreeView_AfterSelect()

EndFunction

Function BackClick()

 Dim $parent

 If $PicturePanel.Visible
  HidePicture()
  Return
 Endif

 $parent = $TreeView.SelectedNode.Parent

 If $parent
  $TreeView.SelectedNode = $parent
 Endif

EndFunction

Function RefreshClick()

 If $PicturePanel.Visible
  ListView_DoubleClick()
  Return
 Endif
 TreeView_AfterSelect()

EndFunction

Function PreviousClick()

 Dim $index

 $index = $ListView.FocusedItem.Index

 If $index = 0
  $index = $ListView.Items.Count - 1
 Else
  $index = $index - 1
 EndIf

 $ListView.Focus
 $ListView.Items.Item($index).Selected = 1
 $ListView.Items.Item($index).Focused = 1

 ListView_DoubleClick()

EndFunction

Function NextClick()

 Dim $index

 $index = $ListView.FocusedItem.Index

 If $index = $ListView.Items.Count - 1
  $index = 0
 Else
  $index = $index + 1
 EndIf

 $ListView.Focus
 $ListView.Items.Item($index).Selected = 1
 $ListView.Items.Item($index).Focused = 1

 ListView_DoubleClick()

EndFunction

Function ShowPicture()

 $PicturePanel.Visible = 1
 $Splitter.Visible = 0
 $TreeView.Visible = 0

 $ViewsButton.Visible = 0
 ;$BackButton.Visible = 1
 $PreviousButton.Visible = 1
 $NextButton.Visible = 1

EndFunction

Function HidePicture()

 $PicturePanel.Visible = 0

 $Splitter.Visible = 1
 $TreeView.Visible = 1
 $ViewsButton.Visible = 1

 $ViewsButton.Visible = 1
 ;$BackButton.Visible = 0
 $PreviousButton.Visible = 0
 $NextButton.Visible = 0

EndFunction

Function NavigateBack2()

 $node = $TreeView

 for each $folder in split($path, "\")

  for each $childnode in $node.nodes

   if $childnode.Text = $folder
    $node = $childnode
   endif

  next

 next

 if $node
  $TreeView.SelectedNode = $node
 endif

EndFunction

Function MapSize($outer, $inner)

 ; Map InnerSize to OuterSize and center. Return a Rectangle

 Dim $xRatio, $yRatio

 $MapSize = $System.Rectangle(0,0,$inner.Width,$inner.Height)

 If $inner.Width > $outer.Width Or $inner.Height > $outer.Height

  $MapSize.Width = $outer.Width
  $MapSize.Height = $outer.Height

  $xRatio = Cdbl($inner.Width) / $outer.Width
  $yRatio = Cdbl($inner.Height) / $outer.Height

  If $xRatio < $yRatio
   $MapSize.Width = Cdbl($inner.Width) / $yRatio
  Else
   If $yRatio < $xRatio
    $MapSize.Height = Cdbl($inner.Height) / $xRatio
   EndIf
  EndIf
 
 EndIf

 $MapSize.x = ($outer.Width - $MapSize.Width) / 2
 $MapSize.y = ($outer.Height - $MapSize.Height) / 2

EndFunction

Function LogoBitmapString()
$LogoBitmapString = "
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAARnQU1B

AACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAA

AAlwSFlzAAAOxAAADsQBlSsOGwAAAaRJREFUOE9jZEAC////R+YSZhPUAFIAxEQCoIVQDUCW

jY0NxAEJGAAiDrEcoYEYS9A13JibUeHv6WFkGWjhmOjoleLiE2Tp4GRo6WfvcfroSSw27CoK

TbS1CzS3DTazjbSwaw0JnpuVuLQsrSwwoLOsFouGRUkhaQ5OOc6uNT5edf4+G6tyb6yb9nT3

7GXVmXlh0Vg0VPr6pju7bG0purFh1pEFE58dWf72/Ma7O+ctq8tPcPXGoiHJyT3fx+vmpmnf

Hp389ujs11v7Xh5feXZpX3dGQrStKxYN/lb2VZGBL48t//X83O8XF77f2vv15p67exYWBgeF

WDhi0RDv7rapOf3t4bk/7h/+dmnX51NrPl/beXBuX5S9S6CZAzzcETEyvzbj6Z6+j8emfbu1

89vV3e8OLnt6cNv6xq4gczsfIxughoT4eC0tLUTSyI+N3LGw7e2p2e9Pzruxa/GKzr51bVsX

ZbYGm9p4G1gDNTg4OIDiXAYMgPyUmJTSzMxDKyfe3Dplek15V/70xY2H1tVNr4xKLApPQGiA

JxWCqUNBQQGoGACqEKoQFDv9vwAAAABJRU5ErkJggg==

"
EndFunction

Function TreeViewBitmapString()
$TreeViewBitmapString = "
iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAIAAAD4YuoOAAAAAXNSR0IArs4c6QAAAARnQU1B

AACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAA

AAlwSFlzAAAOxAAADsQBlSsOGwAAA0NJREFUOE+1k0tME0EYxxdEYpSgiXj2edEo8RG9YPCg

JhqjByW+HxEDieAjMULkKb4liOFgPHjUhIPRxBg1RikFihp5CkW0KEu70N2+trt97baz2/2c

2a21oaAnJ//Dl9nft7+ZyUwGAChhKwWIShlZC9ZlZGanzqTW0/mM7Lk562aDKWH0DNtGTYu3

bxsWzzgE64l03j9ydDaeYt9nhu2NSLSgwEckfkBCR8R+F/8ixnegYJ8RVeaS/Wm8OWy/xbZl

xnhTkgdNTfJk7UqgG+ISQBw0BGpQETvT1yh8KzF6UngNtBioAUUwT+M93cuTDl0gdkE8BHGZ

aFRRi9qR76XMNEv2eomukH6UBYa2YwxJtoTA4LUoxCOg+rUojXwvkKc1Otkk0ZdCo0UYlj3P

ja3rAqEdkAcJZiS0I/97xL/x9W5O3wTXmZcQYF7h8VKUwCfkf4f418j7XLTun6HFnEMEwe+l

6d/CttNo8gZiapG9Qv52EAN/BP63MvuIM8+f1hW07iGw7YjLRMnsE2/vVu/nTUTg6sgNfNmB

mAY9VxFTj5g6zf0APA/B3QLsTWX8FMZ8AzsTO/A9c3XmCQMFv+Fq5KhCjkrNeQe4OwpdQgS+

N6wpO8I+TlzQGH0RXPfB1awHFzj3gLsL7HWYqlTGyLGKtsuGIDRWxpoy1akGHW4CVyMhudvA

XgNnlfrzmKudEr8Wu7qWaIpEBJwpS5uqBmcdOGvAWQvOej11MFUFk5fAURodKcCYxLUaAu/H

FULPWp2pAdyYyBWYvAxMuWrb626nuI7FwR81mCcCr2UJMOfBcVZPOamZi8BcAEcZTBTD+IFQ

7zJyi4L9hoC8ElsRIQlfphfnSGEvAfq4OlqIjwg/F1V2JASBnlUwcRzGD5PQx2DiJAmNZw7B

z31gK+QtC4ggNGwIPF2LdOAIAeijhKRPkMbxIhjbrVrzMcMP7DLeDVkOb1kYHdoYHcrXsyE6

vBFHHlovD66RB1ZKPXmcieLa5miKaAh4Sy5hkjzpxXy+PLha7l/qt8wj78D7KiHAdyP9jqbN

ZIQdLUaDt2fLP3k3fsm/B4ULfFgRrjXCPpkxsvupsfbkUKTvf+FjwcFUmAj+6/gFkq9eAfgu

wDEAAAAASUVORK5CYII=

"
EndFunction

Function ToolBarBitmapString()
$ToolBarBitmapString = "
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

"
EndFunction
Back to top
View user's profile Send private message
benny69
KiXforms Advocate
KiXforms Advocate


Joined: 30 Oct 2003
Posts: 567
Location: Lincoln, Ne

PostPosted: Tue Oct 18, 2005 11:45 pm    Post subject: Reply with quote

Very Sweet!

You Da Man!

i love the toolbar icons.

i bow to your greatness.

_________________
Wait don't order yet,... get KiXforms Designer .NET 2.0 (Beta)
KiXforms Designer .NET 2.0 (Beta)
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    KiXforms Forum Index -> KiXforms.NET Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group