Sending Messages to the Win32 API with Visual Basic 6
Sending Messages to the Win32 API with Visual Basic 6 |
Description of sending messages to the WIN32 API with Visual Basic 6.
The Microsoft® ActiveX® version of InkEdit does not provide the complete RichTextBox application programming interface (API) as does the .NET version of InkEdit. However, the missing API members are available by sending window messages, which the ActiveX InkEdit forwards to its underlying RichEdit control.
Win32 Messages
You can use the following guidelines to send Win32 messages from the InkEdit control.
Declare constants for message IDs. For example:
Private const EM_CANUNDO = &HC6
Constants can be retrieved from the API Viewer tool in Visual Studio.
Map the Win32
SendMessage(hWnd, wMsg, wParam, IParam)
function to a Visual Basic function. For example:Private Declare Function SendMessage Lib "user32" Alias _ "SendMessageW"(ByVal hwnd As Long, ByVal wMsg As Long, _ ByVal wParam As Long, lParam As Any) As Long
Call SendMessage:
Dim lres as Long Dim wp as Long Dim lp as Long wp = some_valid_value lp = some_valid_value lres = SendMessage(InkEdit1.hWnd, some_valid_messageID, wp, lp)
For example, you can insert
EM_CANUNDO
as thesome_valid_messageID
argument.