Contents Up Previous Next

Initialisation et terminaison d'application

Les fonctions dans cette section sont utilisées au démarrage et à l'arrêt d'une application, ainsi que pour contrôler le comportement de la boucle principale des événements pour l'interface graphique des programmes.

::wxEntry
::wxEntryCleanup
::wxEntryStart
::wxGetApp
::wxHandleFatalExceptions
::wxInitAllImageHandlers
::wxInitialize
::wxSafeYield
::wxUninitialize
::wxYield
::wxWakeUpIdle


::wxEntry

Cette fonction initialise wxWidgets de façon dépendante à l'OS. Utilisez-la si vous n'utilisez pas le code d'entrée par défaut de wxWidgets (per exemple, main ou WinMain). Par exemple, vous pouvez initialiser wxWidgets depuis une application MFC en utilisant cette fonction.

Les surchages suivantes de wxEntry sont disponibles sur toutes les plateformes:

int wxEntry(int& argc, wxChar **argv)

Sous MS Windows, une surcharge supplémentaire spécifique pour les appels depuis WinMain est disponible:

int wxEntry(HINSTANCE hInstance, HINSTANCE hPrevInstance = NULL, char *pCmdLine = NULL, int nCmdShow = SW_SHOWNORMAL)

(notez que sous Windows CE, et seulement dans ce cas, le type de pCmdLine est wchar_t *, sinon, il est char *, même pour une compilation Unicode ).

Voir aussi

wxEntryStart

Remarques

Pour fermer proprement wxWidgets, appelez wxApp::OnExit suivi de la fonction statique wxApp::CleanUp. Par exemple, si vous fermez une application MFC qui utilise aussi wxWidgets :

int CTheApp::ExitInstance()
{
  // OnExit n'est pas appelée par CleanUp et doit être appelée explicitement.
  wxTheApp->OnExit();
  wxApp::CleanUp();

  return CWinApp::ExitInstance();
}
Fichiers à inclure

<wx/app.h>


::wxEntryCleanup

void wxEntryCleanup()

Libère les ressources allouées par un appel à wxEntryStart.

Fichiers à inclure

<wx/init.h>


::wxEntryStart

bool wxEntryStart(int& argc, wxChar **argv)

Cette fonction peut être utilisé pour effectuer l'initialisation de wxWidgets si vous ne pouvez pas utiliser le code d'initialisation par défaut pour une raison quelconque.

Si la fonction retourne true, l'initialisation a été couronnée de succès et l'objet wxApp global wxTheApp a été créé. En outre, wxEntryCleanup doit être appelée après. Si la fonction retourne false, une erreur catastrophique d'initialisation s'est produite et (au moins la partie interface graphique de) la bibliothèque ne peut pas du tout être utilisée.

Notez que les paramètres argc et argv peuvent être modifiés par cette fonction.

Fichiers à inclure

<wx/init.h>


::wxGetApp

wxAppDerivedClass& wxGetApp()

Cette fonction n'existe pas dans wxWidgets, mais elle est créée en utilisant la macro IMPLEMENT_APP. Ainsi, avant de l'utiliser n'importe où à part dans le même module que cette macro, vous devez la rendre accessible au moyen de la macro DECLARE_APP.

L'avantage d'utiliser cette fonction par rapport à l'utilisation directe du pointeur global wxTheApp est que ce dernier est de type wxApp * et ne vous permettrait donc pas d'accéder aux fonctions spécifiques de votre classe d'application qui ne sont pas présentes dans wxApp alors que wxGetApp() retourne l'objet du bon type.


::wxHandleFatalExceptions

bool wxHandleFatalExceptions(bool doIt = true)

Si doIt vaut true, les exceptions fatales (également connues sous le nom "general protection faults" sous Windows ou "segmentation violations" dans le monde Unix) seront interceptées et transmises à wxApp::OnFatalException. Par défaut, par exemple avant que cette fonction soit appelée, elle seront traitées de façon normale, ce qui signifie généralement que l'application se terminera. Appeler wxHandleFatalExceptions() avec doIt égale à false restaurera ce comportement par défaut.


::wxInitAllImageHandlers

void wxInitAllImageHandlers()

Initialise tous les gestionnaires d'image. For a list of available handlers, see wxImage . Pour une liste des gestionnaires, voir wxImage.

Voir aussi

wxImage, wxImageHandler

Fichiers à inclure

<wx/image.h>


::wxInitialize

bool wxInitialize()

Cette fonction est utilisée dans wxBase seulement, et uniquement si vous ne créez pas du tout d'objet wxApp. Dans ce cas, vous devez l'appeler depuis votre fonction main() avant d'appeler n'importe quelle autre fonction wxWidgets.

Si la fonction retourne false, l'initialisation ne peut pas être réalisée, dans ce cas, la bibliothèque ne peut pas être utilisée et wxUninitialize ne devrait pas être appelée non plus.

Cette fonction peut être appelée plusieurs fois, mais wxUninitialize doit être appelée pour chaque appel à cette fonction.

Fichiers à inclure

<wx/app.h>


::wxSafeYield

bool wxSafeYield(wxWindow* win = NULL, bool onlyIfNeeded = false)

Cette fonction est similaire à wxYield, excepté qu'elle désactive l'entrée utilisateur pour toutes les fenêtres du programme avant d'appeler wxYield et la réactive ensuite. Si win ne vaut pas NULL, cette fenêtre restera active, permettant l'implémentation d'une interaction utilisateur limitée.

Retourne le résultat de l'appel à ::wxYield.

Fichiers à inclure

<wx/utils.h>


::wxUninitialize

void wxUninitialize()

Cette fonction est à utiliser dans des programmes console (wxBase) seulement. Elle doit être appelée une fois pour chaque précédent appel à wxInitialize couronné de succès.

Fichiers à inclure

<wx/app.h>


::wxYield

bool wxYield()

Calls wxApp::Yield.

Cette fonction est conservée afin d'assurer la compatibilité descendante. Merci d'utiliser la méthode wxApp::Yield à la place dans tout nouveau code.

Fichiers à inclure

<wx/app.h> or <wx/utils.h>


::wxWakeUpIdle

void wxWakeUpIdle()

Cette fonction réveille le système (interne et dépendant de l'OS) d'inactivité, par exemple, elle va forcer le système à envoyer un événement d'inactivité si le système est actuellement en mode inactif et donc n'enverra pas d'événement d'inactivité jusqu'à ce qu'un autre événement soit envoyé. Elle est également utile pour envoyer des événements entre deux threads et est utilisée les fonctions correspondantes ::wxPostEvent et wxEvtHandler::AddPendingEvent.

Fichiers à inclure

<wx/app.h>