IMG Home PageIMG ProductsProduct DownloadsOrdering InformationTechnical Support and Frequently Asked QuestionsDeveloper's Corner and UtilitiesAbout IMG
CustomersIMG ResellersMedia InformationIMG Events / Trade ShowsUseful LinksIMG Contact InformationIMG Information / Policies
Translate

MTS DLL with Source

FOLDER: MTSDLL

TYPE: DLL with Source

SOURCE: INCLUDED

LANGUAGE: C

IDE: Microsoft Visual C++ 6

My-T-Soft Developer's Kit DLL

Utilities for implementing My-T-Soft within application development environments (Microsoft Access, Borland Delphi, Visual Basic, and other visual application design environments), implemented as a stand-alone Dynamic Link Library with source code.

My-T-Soft is used as a generic term for My-T-Touch, My-T-Pen, My-T-Soft, or private label versions of IMG's My-T-Soft family.

Overview

The DLL utilities comes with a C source module, a Resource Script (RC), and a Module Definition file (DEF), along with Project & Workspace information for Microsoft Visual C++ Version 6.

These utilities were developed in response to customer suggestions, wants, needs, and by reviewing the capabilities of various high-end application development tools. The DLL approach allows use of these function calls directly by any environment capable of integrating a DLL. The inclusion of the source code allows easy integration into applications developed closer to the Windows API. The instructional information is also useful in allowing developers to create functional applications quickly.

There are various utilities. Some pair up as opposites, some are more powerful than others. Be sure to read through the following details to gain a good understanding of the ability of these tools to assist you in your development efforts. Please feel free to contact us with other ideas or needs.

The 1.71 release modified the DLL included with the VBASIC examples. All future add-ons to the DLL portion of the Developer's Kit will be done in this project. Most of these are alternate implementations of the base Developer's Kit - see I. My-T-Soft Developer's Kit for additional info & examples, including how to enable seamless change-overs between configurations.

For usage examples, please refer to the following:

See the MS Access samples integrating the MTSDLL.DLL

Developer's Corner on website "http://www.imgpresents.com/imgdev.htm"

How To's in Developer's Corner

The Visual Basic Example (VBASIC folder in DevKit)

Note that Size 12 is a virtual barrier for re-sizing on the fly from the larger sizes (i.e. greather than size 12) to the smaller sizes (i.e. 12 or less). Do not cross this barrier one way or the other without first establishing a painted keyboard at size 12. The larger sizes are all keyed off of the dimensions of size 12, so corruption of the valid KBF file is possible (probable!) if crossing size 12!

DISCLAIMER

The source code & derived executable are provided at no cost as useful & instructional materials to developers & system integrators incorporating IMG software. Because no licensing fee has been tendered, there is no technical support offered for this software, source code, or its capabilities to solve a particular problem.

Utility Description / Function Call Interface

This is a list of each function in the DLL. See below for descriptions & interface:

GetXYMTS

GetXYWnd

MoveWindowMTS

SetCursorPosMTS

LaunchMTS

LaunchFromCurrentMTS

CloseMTS

MinimizeMTS

OpenMTS

SaveSettingsMTS

SavePositionMTS

RestoreSettingsMTS

RestorePositionMTS

ConfigureMTS

SendStringMTS

CopyConfigureMTS

ToggleConfigureMTS

QueryPanelsMTS

QuerySizeMTS

SetInputWindowMTS

Utility Name: Get My-T-Soft Position (Top/Left, Width/Height, Bottom/Right)

Function name: GetXYMTS

Function Arguments: WhichType as long

//In MYTSOFT.H

#define TOPLEFT 0x01

#define LEFTTOP 0x01

#define BOTTOMRIGHT 0x02

#define RIGHTBOTTOM 0x02

#define WIDTHHEIGHT 0x04

Returns: LONG with low word as X, high word as Y

Example: GetXYMTS(TOPLEFT)

Description: This utility uses the GetWindowRect and returns an XY pair composed in a long return value using the MAKELONG(x,y) macro.

Utility Name: Get Window Position (Top/Left, Width/Height, Bottom/Right)

Function name: GetXYWnd

Function Arguments: hWnd as Long, WhichType as long

//In MYTSOFT.H

#define TOPLEFT 0x01

#define LEFTTOP 0x01

#define BOTTOMRIGHT 0x02

#define RIGHTBOTTOM 0x02

#define WIDTHHEIGHT 0x04

Returns: LONG with low word as X, high word as Y

