Some dialogs commonly used in Lazarus applications. Look at the Procedures as well as the Classes Constants to define the types of message dialogs. Constants to define possible buttons on a dialog. Set of button messages for dialogs A "set" constant to show a Yes, a No and a Cancel button on a messagedialog. A "set" constant to show a Yes, a No and a Cancel button on a messagedialog. A "set" constant to show a Yes and a No button on a messagedialog. A "set" constant to show a Yes and a No button on a messagedialog. A "set" constant to show an OK and a Cancel button on a messagedialog. A "set" constant to show an OK and a Cancel button on a messagedialog. A "set" constant to show an Abort, a Retry and an Ignore button on a messagedialog. A "set" constant to show an Abort, a Retry and an Ignore button on a messagedialog. A constant array used to convert the kind of message buttons to the kind of BitButton. This array gives you for each possible button type in a messagebox the corresponding kind of BitButton.
For instance MsgDlgBtnToBitBtnKind[mbYes] has the value of bkYes.
It is the reverse of BitBtnKindToMsgDlgBtn.
A constant array used to convert the kind of BitButton to the kind of message buttons. This array gives you for each BitButton the corresponding type of button on a message dialog. For instance BitBtnKindToMsgDlgBtn[bkOK] has the value of mbOK. It is the reverse if MsgDlgBtnToBitBtnKind. TCommonDialog : the base type from which other dialogs are derived TCommonDialog: the base type from which all other dialogs are derived.
Use the "Create" method to make an instance of the dialog,
the "Execute" method to show it to the user
and the "Close" method to release it and free the used resources.
The function that actually takes care of executing the dialog Returns True if the correct exit button was pressed FCompStyle - local variable holding the style Create - constructor for TCommonDialog: calls inherited Create and adds default Title TComponent.Create The owner of the dialog: the component that called it A public method causing the dialog box to appear, offer the relevant choices to the user and act upon the choice Use the execute method of a dialog to show it
and then check the result to see if the user made a valid choice and pressed the OK button.
Returns True if the user pressed the OK button Operating system Handle for the dialog UserChoice - the value selected by the user Close the dialog and return the memory used DoShow - the procedure that actually takes care of showing the dialog box DoCanClose - software emulation of the OnCanClose event DoClose - software emulation of the OnClose event HandleAllocated - returns True if a handle has been allocated Event Handler for closing the dialog Event Handler when dialog is able to be closed Event handler for showing the dialog HelpContext - an index to the context-dependent help message for this dialog The width of the dialog box The height of the dialog box The Title or Caption to be shown at the top of the dialog box TFileDialog : allows selection of a file from the current directory.

TFileDialog : allows selection of a file from the current directory.

This is also the base class for the Open and Save (As) dialogs

GetFilterIndex - returns the Index value for the filename filter SetFileName - specifies the filename in the file dialog SetFilter - specifies the Filter for use in filename searching SetHistoryList - specifies a list of strings that have been used in searching Create - constructor for TFileDialog: calls inherited Create, makes stringlists for files and history, initialises filter index TCommonDialog.Create Destroy - destructor for TFileDialog: frees file and history lists then calls inherited Destroy DoTypeChange - perform the code for the OnTypeChange event Stringlist which stores the names of the selected files. HistoryList - stringlist containing the names of files recently accessed IntfFileTypeChanged - interface method for file type change Sets the default file extension for the file dialog box. String storing the name of the file chosen by the user as UTF8. If you need the filename as system encoded, you can use UTF8ToSys from the unit FileUtil. A string which contains possible filename filters (eg .doc, .xmp, .pas etc). This is a string which contains the filters a user can choose from.
The available filters and their description are separated by pipe symbols.
To set this property during runtime assign a value like: "All files|*.*|Lazarus Project files|*.lpr"
An entry can contain multiple masks separated by semicolon, e.g. "Pascal units|*.pas;*.pp;*.p"
This property sets which file filter is the default. This property sets which file filter is the default. For example, set this property to 2 to set the second filter as default. Set the directory the dialog shows on opening. Event handler when the Help button is clicked Event Handler when the selected file type is changed TOpenOption - a list of possible options which can be used in OpenDialog

TOpenOption - a list of possible options which can be used in OpenDialog

