Update 12/21/10 - Removed extra _FLTA call. thanks jaberwocky6669
- Added extra styles to Listview. Changed formating of Drive Labels. Thanks Yashied
- TAB stop still not working and still searching for memory leak pointed out by Yashied.
- fixed another potential bug when trying to navigate to empty media like CDROM. Thanks Melba23
*- New GUIFrame has been updated to support x64 so be sure to get the new one.
Updated 12/19/10 - fixed bug displaying empty drives in 'My Computer'. (Thanks Melba23 )
Ever since Melba23 released GUIFrame I have been wanting to rewrite my Explorer Listview UDF for frames. So here it is.
This UDF takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window. Each frame is populated with a Listview, address bar, back button and status bar.
These are the tasks the UDF will handle for the following Ctrls:
- Double click navigation
- Column Header Right Click menu for selecting which columns to display
- Sorting functions for all columns
- formating of date displays
- Parent folder ( [..] ) is automatically added to each directory navigated to.
- type any directory into the address bar and press enter to navigate
- directory navigation is auto added to the combobox drop down menu
- Status bar folder stats are automatically updated
All history navigation is also handeled. In future I wont to work on a way to have back and fwd navigation. currently only back.
Special thanks go to Melba23 for GUIFrame. Thank You!
Zip file includes two examples and UDF. Please let me know if you have any trouble of any kind or any ideas. I love all feedback. Thanks for looking.
ExpFrame 1-21-11.zip 13.49KB 734 downloads
GUIFrame can be found HERE
#include "ExpFrame.au3" ;Create GUI $hGUI_1 = GUICreate("GUI Frames", 600, 200, 100, 100, $WS_OVERLAPPEDWINDOW) ;Create Frames $iFrame_A = _GUIFrame_Create($hGUI_1) ;Set min sizes for the frames _GUIFrame_SetMin($iFrame_A, 100, 100) ;Create Explorer Listviews _GUIFrame_Switch($iFrame_A, 1) $LocalList = _ExpFrame_Create(_GUIFrame_GetHandle($iFrame_A, 1)) _GUIFrame_Switch($iFrame_A, 2) $LocalList2 = _ExpFrame_Create(_GUIFrame_GetHandle($iFrame_A, 2), 'c:\') ;Register functions for Windows Message IDs needed. GUIRegisterMsg($WM_SIZE, "_ExpFrame_WMSIZE_Handler") GUIRegisterMsg($WM_NOTIFY, "_ExpFrame_WMNotify_Handler") GUIRegisterMsg($WM_COMMAND, '_ExpFrame_WMCOMMAND_Handler') ; Set resizing flag for all created frames _GUIFrame_ResizeSet(0) GUISetState(@SW_SHOW, $hGUI_1) While 1 $nMsg = GUIGetMsg() _ExpFrame_GUIGetMsg($nMsg);<< Dont forget to pass msg to _ExpFrame_GUIGetMsg!! Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd
Edited by Beege, 22 January 2011 - 12:23 AM.