SETCURSOR() Sets the cursor form ------------------------------------------------------------------------------ Syntax SETCURSOR([[<nCursorType>],[<lMode>]]) --> nCursor or: SETCURSOR([[<idCursorForm>],[<lMode>]]) --> nCursor or: SETCURSOR([[<nTopLine>,<nBottomLine>], [<lMode>]]) --> nCursor Arguments <nCursorType> Designates a cursor type between 0 and 4 (see Clipper 5.0, SETCURS.CH). <idCursorForm> Designates a value previously returned from this function. The <nCursor> return value is a 16-bit integer. <nTopLine> Designates the beginning scan line of the new cursor. <nBottomLine> Designates the ending scan line of the new cursor. <lMode> Designates whether the cursor is set to the overwrite (.F.) or the insert (.T.) mode. The default value (.F.) designates that the cursor is set to the overwrite mode. Returns If the SETCURSOR() function is called with parameters, it returns the previous setting. When the function is called without parameters, it returns the current cursor setting. When a value between 0 and 4 is returned, then the cursor type was set through CA-Clipper's SETCURSOR() function. When the return value is less than 0, the return value is the cursor value that had been set using <nTopLine> and <nBottomLine>. Description SETCURSOR() is also a function under CA-Clipper. The CA-Clipper Tools implementation makes several extensions available over and above the CA-Clipper function. When the CTUS.LIB extended driver is linked in, these extensions become available. One method for using the SETCURSOR() function is with only a numeric parameter between 0 and 4. With this parameter, the function is CA-Clipper compatible. Please refer to your CA-Clipper documentation for the cursor type corresponding to the individual values. The second method for using the SETCURSOR() is exclusively for restoring a cursor type previously saved from the return value. A cursor saved using GETCURSOR() can also be implemented this way, however, use of the GETCURSOR() function for the creation of new applications is not recommended! The third and last method allows you to implement a cursor completely of your own design by specifying the start and stop pixel lines. Specify the <nTopLine> and <nBottomLine>; the first parameter serves as the start line, and the second parameter serves as the end line for the cursor display. In all three variants of this function's syntax, you can determine the type of cursor you want to change, in the overwrite or the insert modes, by specifying <lMode>. Notes þ The range used for the <nTopLine> and <nBottomLine> parameters is dependent on the screen adapter used and the font installed. þ To preserve complete compatibility with the former version of the function call without parameter, CT.CH must be linked in. Examples þ In this example, the cursor for both modes is saved, and then restored: nNormCursor := SETCURSOR(.F.) // Overwrite mode nInsCursor := SETCURSOR(.T.) // Insert mode * Cursor is changed in the program SETCURSOR(nNormCursor, .F.) // Reset cursor SETCURSOR(nInsCursor, .T.) // Reset cursor þ Here is an example of a setting using the first and last pixel line: SETCURSOR(10, 13) // Cursor as thick // underscore To download this example - click here.
See Also: GETCURSOR()* CHARPIX()