ofReadOnly,
    ofOverwritePrompt, // if selected file exists shows a message, that file
                       // will be overwritten
    ofHideReadOnly,    // hide read only file
    ofNoChangeDir,     // do not change current directory
    ofShowHelp,        // show a help button
    ofNoValidate,
    ofAllowMultiSelect,// allow multiselection
    ofExtensionDifferent,
    ofPathMustExist,   // shows an error message if selected path does not exist
    ofFileMustExist,   // shows an error message if selected file does not exist
    ofCreatePrompt,
    ofShareAware,
    ofNoReadOnlyReturn,// do not return filenames that are readonly
    ofNoTestFileCreate,
    ofNoNetworkButton,
    ofNoLongNames,
    ofOldStyleDialog,
    ofNoDereferenceLinks,// do not expand filenames
    ofEnableIncludeNotify,
    ofEnableSizing,    // dialog can be resized, e.g. via the mouse
    ofDontAddToRecent, // do not add the path to the history list
    ofForceShowHidden, // show hidden files
    ofViewDetail,      // details are OS and interface dependent
    ofAutoPreview      // details are OS and interface dependent
TOpenOptions - set of TOpenOption TOpenDialog : open a file in the current directory, selected by File Dialog. TOpenDialog : open a file in the current directory, selected by File Dialog.
If the required file is not in the current directory, another directory can be selected with Select Directory
DereferenceLinks - removes all existing referential links CheckFile - returns True if the nominated file meets all requirements. CheckFileMustExist - returns True if a file with the supplied name actually exists A protected method which calls CheckFile for each selected file, returns True if all are OK Create - constructor for TOpenDialog: calls inherited Create then loads default options TFileDialog.Create DoFolderChange - execute the code for a folder change DoSelectionChange - execute the code for a change in selection Options to be used for this dialog Options to be used for the Open File dialog. A full list of available options is found in Event triggered when the user changes the folder in the OpenDialog. This event is called when the user changes the folder (directory) in the OpenDialog.
Note: changing the folder will also trigger the OnSelectionChange event.
Event triggered when the user changes the selection made in the OpenDialog. This event is triggered when the user changes the selected file in the OpenDialog.
Note: When the user changes the folder OnSelectionChange will be called first.
TSaveDialog - Dialog for saving the current buffer to a file Save Dialog: invoked when the application requires to save a file.
If the file is already open or a filename has been specified, then the current buffer is written to that file;
if no file is specified, the Save File As dialog is invoked and the buffer is saved to that file.
Select Directory Dialog Select Directory Dialog: allows the user to select a directory when the directory structure is displayed as a tree. TDirectoryEdit TColorDialog - dialog for selecting a colour to use in graphics and text Colour Dialog: presents a palette of colours to allow the user to select the required colour for text or graphics.
Call the Execute function to show the color dialog.
Internal property to store the value of the chosen color. TCommonDialog.Create Create - constructor for TColorDialog: calls inherited Create, makes stringlist for colours and gets colour values You can set the caption of the color dialog by changing this property. Color the colour that is selected by the dialog (a value may have been pre-set and may be accepted, but a new value can be chosen) When the Color dialog has been shown and the user pressed OK, the FColor property contains the chosen color. TColorButton - a SpeedButton designed to be used with the Color dialog, allowing a colour to be selected for text or graphics

TColorButton - a SpeedButton designed to be used with the Color dialog, allowing a colour to be selected for text or graphics

To use the ColorButton, first select the ColorButton icon from the Component Palette and place it on the Form Designer in the location you want it to occupy, then place a TColorDialog on the Form Designer, give it a name (or accept the default name) and select this named dialog as the ColorDialog property in the Object Inspector for the ColorButton.

The default appearance of the ColorButton is a rectangle containing a colour; if you wish to include a caption beside the block of colour, you may need to adjust the size of the control to accommodate the text, and you can then enter some text in the Caption property of the ColorButton; this text will appear next to the colour block.

After compilation, at runtime the ColorButton is visible with a default or preselected ButtonColor in the block, and any optional caption beside it; the ColorDialog is not visible until the ColorButton is clicked, when the ColorDialog pops up and offers a choice of colours, either from a list or a palette, and if the user makes a selection and closes the dialog by pressing OK, the ColorButton will display the colour that was chosen in the ColorDialog

