I icet Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-03 #1 在Delphi如果用Canvas画一些图形,如何进行一如拖拽的动作? (如何像VC里的“无效区”那样操作?)
F fhb Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-03 #2 中国及亚洲用户: http://china.codeidea.com 其他地区: http://www.codeidea.com TCAD2002 可以参考
L lyx Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-28 #5 拖拽动作实际上就是监视鼠标操作,而且鼠标落下、鼠标移动以及鼠标抬起三个事件要 配合工作,并且还要能够判断操作的图形的各种信息等等。。。。。。。
B beta Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-28 #6 你是要拖动窗口还是拖动图形啊? 要是拖动窗口,和 Canvas 没什么关系; 要是拖动图形,何不用 TImage 控件?
I icet Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-30 #7 是要拖动图形。 Timage是可以,但大家都知道那远远来得不如canvas丰富。 而且,我现在的意思相当于是可以在canvas上选个框框, 然后把这个框里面的东西随意拖动。
F fhb Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-03 #8 中国及亚洲用户: http://china.codeidea.com 其他地区: http://www.codeidea.com TCAD2002 可以参考
研 研究 Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-03 #9 先声明一个动态数组 你可以先用canvas.rectangle和设置canvas.pen.style为虚线,然后以这个矩形为框 框,把矩型中的象素读到一个动态数组,在dowm事件中检测按键为左还是右如果是左就执 行以下操作。 在移动事件中再检测top和left弟增还是递咸top递增那矩形向下移(当移的时候要把原 来的矩型删除,再在新的地方画出矩型但不要再把它读入数组),再后在up事件中把再后矩 型画出的地方把数组中的象素读出就行。但有个缺点就是如果矩型大就明显的慢,上面的只 说明了原理至于要用于实际就要用bitblt等读矩型的象素。
先声明一个动态数组 你可以先用canvas.rectangle和设置canvas.pen.style为虚线,然后以这个矩形为框 框,把矩型中的象素读到一个动态数组,在dowm事件中检测按键为左还是右如果是左就执 行以下操作。 在移动事件中再检测top和left弟增还是递咸top递增那矩形向下移(当移的时候要把原 来的矩型删除,再在新的地方画出矩型但不要再把它读入数组),再后在up事件中把再后矩 型画出的地方把数组中的象素读出就行。但有个缺点就是如果矩型大就明显的慢,上面的只 说明了原理至于要用于实际就要用bitblt等读矩型的象素。