我與我正在嘗試旋轉三角形。圖像旋轉正常,我沒有任何問題。但我有一個問題,只有當我點擊我可以旋轉的實際點時,三角形才應該獲得焦點。但是這沒有發生。我附上了解釋問題的圖片。我在swf運行時沒有任何問題。但在DHTML運行時我正面臨着這個問題。這對我使用的圖像有什麼影響嗎?Openlaszlo bringtoFront無法正常工作
我使用Openlaszlo5.0,在windows 16.0下測試,三角形的測試圖像是PNG。
我與我正在嘗試旋轉三角形。圖像旋轉正常,我沒有任何問題。但我有一個問題,只有當我點擊我可以旋轉的實際點時,三角形才應該獲得焦點。但是這沒有發生。我附上了解釋問題的圖片。我在swf運行時沒有任何問題。但在DHTML運行時我正面臨着這個問題。這對我使用的圖像有什麼影響嗎?Openlaszlo bringtoFront無法正常工作
我使用Openlaszlo5.0,在windows 16.0下測試,三角形的測試圖像是PNG。
我從你的描述假設您必須使用具有類內置bringToFront()當你點擊它,就像basewindow例如調用。通過類似這樣的類,你可以重寫bringToFront()方法並進行檢查,看看鼠標是否在你想要回應的區域內,然後決定是否調用super.bringToFront()。爲了簡單起見,我的示例只是檢查點擊是否在方格的右半部分,但您可以插入公式來確定它是否位於三角形的點內,而不是在您的應用程序中:
<canvas width="1000" height="584" debug="true">
<basewindow id="v1" width="100" height="100" x="25" y="25" bgcolor="0xff0000" clickable="true">
<method name="bringToFront">
<![CDATA[
var x = this.getMouse('x');
var y = this.getMouse('x');
Debug.debug('x='+x);
Debug.debug('y='+y);
// Ensure mouse is within right half:
if (x>(this.width)/2)
super.bringToFront();
]]>
</method>
</basewindow>
<basewindow id="v" width="100" height="100" x="50" y="50" bgcolor="0xcccccc" clickable="true">
<method name="bringToFront">
<![CDATA[
var x = this.getMouse('x');
var y = this.getMouse('x');
Debug.debug('x='+x);
Debug.debug('y='+y);
// Ensure mouse is within right half:
if (x>(this.width)/2)
super.bringToFront();
]]>
</method>
</basewindow>
</canvas>
我在OL 4.9.0 SWF10中測試它,它工作。
謝謝..我會嘗試這種方法,看看它是否解決了我的目的。我會更新狀態。 – karthick
你可以添加一個小代碼示例,這將有所幫助。 – 2012-11-29 15:51:24