Note that in the context of ColorButton, properties with the name ButtonColor refer to the colour that has been selected and is displayed in the colour block; properties entitled Color without 'Button' attached refer to the colour of the control itself, usually the same as the background or the default button face colour

ShowColorDialog - method for displaying the Colour dialog GetGlyphSize - returns the value of the size for glyphs on the button DrawGlyph - draw the glyph on the button face Create - constructor for TColorButton; calls inherited Create , sets initial bounds, size and pattern TCustomSpeedButton.create BorderWidth - the width of the button's borders ButtonColorAutoSize - returns True if the block displaying button colour is to be autosized ButtonColorSize - the size of the button colour block ButtonColor - the colour that has been selected by the ColorDialog and is displayed in the button The ColorDialog that opens when the button is activated Caption - a string that can be placed beside the block of colour The Color of the control itself, ie the parts that are not the colour display block; edges, background etc OnColorChanged - event handler for a change in button colour An enumerated list of constants to set the options of a Font dialog. A set of options for font dialogs Font Dialog Font Dialog: opens a dialog allowing choice of a font for textual displays A private method which sets the font of the dialog. ApplyClicked - software emulation of the OnApplyClicked event Property to store the chosen font. MinFontSize - minimum size for the font MaxFontSize - maximum size for the font A set of options available from TFontDialogOptions OnApplyClicked - event handler for a click on the Apply button (ie the user wishes to apply the selected font) The text displayed as an example in the preview pane of the dialog, using the selected font As a standard, the preview plane of the dialog
shows all letters both in uppercase and lowercase.
A list of possible options which can be used in Find-dialogs. A list of possible options which can be used in Find-dialogs. If set the "Down" radiobutton is selected. This option will be set when the user presses "Find Next" If set the "Match case" checkbox is hidden from the Find dialog If set the "Whole word" checkbox is hidden from the Find dialog If set the "Up" and "Down" radiobuttons are hidden from the Find dialog This flag is set when the user checks the "Match case" checkbox. If set the "Match case" checkbox is disabled in the Find dialog If set the "Up" and "Down" radiobuttons are disabled in the Find dialog If set the "Whole word" checkbox is disabled in the Find dialog This flag is set if only the first occurence of the search string is to be replaced with the replace string. This flag is set if all occurences of the search string are to be replaced with the replace string. This flag is set when the user checks the "Whole word" checkbox. If set the dialog will display a help button. This flag is set when the user checks the "Prompt on replace" checkbox. If set the "Prompt on replace" checkbox is hidden from the Find dialog. A set of TFindOption TFindDialog - a dialog used for finding text within the current editor or text buffer Opens a dialog box allowing the user to enter text for searching, for example in a text editor.
As TFindDialog is the parent class for the TReplaceDialog,
it contains definitions for the Replace method,
but the Replace option does not actually appear when the dialog is displayed:
you need to use TReplaceDialog to do that
FFindForm - local variable holding the form used for the Find dialog FOnReplace - local variable identifying the event handler for replacing FOnFind - local variable identifying the event handler for finding FOptions - local variable holding the set of current options FOnHelpClicked - local variable identifying the help event handler FReplaceText - local variable holding the Replace text FFindText - local variable containing the text to be found FindClick - method for execution when the Find button is clicked HelpClick - method to execute when the Help button is clicked CancelClick - method to execute when the Cancel button is clicked UpdatePosition - method to update the position of the cursor within the document in which text is being sought DoCloseForm - execute the code for closing the Find/Replace dialog form Find - software emulation of the OnFind event Help - software emulation of the OnHelpClicked event Replace - software emulation of the OnReplace event CreateForm - function result returns the form that was created SetFormValues - specifies the values for the form GetFormValues - finds the values for the form ReplaceText - the text string that is to be substituted for the Find text OnReplace - event handler for replacing text Create - constructor for TFindDialog: calls inherited Create and sets initial options for Find only TComponent.Create TCommonDialog.Create CloseDialog and returns its resources The Left side of the dialog display The Position of the dialog display the Top of the dialog display FindText - the text string that the dialog will try to find The current Options for the seeking and replacing process OnFind - event handler for a click on the Find button OnHelpClicked - event handler for a click on the Help button A dialog allowing the user to replace text The dialog appears and offers boxes for the user to enter text for searching and text to replace it,
for example while editing a file or large piece of text.
A number of buttons appear, offering the choice to replace this instance, find next, replace all
ReplaceClick - code to execute when the Replace button is clicked (replace just the current instance) ReplaceAllClick - code to execute when the Replace All button is clicked (replace all remaining instances) Create - constructor for TReplaceDialog: calls inherited Create and sets options for find and replace TFindDialog.Create Base class for TPrinterSetupDialog and TPageSetupDialog. Enumerated type for range of pages to print. Print all pages. Print the selected range of pages. Print the selection of individual pages. Print the current page. Enumerated type for available options for print dialogs A set of options for the print dialog TCustomPrintDialog - base class for TPrintDialog. If True, printer will be asked to Collate pages if multiple copies are produced Number of Copies of the document FromPage - first page of selection for printing MinPage - smallest number of page in print range MaxPage - highest number of page in print range The seet of Options for printing PrintToFile - if True, printing is spooled to a file instead of the printer PrintRange - the range of pages for printing ToPage - the final page number in the range for printing Message Dialog Show a message to the user and receive his response.
There are four versions of this function.
The first version displays a dialog with the standard caption,
the second, third and fourth versions enable you to set the caption.

