Locate
 
设置当前光标位置

语法

Declare Function Locate( row As Integer = 0, column As Integer = 0, state As Integer = -1, start As Integer = 0, stop As Integer = 0 ) As Integer

用法

Locate [row ], [column ], [state ]

result = Locate( [row ], [column ], [state ] )
new_column = LoByte( result )
new_row = HiByte( result )
new_state = HiWord( result )

参数

row
控制台中基于1的垂直字符位置。
column
控制台中基于1的水平字符位置。
state
光标的状态。0关闭,1已启用(仅限于控制台模式)。
start
忽略。仅允许-lang qb 方言兼容性。
stop
忽略。允许-lang qb 方言兼容性。

返回值

返回包含当前光标位置和状态的32位Integer.低字的低字节包含列,低字的高字节包含该行,高位字包含游标状态。

如果row column state 参数中的任何一个只是通过调用定位设置,则返回值将反映这些新值,而不是先前的值。如果在定位的调用中省略了任何参数,则返回值将反映当前值,与定位调用前相同。

说明

在图形和控制台模式下设置文本光标。

例子

Locate 10
Print "当前行:"; CsrLin


''文字光标+鼠标跟踪
Dim As Integer x = 0, y = 0, dx, dy

Cls
Locate , , 1

While Inkey <> Chr(27)
    GetMouse dx, dy
    If( dx <> x Or dy <> y ) Then
        Locate y+1, x+1: Print "";
        x = dx
        y = dy
        Locate 1, 1: Print x, y, ""
        Locate y+1, x+1: Print "X";
    End If
Wend


与QB差别

  • 在FreeBASIC中,start stop 参数无效。

参考