*Пример использования компонента DropFile для выполнения операций перетаскивания объектов файлов системы. Make(delphi) ver(4.04 build 185) Add(MainForm,2953706,42,70) { Width=432 Height=303 MouseCapture=0 Position=1 } Add(DropFile,6907332,147,70) { Point(onStartDrop) link(onDropFile,2561894:doAdd,[]) link(List,2561894:Array,[(153,58)(195,58)(195,127)(230,127)]) link(onStartDrop,2561894:doClear,[(198,90)(198,83)]) } Add(ListBox,2561894,210,70) { Left=10 Top=35 Width=400 Height=225 Point(onMouseDown) Point(onMouseMove) link(onMouseDown,8870329:doMouseDown,[]) link(onMouseMove,8870329:doMouseMove,[]) } Add(Label,11902681,91,70) { Left=10 Top=10 Width=400 Caption="Make drop items to Form then select them and to do Drag & Drop to other place" AutoSize=1 } Add(MultiElementEx,8870329,273,84) { @Hint=#11:Drag begin?| link(onDrag,6907332:doDrag,[(316,90)(316,137)(135,137)(135,76)]) } BEGIN_SDK Add(EditMultiEx,15504153,14,21) { WorkCount=#11:doMouseDown|11:doMouseMove| EventCount=#6:onDrag|0:| Width=713 Height=221 link(doMouseDown,6357608:doEvent,[(35,27)(35,69)]) link(doMouseMove,7290753:doEvent,[(21,34)(21,146)]) } Add(Counter,7458136,483,147) { link(onNext,15558637:doEvent,[]) } Add(IndexToChanel,7290753,245,140) { link(onEvent1,434983:doEvent,[]) } Add(Hub,6236157,448,182) { link(onEvent1,7458136:doReset,[(472,188)(472,167)]) link(onEvent2,11267719:doEnable,[(583,195)(583,174)]) } Add(IndexToChanel,15558637,539,147) { Count=3 Data=Integer(1) link(onEvent3,11267719:doData,[]) } Add(Hub,13389177,651,161) { link(onEvent1,11267719:doDisable,[(678,167)(678,202)(597,202)(597,181)]) link(onEvent2,15504153:onDrag,[(697,174)(697,27)]) } Add(MultiElementEx,6893652,245,70) { @Hint=#20:Key Event Monitoring| link(onLeftMouseUp,9008891:doEvent1,[]) } BEGIN_SDK Add(EditMultiEx,3652965,21,21) { WorkCount=#15:doKeyMonitoring|16:doStopMonitoring| EventCount=#13:onLeftMouseUp|0:| Height=137 link(doKeyMonitoring,9176872:doEvent1,[(35,27)(35,62)]) link(doStopMonitoring,1975648:doTimer,[(28,34)(28,111)]) } Add(Timer,9104781,96,98) { Interval=100 Enable=1 Point(onStop) link(onTimer,13969439:doFor,[]) link(onStop,12743003:##clear,[(144,111)(144,76)]) } Add(IndexToChanel,15216937,264,56) { Point(Data) link(onEvent1,3652965:onLeftMouseUp,[(309,62)(309,27)]) link(Data,13969439:Position,[(270,44)(253,44)(253,142)(165,142)]) } Add(MultiElementEx,12743003,215,56) { Mode=1 link(onChange,15216937:doEvent,[]) } BEGIN_SDK Add(EditMultiEx,15933685,3,3) { WorkCount=#5:##add|8:##select|7:##clear| EventCount=#8:onChange| Width=237 Height=95 Point(##add) Point(##select) Point(##clear) link(##select,9613345:doReadKey,[(30,16)(30,55)]) } Add(Keyboard,9613345,77,49) { link(onReadKey,11411939:doData,[]) } Add(ChangeMon,11411939,140,49) { Data=Integer(0) link(onData,15933685:onChange,[(209,55)(209,9)]) } END_SDK Add(For,13969439,159,98) { Start=1 End=2 link(onEvent,12743003:##select,[(203,104)(203,69)]) } Add(For,4004499,96,56) { Start=1 End=2 link(onEvent,12743003:##add,[]) } Add(Hub,9176872,63,56) { link(onEvent1,4004499:doFor,[]) link(onEvent2,9104781:doTimer,[(87,69)(87,104)]) } Add(Timer,1975648,49,105) { Interval=0 Enable=1 AutoStop=1 link(onTimer,9104781:doStop,[]) } END_SDK Add(Memory,371077,350,63) { Default=Integer(0) } Add(Hub,5266932,133,63) { link(onEvent1,4248660:doData,[]) link(onEvent2,6893652:doKeyMonitoring,[]) } Add(DoData,4248660,182,63) { Data=Integer(1) link(onEventData,371077:doValue,[]) } Add(Hub,9008891,287,70) { OutCount=3 link(onEvent1,371077:doClear,[]) link(onEvent2,6893652:doStopMonitoring,[(312,83)(312,107)(233,107)(233,83)]) link(onEvent3,6236157:doEvent1,[(337,90)(337,188)]) } Add(IndexToChanel,434983,350,140) { Point(Index) link(onEvent2,9247594:doData,[]) link(Index,371077:Value,[]) } Add(MultiElementEx,9247594,413,147) { @Hint=#19:Mouse Move Detector| link(onData,7458136:doNext,[]) } BEGIN_SDK Add(EditMultiEx,6300706,21,21) { WorkCount=#6:doData| EventCount=#6:onData| Width=223 Height=165 link(doData,720799:doData,[(39,27)(39,139)]) } Add(Math,1086274,98,91) { OpType=2 Op2=65536 ResultType=0 link(onResult,2538627:doOperation,[]) link(Op1,11987903:MouseX,[(104,83)(146,83)]) } Add(MouseEvent,11987903,140,42) { } Add(Math,2538627,140,91) { ResultType=0 link(onResult,6918143:doData,[(184,97)(184,80)(47,80)(47,97)]) link(Op2,11987903:MouseY,[]) } Add(EventFromData,6918143,56,91) { link(onEvent,1086274:doOperation,[]) } Add(ChangeMon,720799,56,133) { link(onData,6300706:onData,[(204,139)(204,27)]) link(Data,6918143:GetData,[]) } END_SDK Add(MultiElementEx,11267719,609,161) { @Hint=#4:Gate| link(onTrue,13389177:doEvent1,[]) } BEGIN_SDK Add(EditMultiEx,15147993,3,3) { WorkCount=#6:doData|8:doEnable|9:doDisable| EventCount=#6:onTrue| Width=181 Height=116 link(doData,16016200:doEvent,[(49,9)(49,76)]) link(doEnable,2676259:doOn,[(39,16)(39,41)]) link(doDisable,2676259:doReset,[(29,23)(29,34)]) } Add(IndexToChanel,16016200,70,70) { Point(Index) link(onEvent2,15147993:onTrue,[(143,83)(143,9)]) link(Index,2676259:State,[]) } Add(Switch,2676259,70,21) { DataOn=Integer(1) DataOff=Integer(0) Point(State) Point(doOn) } END_SDK Add(IndexToChanel,6357608,70,63) { Point(Data) link(onEvent1,5266932:doEvent1,[]) } END_SDK