Using SYSTEM.MOUSE_ITEM In Oracle Forms

If the mouse is in an item, SYSTEM.MOUSE_ITEM represents the name of that item as a CHAR value.
For example, if the mouse is in Item1 in Block2, the value for SYSTEM.MOUSE_ITEM is :BLOCK2.ITEM1.

SYSTEM.MOUSE_ITEM is NULL if:
·  the mouse is not in an item
·  the operator presses the left mouse button, then moves the mouse
·  the platform is not a GUI platform

SYSTEM.MOUSE_ITEM examples
/* 
Example: Dynamically repositions an item if:
1) the operator clicks mouse button 2 on an item and
2) the operator subsequently clicks mouse button 2 on an area of the canvas that is not directly on top of another item.
*/
DECLARE
item_to_move VARCHAR(50);
the_button_pressed VARCHAR(50);
target_x_position NUMBER(3);
target_y_position NUMBER(3);
the_button_pressed VARCHAR(1);
BEGIN
/* Get the name of the item that was clicked.
*/
item_to_move := :System.Mouse_Item;
the_button_pressed := :System.Mouse_Button_Pressed;
/*
If the mouse was clicked on an area of a canvas that is not directly on top of another item, move the item to the new mouse location.
*/
IF item_to_move IS NOT NULL AND the_button_pressed = ’2’
THEN
target_x_position := To_Number(:System.Mouse_X_Pos);
target_y_position := To_Number(:System.Mouse_Y_Pos);
Set_Item_Property(item_to_move,position,
target_x_position,target_y_position);
target_x_position := NULL;
target_y_position := NULL;
item_to_move := NULL;
END IF;
END;

See also:
http://www.foxinfotech.in/2015/01/create-xo-checker-game-with-oracle-forms.html


posted @ 2016-12-25 18:19  全威儒  阅读(379)  评论(0编辑  收藏  举报