The third version allows for a Default button;
the fourth version contains a help keyword instead of using context-based help.

If the first 'Caption' argument is missing, no caption is shown on the box.

This is the most complete and elaborate of the message dialogs,
and allows the programmer considerable control over the appearance of the dialog box.

The arguments defining the kind of box and its icon are types rather than integer constants,
and the buttons can be specified as a set in square brackets
eg [mbRetry, mbIgnore, mbAbort, mbCancel].

The HelpCtx argument allows the use of Context Help

The return value from the Function is the identity of the button pressed,
expressed as an integer (see the constant definitions in TControl , [mrNone..mrAll]).
If the user clicks the [X]-bordericon, the return value will be mrCancel.
If the user presses the escape key, the result depends on the widgetset:
- if the widgetset has implemented a native dialog, the result will be mrCancel.
- otherwise the result will be mrCancel, mrNo or mrOk (in that order) if mbCancel, mbNo or mbOk is present (the dialog will not close (when the Escape key is pressed) if none of these buttons are present).
The result of this function is either the button the user pressed to close the dialog, or mrCancel. The result of this function is the button the user pressed to close the dialog.
This is expresed as an integer.
If the user clicks the [X]-bordericon, the return value will be mrCancel.
If the user presses the escape key, the result depends on the widgetset:
- if the widgetset has implemented a native dialog, the result will be mrCancel.
- otherwise the result will be mrCancel, mrNo or mrOk (in that order) if mbCancel, mbNo or mbOk is present (the dialog will not close (when the Escape key is pressed) if none of these buttons are present).
The message to be shown. The message shown to the user. The type of dialog to be shown The DlgType parameter indicates the type of dialog to show.
You can choose from
mtWarning, mtError, mtInformation, mtConfirmation or mtCustom.
Determines the buttons shown on the messagedialog Buttons indicate which set of button captions have to be shown on the dialog.
You can choose from predefined sets:
mbAbortRetryIgnore,
mbOKCancel,
mbYesNo, mbYesNoCancel,
or you can make your own set.
HelpCtx is used to specify which topic from the help should be shown. HelpCtx is used to specify which topic from the help should be shown. Used to set the caption of the messagedialog. Sets the caption of the messagedialog shown by this function. An extended MessageDlg function. This function performs the same function as the MessageDlg function.
It has been extended with parameters to place the dialog on a certain postion on the screen instead of in the centre of the screen.
The MessageDlgPos function does not enable you to choose the caption of the dialog.
The result of this function is either the button the user pressed to close the dialog, or mrCancel. The result of this function is the button the user pressed to close the dialog.
This is expresed as an integer.
If the user clicks the [X]-bordericon, the return value will be mrCancel.
If the user presses the escape key, the result depends on the widgetset:
- if the widgetset has implemented a native dialog, the result will be mrCancel.
- otherwise the result will be mrCancel, mrNo or mrOk (in that order) if mbCancel, mbNo or mbOk is present (the dialog will not close (when the Escape key is pressed) if none of these buttons are present).
The message to be shown. The message shown to the user. The type of dialog to be shown The DlgType parameter indicates the type of dialog to show.
You can choose from
mtWarning, mtError, mtInformation, mtConfirmation or mtCustom.
Determines the buttons shown on the messagedialog Buttons indicate which buttons have to be shown on the dialog.
You can choose from predefined sets:
mbAbortRetryIgnore,
mbOKCancel,
mbYesNo,
mbYesNoCancel,
or you can make your own set.
HelpCtx is used to specify which topic from the help should be shown. HelpCtx is used to specify which topic from the help should be shown. X specifies the position of the left side of the dialog X specifies the position of the left side of the dialog. Y specifies the position of the top side of the dialog Y specifies the position of the top side of the dialog An extended MessageDlgPos function. This function enables you to specify a Helpfile which has to be shown when the user presses F1. The result of this function is either the button the user pressed to close the dialog, or mrCancel. The result of this function is the button the user pressed to close the dialog.
This is expresed as an integer.
If the user clicks the [X]-bordericon, the return value will be mrCancel.
If the user presses the escape key, the result depends on the widgetset:
- if the widgetset has implemented a native dialog, the result will be mrCancel.
- otherwise the result will be mrCancel, mrNo or mrOk (in that order) if mbCancel, mbNo or mbOk is present (the dialog will not close (when the Escape key is pressed) if none of these buttons are present).
The message to be shown. The message shown to the user. The type of dialog to be shown The DlgType parameter indicates the type of dialog to show.
You can choose from
mtWarning, mtError, mtInformation, mtConfirmation or mtCustom.
Determines the buttons shown on the messagedialog Buttons indicate which buttons have to be shown on the dialog.
You can choose from predefined sets:
mbAbortRetryIgnore,
mbOKCancel,
mbYesNo,
mbYesNoCancel,
or you can make your own set.
HelpCtx is used to specify which topic from the help should be shown. HelpCtx is used to specify which topic from the help should be shown. X specifies the position of the left side of the dialog X specifies the position of the left side of the dialog Y specifies the position of the top side of the dialog Y specifies the position of the top side of the dialog The Helpfile that has to be shown when the user presses F1 The name of the helpfile to be shown when the user presses F1 in the dialog. Show a question to the user and get a response

