From WikiChip
Difference between revisions of "mirc/dialogs"
< mirc

(Modal dialog)
Line 5: Line 5:
 
'''Dialogs''' make it possible to create custom dialog windows inside of mIRC. The [[/dialog command - mIRC|/dialog command]] is the key way to opening new dialogs, and the [[Dialog components - mIRC|Dialog components]] are the objects within the dialog, such as buttons, labels, etc.
 
'''Dialogs''' make it possible to create custom dialog windows inside of mIRC. The [[/dialog command - mIRC|/dialog command]] is the key way to opening new dialogs, and the [[Dialog components - mIRC|Dialog components]] are the objects within the dialog, such as buttons, labels, etc.
  
== Questions ==
 
 
=== What dialogs are ===
 
=== What dialogs are ===
 
Dialogs are simply [[graphical user interfaces]] that present options to a user's screen in a graphical form. For instance, a web browser is display through its own dialog. Windows users may have used applications such as notepad, or Microsoft Word. All of these applications use dialogs, or forms of [[graphical user interfaces]] to present their applications in an appealing form.
 
Dialogs are simply [[graphical user interfaces]] that present options to a user's screen in a graphical form. For instance, a web browser is display through its own dialog. Windows users may have used applications such as notepad, or Microsoft Word. All of these applications use dialogs, or forms of [[graphical user interfaces]] to present their applications in an appealing form.
Line 12: Line 11:
 
mIRC dialogs are created by users through custom scripts. Through these dialog interactions, the dialogs adhere to an event listener, the [[On dialog - mIRC|ON DIALOG]] event. Through this event, all aspects of the custom dialogs, as well as their controls, can be monitored, tracked, and modified.
 
mIRC dialogs are created by users through custom scripts. Through these dialog interactions, the dialogs adhere to an event listener, the [[On dialog - mIRC|ON DIALOG]] event. Through this event, all aspects of the custom dialogs, as well as their controls, can be monitored, tracked, and modified.
  
== Scope ==
+
=== Scope ===
 
The scope of this article is to generally familiarize users with the term '''dialogs''', and what exactly it is they are used for within mIRC. Since these components are geared towards more advanced scripters, beginners should make sure they have already gone through the preceding tutorials from the [[Introduction - mIRC|mIRC Introduction]] page, all the way leading up to '''Dialogs'''
 
The scope of this article is to generally familiarize users with the term '''dialogs''', and what exactly it is they are used for within mIRC. Since these components are geared towards more advanced scripters, beginners should make sure they have already gone through the preceding tutorials from the [[Introduction - mIRC|mIRC Introduction]] page, all the way leading up to '''Dialogs'''
  
== Two types of dialog ==
+
=== Two types of dialog ===
  
 
They are two type of dialog, modeless dialog and modal dialog, modeless dialog.
 
They are two type of dialog, modeless dialog and modal dialog, modeless dialog.
Line 25: Line 24:
 
mIRC also has modeless dialog, such as the mIRC Options dialog (alt + o).
 
mIRC also has modeless dialog, such as the mIRC Options dialog (alt + o).
  
You can create both custom modal and modeless dialog.
+
== Modeless dialog ==
 +
 
 +
You can create a modeless dialog using the {{mIRC|/dialog}} command with the -m switch, there are others switch that can be used at creation and after the creation of the dialog to change various states.
 +
 
 +
<source lang="mIRC">
 +
/dialog -m <name> <table>
 +
</source>
 +
 
 +
<name> is the name used to reference the instance of the dialog (you can run multiple instance of the same dialog at the same time)
 +
<table> is the name of the dialog dialog table to use
 +
 
 +
== Modal dialog ==
 +
 
  
== Creating a dialog table ==
+
=== Creating a dialog table ===
  
 
Custom dialogs are created by defining a dialog table, the content of that table represents the look of the dialog, the controls etc, a table is defined by using the <dialog> keyword:
 
Custom dialogs are created by defining a dialog table, the content of that table represents the look of the dialog, the controls etc, a table is defined by using the <dialog> keyword:
Line 66: Line 77:
 
* Others elements are used to create controls, see the [[Dialog Components - mIRC|dialog Components page]]
 
* Others elements are used to create controls, see the [[Dialog Components - mIRC|dialog Components page]]
  
== Modeless dialog ==
 
 
You can create a modeless dialog using the {{mIRC|/dialog}} command with the -m switch, there are others switch that can be used at creation and after the creation of the dialog to change various states.
 
 
<source lang="mIRC">
 
/dialog -m <name> <table>
 
</source>
 
 
<name> is the name used to reference the instance of the dialog (you can run multiple instance of the same dialog at the same time)
 
<table> is the name of the dialog dialog table to use
 
  
== Modal dialog ==
 
  
 
You can create a modal dialog using the {{mIRC|$dialog}} identifier with the following syntax:
 
You can create a modal dialog using the {{mIRC|$dialog}} identifier with the following syntax:
Line 97: Line 97:
  
  
== Others ==
+
=== Others ===
  
