Press "Enter" to skip to content

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: https://www.foxinfotech.in/2015/01/create-xo-checker-game-with-oracle-forms.html

Vinish Kapoor

I am a full stack developer and writing about development. I document everything I learn and help thousands of people. foxinfotech.in is created, written, and maintained by me, it is built on WordPress, and hosted by Bluehost. Connect with me on Facebook, Twitter, GitHub and get notifications for new posts.

You may also like:

Be First to Comment

    Leave a Reply

    Your email address will not be published. Required fields are marked *