QuestionDlg has the same functionality as MessageDlg except for the parameter Buttons which is of a different type.
You can define your own captions and return values of this function.

Buttons is a list of TModalResult (defined as constants [mrNone..MrYesToAll] in ) and strings.
For each TModalResult a button is created.
To set a custom caption, add a string after a button. You can use the special string parameters 'isdefault' and 'iscancel' to setup the default and cancel buttons.

The default TModalResults defined in controls.pp (mrNone..mrLast) don't need a caption. The default captions will be used.

You can mark one default button using the 'IsDefault' option. When the user presses 'Return' this button is triggered.

Some widgetsets provide an Escape key and/or a close button. This results in mrCancel even if it is not in the given button list. Use the 'IsCancel' option to redirect it to a button of your choice. You can combine 'IsDefault' and 'IsCancel'.

case QuestionDlg('COPYING',
                   'Abort?',
                   mtConfirmation,
                   [mrNo, '&No','IsDefault',
                   mrYes,'&Yes'],0) 
of
   mrYes : ShowMessage('You clicked Yes');
   mrNo : ShowMessage('You clicked No');
else
  // mrCancel
  ShowMessage('You cancelled the dialog.');
end;
The result of this function is the button the user pressed to close the dialog. The result of this function is the button the user pressed to close the dialog. Used to set the caption of the question dialog. Set the caption of the question dialog shown by this function. The question to be shown. The question the user has to answer. The type of dialog to be shown in fact which icon will be shown. An array of return values and caption for the buttons on the question dialog. Buttons is defined as a array of const.
This means you can define any number of buttons to be shown.
If your array consists of only predefined return values like mrOK and mrCancel,
the standard OK and Cancel buttons will be shown.

