I am trying to make a custom web browser. I know that there is such a control in Microsoft Visual Studio. however,for the custom things do I need to edit the html of the page before it is shown to the user, and i need to create the connection manually. I know how to use Winsock. All the other stuff just needs to be done as usual ( not custom
So my question is, how can i display html, use Adobe Flashplayer in my browser and all the other stuff and still do the necessary things self ?
Sounds like you want to render HTML yourself and also allow plugins like Flash. That is not a simple thing.
You need to learn about the HTML standards (HTML 5, XHTML, etc), and also learn about Cascading Style Sheets, ideally version 3. Understand the box concept and then just draw. I am unsure as to how to proceed with plugins. My first attempt would be to allow ActiveX just like Internet Explorer, meaning I would create an OLE2 Document container. If you don't know OLE2, you would also have to start there.
For a single experienced developer, this could take 6 months or so, being optimistic and assuming full implementation of the different standards.
The Microsoft WebBrowser control does allow you modify the HTML via its document model (see MSDN for information about the IHTMLDocument2 interface.) And some other browser customization is possible using the URLHander mechanism.
What kind of things to you need to be able to do? And what do you mean by "create the connection manually"?
Andy
PS I'm trying to learn more about WebKit, so if anyone knows about a trustworthy site comparing IE + ActiveX with WebKit + NPAPI plugins, please let me know.
with creating the connection manually, i mean that search for the correct IP myself, that that isn't done by the API.
And with the WebBrowser control, what architecture is it using, is it MFC?
The WebBrowser control is an ActiveX control. You can use it from any language that supports ActiveX, including C++. Note that you'll need to call CoInitialize() or CoInitializeEx() in every thread that uses the control. And try not to pass it on between threads or you'll have to deal with proxying the interface pointers.
I am still unclear about what you mean. With a normal browser you have to type in the address. What do you need to do which is more "manual" than this?