Skip to content

Commit eda921c

Browse files
authored
Update README.md
1 parent 3a6dd5e commit eda921c

File tree

1 file changed

+57
-4
lines changed

1 file changed

+57
-4
lines changed

README.md

Lines changed: 57 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ShellControls
22
## Shell Browser and Shell Tree Controls
3-
## ucShellBrowse v11.3 R2 and ucShellTree v2.18 R1
3+
## ucShellBrowse v12.0 and ucShellTree v2.8 R1
44

55
This repository contains a twinBASIC x86/x64 compatible port of my shell controls, ucShellBrowse and ucShellTree.
66

@@ -16,16 +16,69 @@ There's still some work to do in twinBASIC to complete user control support, but
1616

1717
### Using these controls in your project
1818

19-
**Requires [twinBASIC Beta 236](https://github.com/twinbasic/twinbasic/releases) or newer**
19+
**Requires [twinBASIC Beta 239](https://github.com/twinbasic/twinbasic/releases) or newer**
2020

2121
The demos are all set to open and run, to set these up in your project:
2222

2323
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).
2424

25-
ShellControls.twinpack contains both controls as a tB Package and can be added via the same references location (Import the file, it's not on the package server yet). This reference must come before WinNativeForms; tbShellLib must still be added. Note that packages are read-only when added to a project.
25+
ShellControls.twinpack contains both controls as a tB Package and can be added via the same references location (Import the file, it's not on the package server yet). This reference must come before WinNativeForms; tbShellLib must still be added. Note that packages are read-only when added to a project. As of twinBASIC Beta 239, you can now experiment with building this as an Active-X DLL. You can then use the controls in VB6; however they're not working in VBA yet.
2626

2727
As an alternative, to have them in an editable form, for ucShellTree, you need to import ucShellTree.twin and ucShellTree.tbcontrol. For ucShellBrowse, import ucShellBrowse.twin and ucShellBrowse.tbcontrol.
2828

29+
### Update
30+
31+
**IMPORTANT:** These controls now require [twinBASIC Beta 239](https://github.com/twinbasic/twinbasic/releases) or newer. The changes in/for this release allow building them as Active-X DLLs that can be used in VB6; however they're not working in VBA yet. They also require tbShellLib 2.6.60 or newer, if you're adding them to your own project.
32+
33+
**ucShellBrowse v12.0 Changelog**
34+
35+
```
36+
-There's now a RegisterWindow option that, if True, will register this control as
37+
a shell window. It will be seen by the system as if it were an Explorer window,
38+
and can be interacted with via IShellView, IShellBrowser, IFolderView, etc, which
39+
includes responding to APIs such as SHOpenFolderAndSelectItems.
40+
For instance, if you use your web browser to download to C:\download, and this
41+
control is open to C:\download, and you click the 'show in folder' button, it
42+
will select the file in this control rather than open an actual Explorer window.
43+
44+
Programs like my 'List open windows and properties' demo will also be able to
45+
obtain all that information from this control. See the following:
46+
https://www.vbforums.com/showthread.php?818959
47+
All members that are applicable to this control have been implemented, with the
48+
exception I don't intend to implement the FolderItem, Folder, etc interfaces
49+
for use with IShellFolderViewDual/shell.application.
50+
51+
Some features must be implemented by the host form/application. For instance,
52+
in order to respond to requests to close the window, see e.g.
53+
https://www.vbforums.com/showthread.php?t=898235 the control will raise the
54+
new RequestExit event, letting your app know the window should close.
55+
56+
This option is False by default. Not available in DrivesOnly mode, DirOnly
57+
mode, or DirOnlyWithCtls mode.
58+
NOTE: If you have multiple ShellBrowse controls showing the same path, it's
59+
strongly advised only one registers as a shell window.
60+
61+
-Added LinkshellTree sub to store hwnd for associated ucShellTree; for
62+
IShellBrowser.GetControlWindow only for now, but may do more in the future.
63+
64+
-Added DropdownShowFullPath option to show the full path in the path dropdown.
65+
66+
-Added ListViewAlphaShadow option, an undocumented feature that applies an alpha
67+
shadow to ListView labels when in Icon modes (Medium Icon, Large Icon, XL Icon,
68+
Thumbnail, and Custom, in this control).
69+
70+
-Added NoScroll (LVS_NOSCROLL) style option.
71+
72+
-(Bug fix) Column header text could sometimes become corrupted due to early
73+
release of temporary strings.
74+
75+
-(Bug fix) This control is labeled as supporting Windows Vista, but some
76+
ListView features that were available on Vista didn't work as the
77+
control only used the Windows 7+ version of IListView. This has been
78+
corrected and all features supported on Vista are available.
79+
```
80+
81+
2982
### The Demos
3083

3184
Here's the included demos in this repo:
@@ -48,7 +101,7 @@ Shows combining ucShellBrowse and ucShellTree:
48101

49102
![image](https://user-images.githubusercontent.com/7834493/213373633-e539fc13-0287-496e-9d69-a3518a3d6327.png)
50103

51-
## Updates
104+
## Older Updates
52105

53106
(Jan 22 2023) ucShellBrowse R2: Previously described error handling for categorizer errors had mistkanely been removed.
54107

0 commit comments

Comments
 (0)