The strength of this function is however that you can fill the array like:
[400, 'Yes!!!', 401, 'Are you mad?', 402, 'My mistake'],
which will create a dialog with three buttons;
the captions of the buttons will be the strings given in the array.
The return value of the function will be 400, 401 or 402,
depending on whether the user clicked the 'Yes!!!', the 'Are you mad?' or the 'My mistake' button.
HelpCtx is used to specify which topic from the help should be shown. HelpCtx is used to specify which topic from the help should be shown. Show Message Procedure ShowMessage (const Msg: string);
The simplest message dialog: takes a simple string as argument,
displays it in a stereotyped box,
and waits for a mouse-click or enter-key event
before returning to the calling routine or program.

This is a modal procedure call,
that is the box is displayed, receives focus,
and does not relinquish focus until the OK box is clicked or otherwise selected.

A string constant containing the message to be shown. A string constant containing the message to be shown. Shows a message assembled from a format string and an array of arguments. This procedure is an extension to the ShowMessage procedure. The parameters it takes are the same as the Format function. The format string The parameters to be inserted in the message. Shows a message box at a given screen position. Shows a message box at a given screen position. A string constant which is the message to ne shown. The horizontal position of the messagebox. The vertical position of the messagebox. Use InputQuery to show a dialog box to get some input from the user

Two versions of this function which displays a prompt and expects user input of textual data;

The first includes a MaskInput boolean argument
which determines whether the user input is masked out by asterisks in the text-input box
(like during entry of a password),
the second omits this property.

The text entered by the user is returned in the variable argument 'Value'. The function result is a boolean which returns TRUE if the OK button was pressed, or FALSE if the box was closed by any other mechanism (such as clicking the 'Close' icon on the top title bar).

Omitting the MaskInput argument is equivalent to setting it FALSE.

Returns True of OK button was pressed, False if Cancel was pressed or abnormal exit Result is True if the user pressed OK or hit RETURN in the dialog box. If the user pressed Cancel or the dialog was closed without pressing a button the result will be false. The caption for the dialogbox The text asking the user for his input. Determines if the dialog shows *s or the actual input. Set MaskInput to true if you want to hide the input and display asterisks. The value the user entered. When the DialogBox is shown the text in the Editbox will be Value.
This string can be altered or amended by the user.
When ENTER is pressed or OK clicked, Value will be the (possibly amended) text from the Editbox.
Displays a box with defined title and prompt, and expects user input in a text box

. A default string can optionally be displayed in the text box. The user-entered or default string is returned as the function result.

If the user selects the OK button, the text in the text box is returned. If the user selects the Cancel button, the default string is returned.

The result of this function is the string the user entered in the editbox or the default string . The caption for the dialogbox . The text asking the user for his input . Default value for dialog box The value of the editbox in the dialog will have this value. Password Box PasswordBox: a specialised form of the InputQuery.
The editbox on the dialog box will mask the input.
The only parameters are aCaption and aPrompt.
Behaves very similarly to the InputQuery function with MaskInput = TRUE;
the difference is that the password that was typed in is returned as the result of the function (like InputBox).
The string the user entered. The caption for the dialog A prompt to ask for the users input. List of options available when selecting a directory Set of directory selection options A function that allows one to user to select a directory. This function will show a dialog which allows the user to select the required directory when the directory structure is displayed as a tree.
Under Windows the caption from the resulting dialog cannot be set, but the label above the directory tree will have this value.
There are two version of this function, the second one having the ability to indicate whether hidden folders should be shown as well.
A boolean indicating if the user pressed OK. A boolean indicating if the user selected a directory and pressed OK. A constant which sets the caption of the shown dialog. A constant which sets the caption of the shown dialog. The directory the dialog should start in. The directory the dialog should start in.
If a valid directory is given, the selected directory in the tree will be set to this directory.
A variable which on exit contains the selected directory. A variable which on exit contains the selected directory. A boolean constant indicating whether hidden folders should be shown too. A boolean constant indicating whether hidden folders should be shown too. Register the components used in the current application, so that they can be recognised DefaultTitle - returns the default title for a dialog Destroy - destructor for TColorDialog: frees custom colours then calls inherited Destroy CustomColors - a customised list of colours that can be used instead of the system-supplied list GetDisabledPattern - returns a BitMap with a disabled pattern Extracts all file masks from a filter Find position of a mask in the given filter