Page 1
Page 2
Page 3
Add the following procedure to the HTMLview
form:
'==========================================
Public Sub SetText(sData As String, bClearType As Boolean)
Dim ret As Long
ret = SendMessageString(g_hwndHtml, WM_SETTEXT, 0, "")
If bClearType Then
ret = SendMessageLong(g_hwndHtml, DTM_ENABLECLEARTYPE, 0, True)
End if
ret = SendMessageLong(g_hwndHtml, DTM_ENABLESCRIPTING, 0, True)
ret = SendMessageString(g_hwndHtml, DTM_ADDTEXTW, False, sData)
ret = SendMessageLong(g_hwndHtml, DTM_ENDOFSOURCE, 0, 0)
End Sub
'==========================================
And change the Form_Load event of the
frmContainer to:
'=========================================
Sub Form_Load()
Dim hWndHTML as Long
Dim sText as String
hWndHTML = HTMLview.CreateHTMLControl(frmContainer.hWnd,
1, 1, 200, 200)
sText = "<html>" & vbCrLf
sText = sText & "<head>" & vbCrLf
sText = sText & "<meta HTTP-EQUIV='CLEARTYPE'>"
& vbCrLf
sText = sText & "</head>" & vbCrLf
sText = sText & "<body BGCOLOR='#FFFF99' text='#000080'>
" & vbCrLf
sText = sText & "<p>This a regular text</p>"
& vbCrLf
sText = sText & "<p><i>This a italic text</i></p>"
& vbCrLf
sText = sText & "<p><font color='#FF0000'>This
a red regular text</font></p>" & vbCrLf
sText = sText & "</body>" & vbCrLf
sText = sText & "</html>"
Call HTMLview.SetText(sText, True)
End Sub
'==========================================
Notice the "<meta HTTP-EQUIV='CLEARTYPE'>"
line in the html that is sent to control. It will enable the text
in ClearType!
This is what you should see when you execute
the project:

In the SetText
procedure you have seen that it is possible to control behavior
of the HTMLviewer by sending it corresponding messages. This line,
for example, will clean up the contents of the control:
ret = SendMessageString(g_hwndHtml, WM_SETTEXT,
0, "")
After experimenting a while with the messages
I discovered that it is possible, besides clearing the control,
to select all text, copy selection, scroll up and down and event
change the font size.

The full code that implements all of these
methods, is available in the eVB
project I've created for the article.
You could ask the question: "How about
getting some events from the control?" Well, it is not possible
to do it with eVB only, because it will require Subclassing (intercepting
the messages sent to the control). But it will be possible with
the Subclassing control I've created and currently is being beta
tested. But this is a different story, which I'll tell you the
next time.
Conclusion
I've showed you how to create the HTML view
control in eVB using Windows CE Platform API's and add some procedures
to change the behaviour of the control by sending it windows messages.
Alex Yakhnin is the developer behind the well
known OxfordCE
Dictionary/Thesaurus application and is based in Morganville,
NJ.
Other articles written by Alex Yakhnin:
http://nsbasic.com/ce/info/nsbce/technotes/TN25.htm
http://nsbasic.com/ce/info/nsbce/technotes/TN27.htm
http://www.brighthand.com/html/howto/usbconnect.html
Previous Page