= Variables =
+
== Variables ==
  
 
You can use a variable name as a style for any control, the variable is set (global variable) with the value of that control when the dialog is closed:
 
You can use a variable name as a style for any control, the variable is set (global variable) with the value of that control when the dialog is closed:

Revision as of 16:20, 14 September 2014

Template:mIRC Guide

Dialogs make it possible to create custom dialog windows inside of mIRC. The /dialog command is the key way to opening new dialogs, and the Dialog components are the objects within the dialog, such as buttons, labels, etc.

What dialogs are

Dialogs are simply graphical user interfaces that present options to a user's screen in a graphical form. For instance, a web browser is display through its own dialog. Windows users may have used applications such as notepad, or Microsoft Word. All of these applications use dialogs, or forms of graphical user interfaces to present their applications in an appealing form.

mIRC Dialogs

mIRC dialogs are created by users through custom scripts. Through these dialog interactions, the dialogs adhere to an event listener, the ON DIALOG event. Through this event, all aspects of the custom dialogs, as well as their controls, can be monitored, tracked, and modified.

Scope

The scope of this article is to generally familiarize users with the term dialogs, and what exactly it is they are used for within mIRC. Since these components are geared towards more advanced scripters, beginners should make sure they have already gone through the preceding tutorials from the mIRC Introduction page, all the way leading up to Dialogs

Two types of dialog

They are two type of dialog, modeless dialog and modal dialog, modeless dialog.

Modals dialog are dialog which block the current script execution, you cannot access others windows, usually used to get a quick user input. mIRC has built-in modals dialog, $?'s famillies and $input are modals dialogs.

Modeless dialog can be opened indefinitely and does not halt the script execution. mIRC also has modeless dialog, such as the mIRC Options dialog (alt + o).

Modeless dialog

You can create a modeless dialog using the /dialog command with the -m switch, there are others switch that can be used at creation and after the creation of the dialog to change various states.

/dialog -m <name> <table>

<name> is the name used to reference the instance of the dialog (you can run multiple instance of the same dialog at the same time)

is the name of the dialog dialog table to use

Modal dialog

Creating a dialog table

Custom dialogs are created by defining a dialog table, the content of that table represents the look of the dialog, the controls etc, a table is defined by using the <dialog> keyword:

dialog -l <name> { title "text" icon filename, index size x y w h option type (dbu, pixels, notheme, disable) text "text", id, x y w h, style (right, center, nowrap) edit "text", id, x y w h, style (right, center, multi, pass, read, return, hsbar, vsbar, autohs, autovs, limit N, rich) button "text", id, x y w h, style (default, ok, cancel, flat, multi) check "text", id, x y w h, style (left, push, 3state) radio "text", id, x y w h, style (left, push) box "text", id, x y w h, style scroll "text", id, x y w h, style (top left bottom right horizontal range N N) list id, x y w h, style (sort, extsel, multsel, size, vsbar, hsbar, check, radio) combo id, x y w h, style (sort, edit, drop, size, vsbar, hsbar) icon id, x y w h, filename, index, style (noborder top left bottom right small large actual) link "text", id, x y w h tab "text", id, x y w h tab "text", id menu "text", menuid [, menuid] item "text", id [, menuid] item break, id [, menuid] }

The -l switch makes the table local, only that script file can open it. <name> is the name of table which will be used to create an instance of that dialog

  • title - Optional, can be used to set the text displayed in the titlebar of the dialog
  • icon - Optional, can be used to set the icon of the dialog, the filename parameter is the filename to use for the icon, the index parameter can be used to specify the Nth icon from a file
  • size - Required, set the size of the dialog, you can use -1 for any of the x, y, w and h parameter to specify a default position, x and y sets as -1 should center the dialog in the window
  • option - Can be used to set different options for the dialog, type is a space seperated list of options:
    • dbu - This option will ensure the dialog looks the same under any size display using dialog base units
    • pixels - This option is set by default if you don't use the dbu option, it uses simple pixels value to display
    • notheme - This option prevents mIRC from applying a your current windows theme to the dialog
    • disable - This option can use used to wait a bit before the controls in the dialog can be used, preventing accidents
  • Others elements are used to create controls, see the dialog Components page


You can create a modal dialog using the $dialog identifier with the following syntax:

$dialog(name,table[,parent])

  • name - The name used to reference the instance of the dialog
  • table - The name of the dialog table to use
  • parent - Optional, this can be a window name or:
    • -1 - Desktop window
    • -2 - Main mIRC window
    • -3 - Current active window
    • -4 - Current active dialog if no dialog is open
    • The default is -3.

Any control can be used in the dialog with the "result" style, the value returned by $dialog is be the value of that control.

Note: Since modal dialog block the current script execution, you cannot call $dialog that way from remote script event.


Others

Variables

You can use a variable name as a style for any control, the variable is set (global variable) with the value of that control when the dialog is closed:

edit "", 2, 10 10 100 20, autohs %myedit

See Also