Я работаю над расширением IDE. Одна из первых вещей, которые мне нужно сделать, это перетащить значок из моей новой панели инструментов на в открытое пространство и создать стек при выпуске.Перетаскивание на рабочий стол в LiveCode
Это код, который у меня есть до сих пор. Проблема в том, что когда я отбрасываю перетаскивание, он выталкивает мышь обратно в исходную позицию и создает там, а не в конечной позиции. Я подозреваю, что это потому, что я не перетаскиваю объект назначения , так как я пытаюсь создать новый стек. Как я могу получить точку высвобождения, когда она не находится над объектом LiveCode?
on mouseDown
set the dragData["text"] to empty
end mouseDown
on dragStart
set the dragImage to the id of the target
end dragStart
on dragEnd
CreateNewDBStack("New Databse Stack", "Default.sdb")
end dragEnd
command CreateNewDBStack pNewStackName, pDBname
#create stack
create stack pNewStackName
put it into tTheNewStack
set the loc of tTheNewStack to the mouseloc
set the DBPath of tTheNewStack to pDBName
#create DBscript on stack
local tScript
put "global gDBConnectionID"&cr into tScript
put "command onPreOpenStack"&cr after tScript
put " library stack ""e&"DatabaseLibrary.livecode""e&cr after tScript
put " put the DBPath of me into tDBPath"&cr after tScript
put " put databaseConnect(tDBPath) into gDBConnectionID" &cr after tScript
put "end onPreOpenStack" after tScript
set the script of tTheNewStack to tScript
end CreateNewDBStack
Я только что заметил ответ Павла. ScreenMouseLoc и globalloc (moueLoc) дают тот же результат. – Mark