Contents Up Previous Next

Fonctions boites de dialogue

Voici un certain nombre de fonctions pratiques pour obtenir une information de l'utilisateur ou afficher des messages. Notez que dans ces fonctions, les trois derniers paramètres sont optionnels. toutefois, il est recommandé de passer un paramètre frame parente, ou (sous MS Windows ou Motif) la mauvaise fenêtre sera portée à l'avant-plan quand la boite de dialogue apparaît..

::wxAboutBox
::wxBeginBusyCursor
::wxBell
::wxCreateFileTipProvider
::wxDirSelector
::wxFileSelector
::wxEndBusyCursor
::wxGenericAboutBox
::wxGetColourFromUser
::wxGetFontFromUser
::wxGetMultipleChoices
::wxGetNumberFromUser
::wxGetPasswordFromUser
::wxGetTextFromUser
::wxGetMultipleChoice
::wxGetSingleChoice
::wxGetSingleChoiceIndex
::wxGetSingleChoiceData
::wxIsBusy
::wxMessageBox
::wxShowTip


::wxAboutBox

void wxAboutBox(const wxAboutDialogInfo& info)

Cette fonctions affiche la boite de dialogue "A propos" standard, contenant les informations spécifiées dans info. Si la plateforme courante possède une boite de dialogue "A propos" native qui est capable d'afficher tous les champs dans info, la boite de dialogue native est utilisée, sinon, la fonction se rabat sur la version générique de cette boite de dialogue, par exemple, elle fait la même chose que wxGenericAboutBox().

Voici un exemple d'utilisation de cette fonction:

void MyFrame::ShowSimpleAboutDialog(wxCommandEvent& WXUNUSED(event))
{
    wxAboutDialogInfo info;
    info.SetName(_("My Program"));
    info.SetVersion(_("1.2.3 Beta"));
    info.SetDescription(_("This program does something great."));
    info.SetCopyright(_T("(C) 2007 Me <my@email.addre.ss>"));

    wxAboutBox(info);
}
Voir aussi les exemples de boites de dialogues pour plus d'exemples sur la façon d'utiliser cette fonction et wxAboutDialogInfo pour la description des informations qui peuvent êtres montrées dans cette boite de dialogue.

Fichiers à inclure

<wx/aboutdlg.h>


::wxBeginBusyCursor

void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR)

Change le curseur et affiche le curseur passé en paramètre pour toutes les fenêtres de l'application. Utilisez wxEndBusyCursor pour ramener le curseur à son état précédent. Ces deux appels peuvent être imbriqués, et un compteur s'assure que seul l'appel extérieur prenne effet.

Voir aussiwxIsBusy, wxBusyCursor.

Fichiers à inclure

<wx/utils.h>


::wxBell

void wxBell()

Sonne la cloche système.

Fichiers à inclure

<wx/utils.h>


::wxCreateFileTipProvider

wxTipProvider * wxCreateFileTipProvider(const wxString& filename, size_t currentTip)

Cette fonction crée un wxTipProvider qui peut être utilisé avec wxShowTip.

filename

currentTip

Voir aussi

Vue d'ensemble des Tips

Fichiers à inclure

<wx/tipdlg.h>


::wxDirSelector

wxString wxDirSelector(const wxString& message = wxDirSelectorPromptStr,
const wxString& default_path = "",
long style = 0, const wxPoint& pos = wxDefaultPosition,
wxWindow *parent = NULL)

Affiche une boite de dialogue de sélection de répertoire. Les paramètres ont la même signification que ceux de wxDirDialog::wxDirDialog(). Le message est affiché au sommet, et le chemin par défaut, s'il est spécifié, et mis comme sélection initiale.

L'application doit vérifier le cas d'une valeur de retour vide (si l'utilisateur a appuyé sur Annuler). Par exemple :

const wxString& dir = wxDirSelector("Sélectionner un répertoire");
if ( !dir.empty() )
{
  ...
}
Fichiers à inclure

<wx/dirdlg.h>


::wxFileSelector

wxString wxFileSelector(const wxString& message, const wxString& default_path = "",
const wxString& default_filename = "", const wxString& default_extension = "",
const wxString& wildcard = "*.*", int flags = 0, wxWindow *parent = NULL,
int x = -1, int y = -1)

Affiche une boite de dialogue de sélection de fichier. Sous Windows, il s'agit de la boite commune de sélection de fichier. Sous X, il s'agit d'une boite de dialogue avec les même contionnalités. Le chemin et le nom de fichier sont des éléments distincts d'un emplacement de fichier complet. Si path est vide, le répertoire courant sera utilisé. Si filename est vide, aucun nom de fichier par défaut ne sera fourni. Les jockers (wilcards) déterminent quels fichiers sont affichés dans le sélecteur de fichiers, et l'extension de fichier (file extension) fourni un type d'extension pour le nom de fichier recquis. Le paramètre flags peut être une combinaison des valeurs wxFD_OPEN, wxFD_SAVE, wxFD_OVERWRITE_PROMPT ou wxFD_FILE_MUST_EXIST. Notez que wxFD_MULTIPLE ne peut être utilisé qu'avec wxFileDialog et non ici, car cette fonction ne retourne qu'un seul nom de fichier.

Les deux versions Windows et Unix implémentent un filtre par jockers. Entrer un nom de fichier contenant les jockers (*, ?) dans l'élément texte nom de fichier, et cliquer sur Ok, va faire en sorte que seuls les fichiers correspondants seront affichés.

Le jocker peut être une spécification pour plusieurs types de fichiers avec une description pour chacun, comme:

 "Fichiers BMP (*.bmp)|*.bmp|Fichiers GIF (*.gif)|*.gif"
L'application doit vérifier le cas d'une valeur de retour vide (l'utilisateur a pressé Annuler). Par exemple :

wxString filename = wxFileSelector("Sélectionnez le fichier à ouvrir");
if ( !filename.empty() )
{
    // travailler avec le fichier
    ...
}
//else: annulation par l'utilisateur
Fichiers à inclure

<wx/filedlg.h>


::wxEndBusyCursor

void wxEndBusyCursor()

Ramène le curseur au curseur original, pour toutes les fenêtres de l'application. A utiliser avec wxBeginBusyCursor.

Voir aussi wxIsBusy, wxBusyCursor.

Fichiers à inclure

<wx/utils.h>


::wxGenericAboutBox

void wxGenericAboutBox(const wxAboutDialogInfo& info)

Cette fonction fait la même chose que wxAboutBox excepté qu'elle utilise toujours la version wxWidgets générique de la boite de dialogue à la place de la native. Cela est surtout utile si vous avez besoin de personnaliser la boite de dialogue, par exemple en y ajoutant des contrôles personnalisés (la personnalisation de la boite de dialogue native n'est actuellement par supportée).

Voir l'exemple boites de dialogue pour un exemple de personnalisation de la boite de dialogue "A propos".

Voir aussi

wxAboutDialogInfo

Fichiers à inclure

<wx/aboutdlg.h>
<wx/generic/aboutdlgg.h>


::wxGetColourFromUser

wxColour wxGetColourFromUser(wxWindow *parent, const wxColour& colInit, const wxString& caption = wxEmptyString)

Affiche la boite de dialogue de sélection de couleur, et retourne la couleur sélectionnée par l'utilisateur ou une couleur invalide (utilisez wxColour:IsOk pour tester si une couleur est valide) si la boite de dialogue a été annulée.

Paramètres

parent

colInit

caption

Fichiers à inclure

<wx/colordlg.h>


::wxGetFontFromUser

wxFont wxGetFontFromUser(wxWindow *parent, const wxFont& fontInit, const wxString& caption = wxEmptyString)

Affiche la boite de dialogue de sélection de police et retourne la police sélectionnée par l'utilisateur ou une police invalide (utilisez wxFont:IsOk pour tester si une police est valide) si la boite de dialogue a été annulée.

Paramètres

parent

fontInit

caption

Fichiers à inclure

<wx/fontdlg.h>


::wxGetMultipleChoices

size_t wxGetMultipleChoices(
wxArrayInt& selections,
const wxString& message,
const wxString& caption,
const wxArrayString& aChoices,
wxWindow *parent = NULL,
int x = -1, int y = -1,
bool centre = true,
int width=150, int height=200)

size_t wxGetMultipleChoices(
wxArrayInt& selections,
const wxString& message,
const wxString& caption,
int n, const wxString& choices[],
wxWindow *parent = NULL,
int x = -1, int y = -1,
bool centre = true,
int width=150, int height=200)

Affiche une boite de dialogue contenant un message, les boutons OK/Annuler, et une zone de liste permettant la sélection multiple. L'utilisateur peut choisir un nombre arbitraire (zéro compris) d'éléments dans la zone de liste dont les indices seront retournés dans le tableau selection. Le contenu initial de ce tableau sera utilisé pour sélectionner les éléments à l'affichage de la boite de dialogue.

Vous pouvez passer la liste des éléments disponibles soit en utilisant choices qui est un tableau de n chaines de caractères, ou en utilisant un simple paramètre aChoices de type wxArrayString.

Si centre vaut true, le texte du message (qui peut contenir des caractères de retour à la ligne) est centré; sinon, le message est aligné à gauche.

Fichiers à inclure

<wx/choicdlg.h>

Note wxPerl: Avec wxPerl, il y a juste une référence vers un tableau à la place de n et choices, et il n'y a pas de paramètre selections; la fonction retourne un tableau contenant les sélections de l'utilisateur.


::wxGetNumberFromUser

long wxGetNumberFromUser( const wxString& message, const wxString& prompt, const wxString& caption, long value, long min = 0, long max = 100, wxWindow *parent = NULL, const wxPoint& pos = wxDefaultPosition)

Affiche une boite de dialogue demandant à l'utilisateur une entrée numérique. Le titre de la boite de dialogue est défini par caption. Ell contient un message (pouvant être) multi-ligne sous la simple ligne prompt et la zone pour saisir le nombre.

Le nombre saisi doit être compris entre les valeurs min et max (ces deux valeurs devant être positives) et value est la valeur initiale. Si l'utilisateur entre une valeur invalide ou annule la boite de dialogue, la fonction retournera -1.

La boite de dialogue est centrée sur la fenêtre parent sauf si une position explicite est donnée avec pos.

Fichiers à inclure

<wx/numdlg.h>


::wxGetPasswordFromUser

wxString wxGetPasswordFromUser(const wxString& message, const wxString& caption = "Input text",
const wxString& default_value = "", wxWindow *parent = NULL,
int x = wxDefaultCoord, int y = wxDefaultCoord, bool centre = true)

Similaire à wxGetTextFromUser mais le texte entré dans la boite de dialogue n'est pas affiché; il est remplacé par des étoiles. Cela est destiné à être utilisé pour la saisie de mots de passe, comme le nom de la fionction l'indique.

Fichiers à inclure

<wx/textdlg.h>


::wxGetTextFromUser

wxString wxGetTextFromUser(const wxString& message, const wxString& caption = "Input text",
const wxString& default_value = "", wxWindow *parent = NULL,
int x = wxDefaultCoord, int y = wxDefaultCoord, bool centre = true)

Affiche un boite de dialogue dont le titre est défini par caption, contenant un message et une valeur par défaut default_value. L'utilisateur peut entrer du texte et presser OK pour renvoyer ce texte, ou appuyer sur Annuler pour renvoyer une chaine de caractères vide.

Si centre vaut true, le texte du message (qui peut inclure des retours chariots) est centré, sinon, le message est aligné à gauche.

Fichiers à inclure

<wx/textdlg.h>


::wxGetMultipleChoice

int wxGetMultipleChoice(const wxString& message, const wxString& caption, int n, const wxString& choices[],
int nsel, int *selection, wxWindow *parent = NULL, int x = -1, int y = -1,
bool centre = true, int width=150, int height=200)

Affiche une boite de dialogue contenant un message, les boutons OK/Annuler, et une zone de liste permettant la sélection multiple. L'utilisateur peut choisir un ou plusieurs éléments et presser OK ou Annuler.

Le nombre d'éléments initialement sélectionnés, et un tableau des indices sélectionnés sont passés en apramètres; ce tebleau contiendra les sélections de l'utilisateur à la sortie, et la fonction retournera le nombre d'éléments sélectionnés. selection doit être aussi grand que le nombre de choix possibles, dans le cas où ils seraient tous sélectionnés.

Si Annuler est pressé, la valeur de retour est -1.

choices est un tableau de n chaines de caractères pour la zone de liste.

Si centre vaut true, le texte du message (qui peut inclure des retours chariots) est centré, sinon, le message est aligné à gauche.

Fichiers à inclure

<wx/choicdlg.h>


::wxGetSingleChoice

wxString wxGetSingleChoice(const wxString& message,
const wxString& caption,
const wxArrayString& aChoices,
wxWindow *parent = NULL,
int x = -1, int y = -1,
bool centre = true,
int width=150, int height=200)

wxString wxGetSingleChoice(const wxString& message,
const wxString& caption,
int n, const wxString& choices[],
wxWindow *parent = NULL,
int x = -1, int y = -1,
bool centre = true,
int width=150, int height=200)

Affiche une boite de dialogue contenant un message, les boutons OK/Annuler, et une zone de liste ne permettant qu'une simple sélection. L'utilisateur peut sélectionner un élément et presser OK pour retourner une chaine de caractères, ou Annuler pour retourner une chaine vide. Utilisez wxGetSingleChoiceIndex si une chaine vide est un choix valide, et si vous voulez être en mesure de détecter l'appui sur Annuler de façon sûre.

Vous pouvez passer une liste de chaines de caractères soit en utilisant choices qui est un tableau de n chaines de caractères pour la zone de liste, ou en utilisant un simple paramètre aChoices de type wxArrayString.

Si centre vaut true, le texte du message (qui peut inclure des retours chariots) est centré, sinon, le message est aligné à gauche.

Fichiers à inclure

<wx/choicdlg.h>

Note wxPerl: Avec wxPerl, il y a juste une référence vers un tableau à la place de n et choices.


::wxGetSingleChoiceIndex

int wxGetSingleChoiceIndex(const wxString& message,
const wxString& caption,
const wxArrayString& aChoices,
wxWindow *parent = NULL, int x = -1, int y = -1,
bool centre = true, int width=150, int height=200)

int wxGetSingleChoiceIndex(const wxString& message,
const wxString& caption,
int n, const wxString& choices[],
wxWindow *parent = NULL, int x = -1, int y = -1,
bool centre = true, int width=150, int height=200)

Comme wxGetSingleChoice mais retourne l'indice représentant l'élément sélectionné Si l'utilisateur a pressé Annuler, la valeur -1 est retournée.

Fichiers à inclure

<wx/choicdlg.h>

Note wxPerl: Avec wxPerl, il y a juste une référence vers un tableau à la place de n et choices.


::wxGetSingleChoiceData

wxString wxGetSingleChoiceData(const wxString& message,
const wxString& caption,
const wxArrayString& aChoices,
const wxString& client_data[],
wxWindow *parent = NULL,
int x = -1, int y = -1,
bool centre = true, int width=150, int height=200)

wxString wxGetSingleChoiceData(const wxString& message,
const wxString& caption,
int n, const wxString& choices[],
const wxString& client_data[],
wxWindow *parent = NULL,
int x = -1, int y = -1,
bool centre = true, int width=150, int height=200)

Comme wxGetSingleChoice mais utilise un tableau de pointeurs vers des données utilisateur correspondantes aux chaines de caractères, et retourne l'un de ces pointeurs ou NULL si Annuler a été pressé. Le tableau client_data doit avoir le même nombre d'éléments que choices ou aChoices!

Fichiers à inclure

<wx/choicdlg.h>

Note wxPerl: Avec wxPerl, il y a juste une référence vers un tableau à la place de n et choices, et le tableau de données clientes doit avoir la même taille que le tableau de choix.


::wxIsBusy

bool wxIsBusy()

Cette fonction renvoie true si elle est appelée entre deux appels à wxBeginBusyCursor et wxEndBusyCursor.

Voir aussi wxBusyCursor.

Fichiers à inclure

<wx/utils.h>


::wxMessageBox

int wxMessageBox(const wxString& message, const wxString& caption = "Message", int style = wxOK,
wxWindow *parent = NULL, int x = -1, int y = -1)

Boite de dialogue d'usage général. style peut être une combinaison des identifiant suivants:

wxYES_NO Affiche les boutons Oui er Non sur la boite de message. Peut être combiné avec wxCANCEL.
wxCANCEL Affiche un bouton Annuler sur la boite de message. Ne peut être combiné qu'avec wxYES_NO ou wxOK.
wxOK Affiche un bouton Ok sur la boite de message. Peut être combiné avec wxCANCEL.
wxICON_EXCLAMATION Affiche un point d'exclamation comme symbole.
wxICON_HAND Affiche un symbole d'erreur.
wxICON_ERROR Affiche un symbole d'erreur - identique à wxICON_HAND.
wxICON_QUESTION Affiche un point d'interrogation comme symbole.
wxICON_INFORMATION Affiche un symbole d'information.

La valeur retournée peut être wxYES, wxNO, wxCANCEL ou wxOK.

Par exemple:

  ...
  int answer = wxMessageBox("Quitter le programme ?", "Confirmez",
                            wxYES_NO | wxCANCEL, main_frame);
  if (answer == wxYES)
    main_frame->Close();
  ...
message peut contenir des caractères retour chariot, dans ce cas, le message sera coupé en lignes distinctes, pour l'affichage de long messages.

Fichiers à inclure

<wx/msgdlg.h>


::wxShowTip

bool wxShowTip(wxWindow *parent, wxTipProvider *tipProvider, bool showAtStartup = true)

Cette fonction affiche une "astuce" à l'utilisateur. La valeur retournée est l'état de la case à cocher 'Afficher les astuces au démarrage'.

parent

tipProvider

showAtStartup

Voir aussi

Vue d'ensemble des astuces

Fichiers à inclure

<wx/tipdlg.h>