Partager via


Méthode IOperationsProgressDialog ::StartProgressDialog (shobjidl_core.h)

Démarre la boîte de dialogue de progression spécifiée.

Syntaxe

HRESULT StartProgressDialog(
  [in] HWND       hwndOwner,
  [in] OPPROGDLGF flags
);

Paramètres

[in] hwndOwner

Type : HWND

Handle de la fenêtre parente.

[in] flags

Type : DWORD

Indicateurs qui personnalisent l’opération. Notez que ces indicateurs sont déclarés dans Shlobj.h. Combinaison des valeurs suivantes :

PROGDLG_NORMAL (0x00000000)

Par défaut, comportement de la boîte de dialogue de progression normale.

PROGDLG_MODAL (0x00000001)

La boîte de dialogue est modale pour son hwndOwner. Le paramètre par défaut est sans mode.

PROGDLG_AUTOTIME (0x00000002)

Mettez à jour le texte « Line3 » avec le temps restant. Cet indicateur n’a pas besoin d’être défini implicitement, car les boîtes de dialogue de progression démarrées par IOperationsProgressDialog ::StartProgressDialog affichent automatiquement le temps restant.

PROGDLG_NOTIME (0x00000004)

N’affichez pas le temps restant. Nous vous déconseillons de définir cet indicateur via IOperationsProgressDialog , car cela va à l’encontre de l’objectif de la boîte de dialogue.

PROGDLG_NOMINIMIZE (0x00000008)

N’affichez pas le bouton réduire.

PROGDLG_NOPROGRESSBAR (0x00000010)

N’affichez pas la barre de progression.

PROGDLG_MARQUEEPROGRESS (0x00000020)

Cet indicateur n’est pas valide dans cette méthode. Pour définir la barre de progression sur le mode de sélection, utilisez les indicateurs dans IOperationsProgressDialog ::SetMode.

PROGDLG_NOCANCEL (0x00000040)

N’affichez pas de bouton Annuler, car l’opération ne peut pas être annulée. Utilisez cette valeur uniquement en cas d’absolue nécessité.

OPPROGDLG_DEFAULT (0x00000000)

Windows 7 et versions ultérieures. Indique le comportement par défaut et normal de la boîte de dialogue de progression de l’opération.

OPPROGDLG_ENABLEPAUSE (0x00000080)

Afficher un bouton de pause. Utilisez cette option uniquement dans les situations où l’opération peut être suspendue.

OPPROGDLG_ALLOWUNDO (0x00000100)

L’opération peut être annulée via la boîte de dialogue. Le bouton Arrêter devient Annuler. En cas d’appui, le bouton Annuler revient à Arrêter.

OPPROGDLG_DONTDISPLAYSOURCEPATH (0x00000200)

N’affichez pas le chemin du fichier source dans la boîte de dialogue de progression.

OPPROGDLG_DONTDISPLAYDESTPATH (0x00000400)

N’affichez pas le chemin du fichier de destination dans la boîte de dialogue de progression.

OPPROGDLG_NOMULTIDAYESTIMATES (0x00000800)

Windows 7 et versions ultérieures. Si la durée estimée de l’exécution est supérieure à un jour, n’affichez pas l’heure.

OPPROGDLG_DONTDISPLAYLOCATIONS (0x00001000)

Windows 7 et versions ultérieures. N’affichez pas la ligne d’emplacement dans la boîte de dialogue de progression.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

La boîte de dialogue de progression doit être créée sur un thread distinct de l’opération de fichier sur laquelle le dialogue est signalé. Si la boîte de dialogue s’exécute dans le même thread que l’opération de fichier, les messages de progression sont, au mieux, envoyés uniquement en fonction des ressources autorisées. Les messages de progression sur le même thread que l’opération de fichier peuvent ne pas être envoyés du tout.

Une fois IOperationsProgressDialog ::StartProgressDialog appelé, ce instance de l’objet CLSID_ProgressDialog est inaccessible par IProgressDialog, IActionProgressDialog ou IActionProgress. Bien que QueryInterface puisse être utilisé pour accéder à ces interfaces, la plupart de leurs méthodes ne peuvent pas être appelées. IOperationsProgressDialog est l’interface utilisée pour afficher la nouvelle boîte de dialogue de progression pour le moteur d’opérations Windows Vista et ultérieur.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shobjidl_core.h (inclure Shobjidl.h)