Advanced ExplorerComboGadget
Awesome.
One strange result on vista:
If I click a column header, eg, Total Size for drives or Date Modified, etc, it sorts. Good.
If I click the associated arrow for the column but then don't select an option (either click the arrow again or click outside the area) it closes down the app.
Not sure if this is the desired behaviour.
Edit : Not tried on XP so don't know if the same thing happens there.
One strange result on vista:
If I click a column header, eg, Total Size for drives or Date Modified, etc, it sorts. Good.
If I click the associated arrow for the column but then don't select an option (either click the arrow again or click outside the area) it closes down the app.
Not sure if this is the desired behaviour.
Edit : Not tried on XP so don't know if the same thing happens there.
Dare2 cut down to size
Sparkie, you're using the web gadget to display the folder view aren't you?
The problem I found using the web gadget is that it does not conform to the global view settings for folders and it is not possible to specify a new one.
For example: the folder view defaults to "Tiles". Even if you change it to "Icons" (which you have to do manually) it does not preserve this setting in subsequent folders.
Because it is not a true folder environment there is also no support for back, forward, up, search, etc.
This was the kind of environment I was looking to create when I made this post: http://www.purebasic.fr/english/viewtopic.php?t=31626
I know nothing about COM and very little about how to work with objects. I hope to explore it more after I finish PureGDK but as of right now I can't see a simple solution.
There is a great ShellBrowser library from Jam Software that does everything but it would need an OO wrapper. If someone can figure out how to wrap this to work with PureBasic I'd buy it straight away!
http://www.jam-software.com/activex/shellbrowser.shtml
The problem I found using the web gadget is that it does not conform to the global view settings for folders and it is not possible to specify a new one.
For example: the folder view defaults to "Tiles". Even if you change it to "Icons" (which you have to do manually) it does not preserve this setting in subsequent folders.
Because it is not a true folder environment there is also no support for back, forward, up, search, etc.
This was the kind of environment I was looking to create when I made this post: http://www.purebasic.fr/english/viewtopic.php?t=31626
I know nothing about COM and very little about how to work with objects. I hope to explore it more after I finish PureGDK but as of right now I can't see a simple solution.
There is a great ShellBrowser library from Jam Software that does everything but it would need an OO wrapper. If someone can figure out how to wrap this to work with PureBasic I'd buy it straight away!
http://www.jam-software.com/activex/shellbrowser.shtml
Thank you all for the feedback. 
The main idea behind this code is the ExplorerComboPlus control. The WebGadget is just my (quick and easy) way for handling the returned result from the ExplorerComboPlus. I figured the sample app should do something other that just sit there while you make your selections.
In the end, this control will work in similar fashion as the PB ExplorerComboGadget
...user makes a selection from the combo
...YOU decide what to do with the returned result
I will however look into the possibility of expanding this control and address the bugs/problems that have arisen to this point.

The main idea behind this code is the ExplorerComboPlus control. The WebGadget is just my (quick and easy) way for handling the returned result from the ExplorerComboPlus. I figured the sample app should do something other that just sit there while you make your selections.

In the end, this control will work in similar fashion as the PB ExplorerComboGadget
...user makes a selection from the combo
...YOU decide what to do with the returned result
I will however look into the possibility of expanding this control and address the bugs/problems that have arisen to this point.

