Thumbnail mode using ActiveX control


Author
Message
Carl916
Carl916
Supreme Being (328 reputation)Supreme Being (328 reputation)Supreme Being (328 reputation)Supreme Being (328 reputation)Supreme Being (328 reputation)Supreme Being (328 reputation)Supreme Being (328 reputation)Supreme Being (328 reputation)Supreme Being (328 reputation)
Group: Forum Members
Posts: 2, Visits: 6
Hi

Is it possible to replicate the VNC manager thumbnail feature using the activeX control?

Regards, Carl Gilbert

Yury Averkiev (s-code)
Yury Averkiev (s-code)
Supreme Being (213K reputation)Supreme Being (213K reputation)Supreme Being (213K reputation)Supreme Being (213K reputation)Supreme Being (213K reputation)Supreme Being (213K reputation)Supreme Being (213K reputation)Supreme Being (213K reputation)Supreme Being (213K reputation)
Group: Administrators
Posts: 1.9K, Visits: 3.6K
It's possible, in fact the VNC Manager uses ViewerX for the thumbnail view implementation.

There are several ways how it could be implemented. But just to give you a rough idea about our implementation.
We use native Windows listview control to show the thumbnail items. To each listview item corresponds a hidden instance of ViewerX control.
For this case, when ViewerX is hidden you would want to initialize the following properties:

//since you just want to show a remote screen
vncCtrl.ViewOnly = true;

//no need to transfer clipboard either
vncCtrl.DisableClipboard = true;

//tells ViewerX not to paint the remote screen (ViewerX is hidden, so there is no need to paint it)
vncCtrl.ThumbnailMode = true;

//allows ScreenUpdatedEvent to be fired for each screen update. By default this event is disabled for performance reasons
vncCtrl.AdvancedSettings.EnableScreenUpdatedEvent = true;

So we subscribe to ScreenUpdatedEvent and update an ImageList associated with thumbnails listview control for each screen update. Although in reality it's a bit more complicated than that.

Last but not least, here is how you could get access to the screen bitmap (C# code):
using (Bitmap bmp = Bitmap.FromHbitmap(new IntPtr(vncCtrl.ScreenBitmap)))
{
     //do something with bmp
}

I hope this helps.

http://www.s-code.com/App_Themes/Default/images/blue_line.gif
Regards,

Yury Averkiev, SmartCode

TShriver
TShriver
Supreme Being (227 reputation)Supreme Being (227 reputation)Supreme Being (227 reputation)Supreme Being (227 reputation)Supreme Being (227 reputation)Supreme Being (227 reputation)Supreme Being (227 reputation)Supreme Being (227 reputation)Supreme Being (227 reputation)
Group: Forum Members
Posts: 2, Visits: 2
Can ayone convert this C# code to VB6?

using (Bitmap bmp = Bitmap.FromHbitmap(new IntPtr(vncCtrl.ScreenBitmap)))

Thank you!

Tim

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Explore
Messages
Mentions
Search