Sidebar

reference:scripting_reference:scripting_objects:msg

The Msg object represents a script dialog input event message. It’s returned by the Dialog.GetMsg method which you call when running the message loop for a detached dialog.

Property Name Return Type Description

<default value> 

bool

Returns True if the message is valid, or False if the dialog has been closed (which means you should exit your message loop).

buttons

string

Returns a string indicating which mouse button was pressed when the message was generated. Possible values are left, right and middle.

checked

int

If the event type is checked, this indicates the check state of the item. If checkboxes are used in automatic mode, this will be the new check state of the item. In manual mode, this will indicate the existing state and it's up to you to change the state if desired.

Check states are:

0unchecked
1checked
2indeterminate
3unchecked/disabled
4checked/disabled
5indeterminate/disabled

control

string

Returns the name of the control involved in the event. You can get a Control object representing the control by passing this string to the Dialog.Control method.

  • For a timer event this returns the name of the timer that was triggered.
  • For a hotkey event this returns the name of the hotkey.
  • For a drop event this returns the name of the control that the files were dropped on.
  • For a tab event this tells you which monitored tab the event occurred in (either the ID you assigned in the Dialog.WatchTab method, or the numeric handle of the tab if you didn't assign an ID).
  • For a dirchange event this tells you which watcher detected a file or folder change (the ID you assigned via the Dialog.WatchDir method).
  • If you have added an icon to the taskbar via the Dialog.NotifyIcon method, notifyicon indicates an event associated with that icon.
  • For a http event this tells you the ID of the HTTPRequest object.
  • For a custom message, this provides the name of the message.

cx

int

For resize events, this property returns the new width of the dialog.

cy

int

For resize events, this property returns the new height of the dialog.

data

int or bool

If the event type is focus, indicates the new focus state of the control - True if the control has gained the focus, or False if it's lost it.

For a combo box or list box control: If the event type is selchange or dblclk, returns the data value associated with the selected item.

For a two-state check box control or radio button: If the event type is click, returns a bool indicating the current check state.

For a three-state check box: If the event type is click, returns an int representing the current state.

For a date/time picker control, this value will be true if a valid date is selected, or false if the date is turned off (only applies if the "Show None" property is enabled).

If the event type is timer, this value indicates the number of milliseconds that have elapsed since the last time this timer was triggered.

If the event type is tab, and the value property is set to filechange, this indicates which file change events occurred in the monitored tab. 1 = add, 2 = delete, 4 = change. The values will be added together (so e.g. 6 indicates at least one item was changed and at least one was deleted).

For a http event, this value contains the event status code. The value property provides the same information as a keyword.

For a color event from a palette control, this will be 0 for an intermediate color change (e.g. the user has the palette open and is clicking around within it) and 1 for final changes (when the palette window closes).

For a custom message sent from another script, this may be the optional numeric parameter that can be sent with the message. Scripts can also send a container object like a Map and this will be found in the object property instead.

dialog

string

Returns the name of the parent dialog.

event

string

Returns a string indicating the event that occurred. Currently defined events are:

invalidThe dialog has been closed
checkedFor a listview control with the Checkboxes property enabled, indicates that the checkbox of a list item has been clicked.
clickThe control was clicked (e.g. a button, check box, radio button, markup text or static control with Notify Clicks property enabled).
closeThe user clicked the dialog's close button. Only generated if the Dialog.want_close property has been set to True. You'll need to close the dialog manually using the Dialog.EndDlg method.
dblclkAn item in the list was double-clicked (list box, combo box or list view) or the control was double-clicked (static control with Notify Clicks property enabled).
dirchangeA file or folder that you established monitoring of via the Dialog.WatchChanges method has changed. The control property tells you which watcher was triggered.
dragThe user has initiated a drag and drop from a static or list view control. You can respond by calling the Dialog.Drag method. The Drag Source property must be enabled on the control for this event to be generated.
dropFiles were dropped onto your dialog. The dialog template must have its Accept Drops property set to True to enable drag & drop support.
editchangeThe contents of an edit field were modified. For a list view this event indicates that the label of a list item was edited.
focusThe control gained or lost focus.
hotkeyA key combination added as a hotkey with the Dialog.AddHotkey method has been pressed.
httpAn event associated with a HTTPRequest has occurred.
resizeThe dialog was resized by the user. Only generated if the Dialog.want_resize property has been set to True. Don't mix manual and automatic resizing with the same control: If you move or resize a control in response to this event, the control should not have any of the resize flags set in the dialog editor.
rclickAn item in the list was right-clicked (list box, list view) or the control was right-clicked (static control with Notify Clicks property enabled, or button control with the Right Button property enabled).
selchangeThe selection was changed (list box, combo box, list view or tab).
timerA periodic timer created with the Dialog.SetTimer method has elapsed.
tabAn event has occurred in a tab monitored using the Dialog.WatchTab method.
colorA new color has been chosen in a palette control.
clipboardSent whenever the system clipboard contents change, once monitoring has been enabled with the Dialog.WatchClipboard method.
customA custom message sent from another script. The message name can be found in the name property.
datetimeThe date has changed in a date/time picker control.

focus

bool

Returns True if the control had focus when the message was generated.

index

int

Returns the current selection index for a combo box, list box or tab control.

mousex

int

Returns the horizontal position of the mouse cursor when the message was generated.

mousey

int

Returns the vertical position of the mouse cursor when the message was generated.

name

string

An alias for the control property.

object

variant

For a drop event, this property returns a Vector of Item objects, representing the files that were dropped onto your dialog.

For a custom message sent from another script, this may be the optional container object (e.g. a Map) that can be sent with the message. Scripts can also send a numeric parameter and this will be found in the data property instead.

For a date/time picker control, this property returns a Date object when a new valid date is chosen.

qualifiers

string

Returns a string indicating the qualifier keys (if any) that were held down when the message was generated.

The string can contain any or all of the following: shift, ctrl, alt, lwin, rwin

If no qualifiers were down, the string will be: none

result

bool

Returns True if the message is valid, or False if the dialog has been closed.

tab

string

For a dialog tab control, returns the name of the parent tab (if the control is on a dialog that's inside a tab control).

If the event type is tab, this returns a Tab object representing the monitored tab that the event occurred in. Calling this repeatedly may be inefficient.

value

string

For the dblclk, editchange and selchange events, returns the current contents of the edit field (or selected item label).

For the tab event, indicates which event occurred in the monitored tab. Possible values are select, navigate, filechange, activate, srcdst, view, flat, and close (sent if the tab is closed while you are monitoring it).

For the drag event, this indicates which button is being used to drag (left or right).

For a click event from a markup text control, this indicates the ID of the clicked link.

For a http event, this indicates the current http status code.

For a color event from a palette control, this will be the selected color as either a hex or decimal string (depending on the control property). If the palette button's checkbox is disabled, this will be prefixed by a ! character.

For a date/time picker control, this returns the textual value of the selected date or time. The object property returns a Date object, which may be more useful.