What goes around comes around.
PB 5.21 LTS (x86) - Windows 8.1
PB 5.21 LTS (x86) - Windows 8.1
Duh! They boast about its native look and feel ("All components look and behave like their counterpart in the Windows Explorer."), and they couldn't even get the screenshot native-looking... The "feel" has big obvious errors as well.Mistrel wrote: Because it is not a true folder environment there is also no support for back, forward, up, search, etc.
This was the kind of environment I was looking to create when I made this post: http://www.purebasic.fr/english/viewtopic.php?t=31626
I know nothing about COM and very little about how to work with objects. I hope to explore it more after I finish PureGDK but as of right now I can't see a simple solution.
There is a great ShellBrowser library from Jam Software that does everything but it would need an OO wrapper. If someone can figure out how to wrap this to work with PureBasic I'd buy it straight away!
http://www.jam-software.com/activex/shellbrowser.shtml
That screenshot is meant to shows off a variety of different features at once. You can customize the folder to look however you want.Trond wrote:Duh! They boast about its native look and feel ("All components look and behave like their counterpart in the Windows Explorer."), and they couldn't even get the screenshot native-looking... The "feel" has big obvious errors as well.
There are more screenshots here:
http://www.jam-software.com/activex/sb_components.shtml
The compiled example program also had the problem: it uses screen door transparency instead of alpha blending in thumbnail mode.Mistrel wrote:That screenshot is meant to shows off a variety of different features at once. You can customize the folder to look however you want.Trond wrote:Duh! They boast about its native look and feel ("All components look and behave like their counterpart in the Windows Explorer."), and they couldn't even get the screenshot native-looking... The "feel" has big obvious errors as well.
There are more screenshots here:
http://www.jam-software.com/activex/sb_components.shtml
The background context menu didn't work either.JamSystemShellView displays the contents of a folder in a ListView like control. It is a true instance of the right pane of the Windows Explorer and therefore looks and behaves exactly like the Windows Explorer on the system it is running on. You can switch between the view styles Details, Small Icons, Large Icons, List and Thumbnails. As you see in the screenshot, it also supports the background context menu.
I don't see any problem with the alpha in thumnail mode. Would you post a screenshot?
The context menu doesn't work in the JamExplorer.exe example because that context menu has to be custom made. You capture the event and display your own context menu.
How can you be so quick to judge it when you haven't even tried using it in a program?
The context menu doesn't work in the JamExplorer.exe example because that context menu has to be custom made. You capture the event and display your own context menu.
How can you be so quick to judge it when you haven't even tried using it in a program?
http://www.jam-software.com/delphi/imag ... b_4_gr.gifMistrel wrote:I don't see any problem with the alpha in thumnail mode. Would you post a screenshot?
It clearly states that it works like a normal explorer window and if you have to make it yourself then it doesn't.The context menu doesn't work in the JamExplorer.exe example because that context menu has to be custom made. You capture the event and display your own context menu.
The problem with the alpha transparency is with explorer which is what Jam Software is wrapping. This issue is only limited to displaying thumbnails of icons which explorer isn't designed to handle in the first place.Trond wrote:http://www.jam-software.com/delphi/imag ... b_4_gr.gifMistrel wrote:I don't see any problem with the alpha in thumnail mode. Would you post a screenshot?
It clearly states that it works like a normal explorer window and if you have to make it yourself then it doesn't.The context menu doesn't work in the JamExplorer.exe example because that context menu has to be custom made. You capture the event and display your own context menu.
You can still call an API context menu but you have to customize its contents. I don't think you could call the native context menu for folders even if you wanted to.
I see nothing wrong with their software.
The problem with the alpha transparency is with explorer which is what Jam Software is wrapping. This issue is only limited to displaying thumbnails of icons which explorer isn't designed to handle in the first place.

@Micko: I haven't forgotten about you. I am having some code issues with Vista. As soon as I get things working properly, I'll let you know.
@Dare: The problem you mentioned...
Test this on Vista and see if the crash still occurs.
@Dare: The problem you mentioned...
It seems this may be a WebGadget issue as opposed to a Vista issue, as this doesn't happen when creating a AtlAxWin class window with CreateWindowEx. I will dig deeper to see if I can find a solution.If I click the associated arrow for the column but then don't select an option (either click the arrow again or click outside the area) it closes down the app.

Test this on Vista and see if the crash still occurs.
Code: Select all
If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
WebGadget(0, 10, 10, 580, 280, "c:\")
; Note: if you want to use a local file, change last parameter to "file://" + path + filename
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
What goes around comes around.
PB 5.21 LTS (x86) - Windows 8.1
PB 5.21 LTS (x86) - Windows 8.1
I've been staring at this code for waaaaayyyyy too long. One bug found and fixed but this other one has me stumped, so I could use some feedback on this bugger.
Run this code on Vista. Move the mouse to the Listview header and click on an arrow. Notice that for some reason the first item will have a focus rect around it. Now click off of the header and watch as the app crashes.
while this code on Vista does not crash the app.

Run this code on Vista. Move the mouse to the Listview header and click on an arrow. Notice that for some reason the first item will have a focus rect around it. Now click off of the header and watch as the app crashes.
Code: Select all
If OpenWindow(0, 0, 0, 800, 500, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
WebGadget(0, 5, 35, 790, 410, "c:\")
Repeat
event = WaitWindowEvent()
Until event = #PB_Event_CloseWindow
EndIf
Code: Select all
Procedure WinProc(hwnd, msg, wParam, lParam)
Select msg
Case #WM_CLOSE
DestroyWindow_(hwnd)
Case #WM_DESTROY
PostQuitMessage_(0)
result = 0
Default
result = DefWindowProc_(hwnd, msg, wParam, lParam)
EndSelect
ProcedureReturn result
EndProcedure
If OpenWindow(0, 0, 0, 800, 500, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
SetWindowCallback(@WinProc())
WebGadget(0, 5, 35, 790, 410, "c:\")
msgs.MSG
While GetMessage_(@msgs, 0, 0, 0)
TranslateMessage_(@msgs)
DispatchMessage_(@msgs)
Wend
EndIf

What goes around comes around.
PB 5.21 LTS (x86) - Windows 8.1
PB 5.21 LTS (x86) - Windows 8.1