devxlogo

Streamline Your API Declares, Part 1

Streamline Your API Declares, Part 1

Most Windows API routines are functions and must be declared assuch, but in many cases we are not really interested in theirreturn value. The SendMessage function, for example, dependingon the message sent, might not return any significant value. Evenin this case, however, we are compelled to call it as a function,writing something like:

 Dim dummy As Integerdummy = SendMessage(Text1.hWnd, _        WM_PASTE, 0, 0&)

In other words, you are forced to declare more variables and makeyour code less readable only because of a syntactical constraintof Visual Basic. Luckily, you can add an aliased Declare whichconverts SendMessage to a Sub:

 Declare Sub SendMessageSub Lib "User" _        Alias "SendMessage" _        (ByVal hWnd%, ByVal msg%, ByVal _        wParam, lParam As Any)

Now you can call SendMessage and discard its return value:

 SendMessageSub Text1.hWnd, WM_PASTE, _        0, ByVal 0&

Note that your code will also be slightly faster because you savean assignment and do not waste any time dimensioning a dummy variable.

devx-admin

Share the Post: