|
1 | 1 | # ShellControls |
2 | | -Shell Browser and Shell Tree Controls |
| 2 | +## Shell Browser and Shell Tree Controls |
| 3 | + |
| 4 | +This repository contains a twinBASIC x86/x64 compatible port of my shell controls, ucShellBrowse and ucShellTree. |
| 5 | + |
| 6 | +See the original threads for a full list of all of the extensive features of these controls: |
| 7 | + |
| 8 | +[[VB6] ucShellBrowse: A modern replacement for Drive/FileList w/ extensive features](https://www.vbforums.com/showthread.php?854147-VB6-ucShellBrowse-A-modern-replacement-for-Drive-FileList-w-extensive-features) |
| 9 | + |
| 10 | +[[VB6] ucShellTree - Full-featured Shell Tree UserControl](https://www.vbforums.com/showthread.php?862137-VB6-ucShellTree-Full-featured-Shell-Tree-UserControl) |
| 11 | + |
| 12 | +### These are beta versions. |
| 13 | + |
| 14 | +There's still some work to do in twinBASIC to complete user control support, but it's now far enough along even a massively complex control like ucShellBrowse can run. Notably, there's numerous issues with sizing and scaling. The demos included in this repository have worked around them as best I could. |
| 15 | + |
| 16 | +### Using these controls in your project |
| 17 | + |
| 18 | +The demos are all set to open and run, to set these up in your project: |
| 19 | + |
| 20 | +These projects use tbShellLib, the x64-compatible successor to oleexp.tlb written in twinBASIC. First add a reference to 'twinBASIC Shell Library' in Settings->COM Type Library / Active-X References by clicking TWINPACK PACKAGES and selecting it from the list, or manually downloading it from it's [repository](https://github.com/fafalone/tbShellLib). |
| 21 | + |
| 22 | +Then for ucShellTree, you need to import ucShellTree.twin and ucShellTree.tbcontrol. For ucShellBrowse, import ucShellBrowse.twin and ucShellBrowse.tbcontrol. |
| 23 | + |
| 24 | +### The Demos |
| 25 | + |
| 26 | +Here's the included demos in this repo: |
| 27 | + |
| 28 | +#### Basic Shell Tree Demo - tbShellTree.twinproj: |
| 29 | + |
| 30 | + |
| 31 | + |
| 32 | +#### Main Shell Browser Demo - DemoMain.twinproj |
| 33 | + |
| 34 | + |
| 35 | + |
| 36 | +#### ucShellBrowse as an upgrade to native VB/TB controls - UCSBDemoVB.twinproj |
| 37 | + |
| 38 | + |
| 39 | + |
| 40 | +#### Fully customized file open dialog - FileDialogDemo.twinproj |
| 41 | + |
| 42 | +Shows combining ucShellBrowse and ucShellTree: |
| 43 | + |
| 44 | + |
| 45 | + |
| 46 | + |
| 47 | +---- |
| 48 | + |
| 49 | +I'll add more in the future. Note that while due to the difference in typelib and IPAO-hooking methods, you can't directly import VB projects with these controls, you should be able to recreate any of the other screen shots. |
0 commit comments