Example: GetXYWnd(hWnd,TOPLEFT)

Description: This utility uses the GetWindowRect and returns an XY pair composed in a long return value using the MAKELONG(x,y) macro.

Utility Name: Launch My-T-Soft

Function name: LaunchMTS

Function Arguments: NONE

Returns: Nothing

Description: Executing this will execute the My-T-Soft Executable.

Notes: This assumes a standard install - for non-standard installs, see LaunchFromCurrentMTS.

Utility Name: Launch My-T-Soft from Current Path

Function name: LaunchFromCurrentMTS

Function Arguments: FileName path

Example: LaunchFromCurrentMTS("C:\TEMP\DEVELOP\")

Returns: Nothing

Description: Executing this will execute the My-T-Soft Executable.

Notes: This assumes the My-T-Soft files have been copied into the C:\TEMP\DEVELOP folder, and MYTSOFT.EXE & MYTSOFT.INI are included along with supporting DLL's, KBF's, KMF's, etc., etc.

Locks in default INI location for other calls to DLL functions.

Utility Name: Close My-T-Soft

Function name: CloseMTS

Function Arguments: NONE

Returns: Nothing

Description: Executing this will close the My-T-Soft Executable.

Notes: Requested by an MS-Access Developer. Sends a WM_CLOSE message to the My-T-Soft Window.

Utility Name: Minimize My-T-Soft

Function name: MinimizeMTS

Function Arguments: NONE

Returns: Nothing

Description: Minimizes My-T-Soft using configured method.

Notes: Use OpenMTS to return My-T-Soft to original state.

Name: Open My-T-Soft

Function name: OpenMTS

Function Arguments: NONE

Returns: Nothing

Description: Opens My-T-Soft from minimized state using My-T-Soft API.

Notes: Opposite of MINMZMTS.EXE

Name: Move My-T-Soft Window

Function name: MoveWindowMTS

Function Arguments: X as long, Y as long

Returns: Nothing

Example: MoveWindow(200,20)

Description: Moves My-T-Soft window to indicated x & y position.

Notes: Extremely useful for complex applications. You may wish to always position My-T-Soft so the Tool bar panel (logo / menu / minimize) are mostly or all the way off the screen.

Name: SetCursor for My-T-Soft

Function name: SetCursorPosMTS

Function Arguments: X as long, Y as long

Example: SetCursorPos(200,20)

Returns: Nothing

Description: Moves cursor to indicated x & y position.

Notes: Focus issues and shell or exec implementation of My-T-Soft Utilities can sometimes result in the wrong window having the focus. By moving the cursor over My-T-Soft, code in My-T-Soft can resolve some focus issues.

Name: Configure My-T-Soft

Function name: ConfigureMTS

Function Arguments: /K[-] /E[-] /N[-] /C[-] /M[-] /W[-] /T[-] /B[-] /I[-] /Q[-] /G[-] /S:??

Returns: Nothing

Example: ConfigureMTS("/k-/e-/w/m/s:10")

Closes Keyboard & Edit panel, opens Windows Control & Macro Panel, sizes to 10.

K = Keyboard (alphanumeric) panel

E = Edit panel

N = Numeric panel

C = Calculator panel

M = Macro panel

W = Windows control panel

T = Tool / Control panel

B = Toolbar (3 icon panel)

G = Magnifier panel

I = System Info panel

Q = QuickHelp panel

- = after any of the above indicates the panel will be closed

S:?? = Size from 1 - 12

Description: Gives complete control over appearance. Used in conjunction with

MoveWindowMTS allows different looks / interfaces for complex applications.

Notes: This modifies the INI file, and then sends the update command to My-T-Soft. The UpdateDefINI routine is used to find installation folder and location of INI file.

Name: Copy and Configure My-T-Soft

Function name: CopyConfigureMTS

Function Arguments: [drive:][path]FileName

Example: CopyConfigureMTS("NUM.CFG"), CopyConfigureMTS("D:\PANELS\KEYPAD.CFG")

Description: Gives complete control over appearance - cleaner switch over than ConfigureMTS.

Notes:

If no path is given within the FileName specification, the default My-T-Soft directory is used - however, for guaranteed operation, a well formed path (with short file names) is required. The KEYBOARD.KBF file that is overwritten defaults to the default My-T-Soft directory.

Name: FindWindow & Control My-T-Soft

Function name: ToggleConfigureMTS

Function Arguments: [drive:][path]FileName

Example: ToggleConfigure("NUM.CFG,") ToggleConfigure("D:\PANELS\KEYPAD.CFG")

Returns: Nothing

Description: Gives complete control over appearance with the added ability to move the displayed panels off-screen if already on-screen. This is a modified version of CopyConfigureMTS that has the following logic: If My-T-Soft is visible, move it off-screen and do not process file. If My-T-Soft is not visible (off-screen), then process file.

Notes: This allows a toggle selection for the user using the same action (button on application, CTRLMTS buttons, etc.). Bring up the keyboard, then put it away. Note if My-T-Soft is off-screen, then this acts exactly as the CopyConfigureMTS utility. If My-T-Soft is visible, then its added feature of moving the software off-screen occurs. 1 monitor assumed (for multiple monitor configurations, modification of the source is probably required).

Name: Send String Through My-T-Soft

Function name: SendStringMTS

Function Arguments: Text String (with Build-A-Macro cooked format)

Returns: Nothing

Description: This communicates with My-T-Soft and hands off a text string to be processed and typed.

Notes: Version does not read the raw formats. Use the Save option in Build-A-Macro, Keystroke Macro, Zoom as the string format for this command. There is a file created (SDSTRMTS.KMF), and then the message is sent to My-T-Soft. The location is keyed off of the INI file, and must reside in the same folder as the executable.

Name: Save Position of My-T-Soft

Function name: SavePositionMTS

Function Arguments: NONE

Returns: Nothing

Description: Saves current position, for use with RestorePositionMTS, or upon re-opening of My-T-Soft.

Notes: Opposite of RestorePositionMTS. Same as Menu Option, Save Current Position.

Name: Save Settings of My-T-Soft

Function name: SaveSettingsMTS

Function Arguments: NONE

Returns: Nothing

Description: Saves current settings, for use with RestoreSettingsMTS, or upon re-opening of My-T-Soft.

Notes: Opposite of RestoreSettingsMTS. Same as Menu Option, Save Current settings.

Name: Restore Position of My-T-Soft

Function name: RestorePositionMTS

Function Arguments: NONE

Returns: Nothing

Description: Restore saved position.

Notes: Opposite of SavePositionMTS. Same as Menu Option, Restore Current Position.

Name: Restore Settings of My-T-Soft

Function name: RestoreSettingsMTS

Function Arguments: NONE

Returns: Nothing

Description: Restores saved settings.

Notes: Opposite of SaveSettingsMTS. Same as Menu Option, Restore Current settings.

Name: Query Currently Displayed Panels on My-T-Soft

Function name: QueryPanelsMTS

Function Arguments: NONE

Returns: Long value containing bits set to indicate panel displayed

Description: Queries running My-T-Soft program for current panels displayed

Notes: The bit values can be checked to examine which panels are visible (opened). The following lists the panels & their corresponding bit value - refer to the source code for particular syntax.

Keyboard (Alpha) panel, bit 1 0x00000001

Edit panel, bit 2 0x00000002

Numeric (Numpad) panel, bit 4 0x00000004

Calculator (Calc) Panel, bit 8 0x00000008

Magnifier panel, bit 16 0x00000010

System Information (Info) panel, bit 32 0x00000020

Windows Controls panel, bit 64 0x00000040

Macro panel, bit 128 0x00000080

QuickHelp panel, bit 256 0x00000100

Control panel, bit 512 0x00000200

ToolBar panel, bit 1024 0x00000400

Name: Query Current Size of My-T-Soft

Function name: QuerySizeMTS

Function Arguments: NONE

Returns: Long value current size (number)

Description: Queries running My-T-Soft program for current size

Notes: The return value is the current (internal) size of My-T-Soft

Name: Interface to SetForegroundWindow API via MTSDLL

Function name: SetInputWindowMTS

Function Arguments: Handle to Window

Returns: Result of SetForegroundWindow call

Description: Used to set the input focus (keyboard focus) to the specified window

Notes: There are various limitations in the various versions of Windows with this API and the ability for programs to control the input focus. This is just a basic interface in the DLL so an environment that doesnt have access to the Windows API can access SetForegroundWindow.

Refer to MSDN (Microsoft Developer Network) resources for limitations on this API call.


IMG Home PageIMG ProductsProduct DownloadsOrdering InformationTechnical Support and Frequently Asked QuestionsDeveloper's Corner and UtilitiesAbout IMG
CustomersIMG ResellersMedia InformationIMG Events / Trade ShowsUseful LinksIMG Contact InformationIMG Information / Policies