📄 自定义双击事件.mb
字号:
'注意:双击地图对象时,速度不能太快,否则达不到双击的效果
Include "mapbasic.def"
Include "menu.def"
Include "icons.def"
declare sub main
declare sub custom_tool_routine
declare sub SelChangedHandler
dim flag as Logical
global mouse_click_time as smallint
global x,y,x2,y2 as float
global search_rst_rowid,search_rst_rowid2 as integer
global search_rst_tabname,search_rst_tabname2 as string
global search_rst_i,search_rst_i2 as integer
sub main
Alter ButtonPad ID 1
Add
Separator
ToolButton
Icon MI_CURSOR_ARROW
HelpMsg "make a select without a message dialog"
Cursor MI_CURSOR_ARROW
DrawMode DM_CUSTOM_POINT
Calling custom_tool_routine
Remove M_TOOLS_SELECTOR
Show
mouse_click_time=1
end sub
sub custom_tool_routine
flag=FALSE
if mouse_click_time<2 then
mouse_click_time=mouse_click_time+1
x=commandinfo(CMD_INFO_X)
y=commandinfo(CMD_INFO_y)
search_rst_i=searchpoint(frontwindow(),x,y)
if search_rst_i<>0 then
search_rst_rowid=searchinfo(1,SEARCH_INFO_ROW)
search_rst_tabname=searchinfo(1,SEARCH_INFO_TABLE)
select * from search_rst_tabname where rowid = search_rst_rowid
if flag=TRUE then
Exit sub
end if
else
search_rst_rowid=0
search_rst_tabname=""
mouse_click_time=1
run menu command 304 '此句必须有Pro55的环境
end if
else
x2=commandinfo(CMD_INFO_X)
y2=commandinfo(CMD_INFO_y)
search_rst_i2=searchpoint(frontwindow(),x2,y2)
if search_rst_i2<>0 then
search_rst_rowid2=searchinfo(1,SEARCH_INFO_ROW)
search_rst_tabname2=searchinfo(1,SEARCH_INFO_TABLE)
mouse_click_time=1
if search_rst_rowid2=search_rst_rowid and search_rst_tabname2=search_rst_tabname then 'and x2=x and y2=y then
'/////////////////////////// Add You Code Here /////////////////////
note "Hello you double clicked!"
'////////////////////////////////////////////////////////////////////////
else
select * from search_rst_tabname2 where rowid = search_rst_rowid2
if flag=TRUE then
Exit sub
end if
end if
else
search_rst_rowid2=0
search_rst_tabname2=""
mouse_click_time=1
run menu command 304 '此句必须有Pro55的环境
end if
end if
end sub
sub SelChangedHandler
if CommandInfo(CMD_INFO_SELTYPE)=1 or CommandInfo(CMD_INFO_SELTYPE)=3 then
flag=TRUE
end if
end sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -