wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 6
Pub hébergeur
Pourquoi cette pub ?

Valid XHTML 1.0 Transitional

Valid CSS2

Menu Snippets (navigation):
Pages: 1    Accueil » Snippets » Divers
» Créer une fenêtre About
Détails du snippet : Créer une fenêtre About
Informations sur l'auteur de ce snippet :


Hors ligne
cfdev (Membre)
Lieu: Alpes de Haut Provence
Inscrit le : 08-11-2007
Messages: 127
Snippets: 4
Tutoriels: 0
Introduction / Description :
Marre de faire des fenêtres about toutes pas belles :) ?
wxWidgets nous facilite la vie avec la wxAboutDialogInfo.

Cette class nous permet de diffuser toutes les informations nécessaires à notre application (nom, version, developpeur, licence....).
Contenu du snippet :
Voici un petit exemple de son utilisation :
Ne pas oublier de lier la librairie "adv" si vous êtes en multilib avec le header qui va bien.
<wx/aboutdlg.h>

Code wxWidgets:

 
    wxAboutDialogInfo info;
 
    info.SetName(wxT("monProg"));
    info.SetVersion(wxT("1.0"));
    wxString msg = _("Ce programme fait plein de truc sympa!");
    msg << wxT("\n\nCompilation: ") << wxT(__DATE__) << wxT(" ") << wxT(__TIME__);
    msg << wxT("\n") << wxbuildinfo(long_f);
    msg << wxT("\n") << wxT("GCC ") << wxT(__VERSION__);
 
    info.SetDescription(msg);
    info.SetCopyright(wxT("(C) 2009 wxDevfr Team"));
    info.SetLicense(wxT("Ma licence préférée"));
    info.SetWebSite(wxT("https://www.wxdev.fr/"));
 
    info.AddDeveloper(wxT("moi <moi@provider.com>"));
    info.AddTranslator(wxT("lui <lui@provider.com>"));
    info.AddArtist(wxT("Tango icon - http://tango.freedesktop.org/"));
 
    wxAboutBox(info);
 
Explications finales :
Cerise sur le gâteau, le style de cette fenêtre dialogue s'adapte à la plateforme sur laquelle elle est compilée.
:D
Commentaires
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1364
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Hello.

Très utile pour quiconque souhaite afficher rapidement (et surtout très simplement) une petite boite "A propos de".

Petite précision : il faut penser à linker l'application correspondante avec la lib "adv" de wxWidgets (pour ceux qui compilent en multi-lib).

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
cfdev (Membre)
Lieu: Alpes de Haut Provence
Inscrit le : 08-11-2007
Messages: 127
Snippets: 4
Tutoriels: 0
Site web
Hors ligne
En effet ainsi que le Header.

GNU Linux Power !
Slacker
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1364
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Hello.

Par défaut, le titre de la boite de dialogue est en anglais.

Voici une petite astuce pour le modifier sans implémenter un système de traduction automatique.

En fait, la fonction wxAboutBox utilise un wxGenericAboutDialog.
Il suffit donc d'utiliser cette classe :

Code wxWidgets:

 
    // on aura besoin d'un header spécifique
    #include "wx/generic/aboutdlgg.h"
 
    // Pour les renseignements concernant l'application, c'est la même chose :
    wxAboutDialogInfo info;
 
    info.SetName(wxT("monProg"));
    info.SetVersion(wxT("1.0"));
    wxString msg = _("Ce programme fait plein de truc sympa!");
    msg << wxT("\n\nCompilation: ") << wxT(__DATE__) << wxT(" ") << wxT(__TIME__);
    msg << wxT("\n") << wxbuildinfo(long_f);
    msg << wxT("\n") << wxT("GCC ") << wxT(__VERSION__);
 
    info.SetDescription(msg);
    info.SetCopyright(wxT("(C) 2009 wxDevfr Team"));
    info.SetLicense(wxT("Ma licence préférée"));
    info.SetWebSite(wxT("https://www.wxdev.fr/"));
 
    info.AddDeveloper(wxT("moi <moi@provider.com>"));
    info.AddTranslator(wxT("lui <lui@provider.com>"));
    info.AddArtist(wxT("Tango icon - http://tango.freedesktop.org/"));
 
    // On crée la boite de dialogue
    wxGenericAboutDialog dlgAbout(info, this);
    // On modifie le titre
    dlgAbout.SetTitle(_T("A propos de ") + info.GetName());
    // et on l'affiche
    dlgAbout.ShowModal();

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
Menu Snippets (navigation):
Pages: 1    Accueil » Snippets » Divers
» Créer une fenêtre About