Show Table Borders
This is a little feature like you find in MS Word. It will display table invisible borders in light gray color so you can see the structure of the table even if borders are turned off. The feature only works when the WebBrowser is in design mode. Since it’s an IOleCommandTarget editing command ID, it’s quite simple to use:
IHTMLDocument2* pDoc = ...;
// Turn on editor mode
pDoc->put_designMode(CComBSTR(L"on"));
// Execute some commands
IOleCommandTarget* pCmdTarget = 0;
hr = pDoc->QueryInterface(IID_IOleCommandTarget, (void**)&pCmdTarget);
if (SUCCEEDED(hr)) {
pCmdTarget->Exec(&CGID_MSHTML, IDM_SHOWZEROBORDERATDESIGNTIME,
OLECMDEXECOPT_DONTPROMPTUSER, CComVariant(true), NULL);
pCmdTarget->Release();
}
Note the MSDN lists editing ID’s separately from regular ID’s.
Use DIV for Paragraph Breaks
Normally, when you press ENTER in design mode, WebBrowser will insert a paragraph tag, <P>, as a break. This can create large amounts whitespace between paragraphs since <P> tags are rendered with more padding than a simple line break. You can setup a CSS class or a style change the padding or you could tell WebBrowser to use <DIV> tags instead. There are two ways I know of to get WebBrowser to use <DIV> tags:
- Use IDocHostUIHandler::GetHostInfo interface method. Look at the DOCHOSTUIFLAG_DIV_BLOCKDEFAULT flag.
- Place an empty <DIV /> tag in the HTML you load into WebBrowser before putting it into design mode. Like this:
<HTML> <BODY> <DIV /> </BODY> </HTML>