I'm developing a small chat tool. In the chat window, the information sent by the users contains text, pictures, hyperlinks.
I wonder how to develop a Hyper-ListView control that can display hypertext data (such as text, pictures, hyperlinks, even buttons and right-click menus)?
Now I have three options:
1. use RC5.Cairo and RC5.vbWidgets to develop a Hyper-LisView control.
2. use pure VB6 to develop a Hyper-LisView user control.
3. use WebBrowser or RC5.WebKit to embed web pages into a VB Form to implement chat window.
I know this problem is a bit complicated and I don't expect to get the final answer. I would like to hear some good ideas and suggestions so that I can make fewer detours.
Any advice and suggestions would be greatly appreciated.
Last edited by dreammanor; Apr 15th, 2018 at 09:51 AM.
I use a 3rd party Listview replacement called iGrid that's written in pure VB6 and also includes full source code when purchased. It was forked from Steve McMahon's s-Grid way back in 2003. It does require a some custom code to do something like hyperlinks, but its very minimal. RichText is more complicated, but there is an example for that in the link I posted below. I use it everywhere I need a listview-style control. And NO flickering issues, no LockWindowUpdate workarounds, plus it's super fast, especially for being pure VB6. And I think, since RC5 can draw on any hDC (amirite?), you might be able to do some Cairo drawing in cells instead of just GDI. I'd love to try that some time! I envision some sweet hardware-accelerated sparkline cell graphs.
If you look at the dates, you can see its had this capability for years and it keeps being improved and updated. You could even take the source code, compile it and make it 100% your own.
Another possible solution is Olaf's "ListView" he created with his RC5 component. I haven't had much time to play with it, but I do like the idea of a hardware-accelerated grid control. I don't have the link handy for that.
I would do what all the other chat programs out there do, which is use an HTML type of control.
If you need to know how to embed an image right in the chat --> https://stackoverflow.com/questions/...-html-php-file
I use a 3rd party Listview replacement called iGrid that's written in pure VB6 and also includes full source code when purchased. It was forked from Steve McMahon's s-Grid way back in 2003. It does require a some custom code to do something like hyperlinks, but its very minimal. RichText is more complicated, but there is an example for that in the link I posted below. I use it everywhere I need a listview-style control. And NO flickering issues, no LockWindowUpdate workarounds, plus it's super fast, especially for being pure VB6. And I think, since RC5 can draw on any hDC (amirite?), you might be able to do some Cairo drawing in cells instead of just GDI. I'd love to try that some time! I envision some sweet hardware-accelerated sparkline cell graphs.
If you look at the dates, you can see its had this capability for years and it keeps being improved and updated. You could even take the source code, compile it and make it 100% your own.
Another possible solution is Olaf's "ListView" he created with his RC5 component. I haven't had much time to play with it, but I do like the idea of a hardware-accelerated grid control. I don't have the link handy for that.
Hi CrazyDude, thank you for your reply.
iGrid is really an excellent grid control. I've used another commercial control Farpoint-Spread for many years. Farpoint was sold to GrapeCity a few years ago and Farpoint-Spread ocx has not been updated for years. Farpoint-Spread is also very powerful, but iGrid has two features that FarPoint-Spread does not have, that is Rich-Text-Cells and Tree-Columns. However, I can use FarPoint-Spread's Custom-Draw to implement features like Rich-Text-Cells .
It is a good idea to use a Grid control with an RTF feature to make a chat window. But I'm trying to avoid using Windows APIs and 3rd-party controls as much as possible, because I'm going to put my chat tool on a Linux server. So, I plan to use RC5.Cario and HTML pages to develop a chat window.
Thanks again for the information you provided.
Last edited by dreammanor; Apr 16th, 2018 at 12:03 PM.
I would do what all the other chat programs out there do, which is use an HTML type of control.
If you need to know how to embed an image right in the chat --> https://stackoverflow.com/questions/...-html-php-file
Hi DEXWERX, your advice is similar to Olaf, he also suggested that I should use a Browser-based UI. After careful consideration, I think a Browser-based UI should be the best choice for me.
What kind of HTML control are you using?
Thank you for your advice and the link you provided.
I just use the WebBrowser Control. It seemed to be a lost art, but Olaf has posted great examples in the codebank on interop between the DOM and the control. The only issue I've had with it is in an enterprise setting, where the company uses IE's enterprise compatibility settings. The group policy overrides which registry settings are used, which makes it impossible to upgrade the browser compatibility (rendering version) without admin rights.
You can place FEATURE_BROWSER_EMULATION entries for your application into HKCU. No security issues or elevated rights required.
But I'd use the safer DHTMLEdit control. If you didn't snooze you downloaded the redist version of this control which is needed in the post-XP world of today. I'm not sure it is still available from a legitimate source, so if you must go scrape archival sites be sure to at least scan it for injected malware. Its CHM Help can be hard to locate these days too.
But I'd use the safer DHTMLEdit control. If you didn't snooze you downloaded the redist version of this control which is needed in the post-XP world of today. I'm not sure it is still available from a legitimate source, so if you must go scrape archival sites be sure to at least scan it for injected malware. Its CHM Help can be hard to locate these days too.
I just use the WebBrowser Control. It seemed to be a lost art, but Olaf has posted great examples in the codebank on interop between the DOM and the control. The only issue I've had with it is in an enterprise setting, where the company uses IE's enterprise compatibility settings. The group policy overrides which registry settings are used, which makes it impossible to upgrade the browser compatibility (rendering version) without admin rights.
I tested Olaf's example and it's amazing. Although that example does not show all of the features on XP, I still decide to try to use HTML to implement Hyper-ListView.
You can place FEATURE_BROWSER_EMULATION entries for your application into HKCU. No security issues or elevated rights required.
But I'd use the safer DHTMLEdit control. If you didn't snooze you downloaded the redist version of this control which is needed in the post-XP world of today. I'm not sure it is still available from a legitimate source, so if you must go scrape archival sites be sure to at least scan it for injected malware. Its CHM Help can be hard to locate these days too.
DHTMLEdit just edit HTML? Can it display HTML like IE-WebBrowser? I wonder if HTML can implement the following chat-UI? What auxiliary tools are needed, such as HTML5 or jquery?
Last edited by dreammanor; Apr 16th, 2018 at 08:34 PM.