Compartilhar via


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

Inicia a caixa de diálogo de progresso especificada.

Sintaxe

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

Parâmetros

[in] hwndOwner

Digite: HWND

Um identificador para a janela pai.

[in] flags

Tipo: DWORD

Sinalizadores que personalizam a operação. Observe que esses sinalizadores são declarados em Shlobj.h. Uma combinação dos seguintes valores:

PROGDLG_NORMAL (0x00000000)

Comportamento padrão da caixa de diálogo de progresso normal.

PROGDLG_MODAL (0x00000001)

A caixa de diálogo é modal para seu hwndOwner. A configuração padrão é modeless.

PROGDLG_AUTOTIME (0x00000002)

Atualize o texto "Line3" com o tempo restante. Esse sinalizador não precisa ser definido implicitamente porque as caixas de diálogo de progresso iniciadas por IOperationsProgressDialog::StartProgressDialog exibem automaticamente o tempo restante.

PROGDLG_NOTIME (0x00000004)

Não mostre o tempo restante. Não recomendamos definir esse sinalizador por meio de IOperationsProgressDialog porque ele vai contra a finalidade da caixa de diálogo.

PROGDLG_NOMINIMIZE (0x00000008)

Não exiba o botão minimizar.

PROGDLG_NOPROGRESSBAR (0x00000010)

Não exiba a barra de progresso.

PROGDLG_MARQUEEPROGRESS (0x00000020)

Esse sinalizador é inválido nesse método. Para definir a barra de progresso para o modo de letreiro, use os sinalizadores em IOperationsProgressDialog::SetMode.

PROGDLG_NOCANCEL (0x00000040)

Não exiba um botão cancelar porque a operação não pode ser cancelada. Use esse valor somente quando for absolutamente necessário.

OPPROGDLG_DEFAULT (0x00000000)

Windows 7 e posterior. Indica o comportamento padrão da caixa de diálogo de progresso da operação normal.

OPPROGDLG_ENABLEPAUSE (0x00000080)

Exibir um botão de pausa. Use isso somente em situações em que a operação possa ser pausada.

OPPROGDLG_ALLOWUNDO (0x00000100)

A operação pode ser desfeita por meio da caixa de diálogo. O botão Parar se torna Desfazer. Se pressionado, o botão Desfazer será revertido para Parar.

OPPROGDLG_DONTDISPLAYSOURCEPATH (0x00000200)

Não exiba o caminho do arquivo de origem na caixa de diálogo de progresso.

OPPROGDLG_DONTDISPLAYDESTPATH (0x00000400)

Não exiba o caminho do arquivo de destino na caixa de diálogo de andamento.

OPPROGDLG_NOMULTIDAYESTIMATES (0x00000800)

Windows 7 e posterior. Se o tempo estimado para conclusão for maior que um dia, não exiba a hora.

OPPROGDLG_DONTDISPLAYLOCATIONS (0x00001000)

Windows 7 e posterior. Não exiba a linha de localização na caixa de diálogo de andamento.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

A caixa de diálogo de progresso deve ser criada em um thread separado do que a operação de arquivo na qual a caixa de diálogo está relatando. Se a caixa de diálogo estiver em execução no mesmo thread que a operação de arquivo, as mensagens de progresso serão, na melhor das hipóteses, enviadas apenas como os recursos permitem. Mensagens de progresso no mesmo thread que a operação de arquivo podem não ser enviadas.

Depois que IOperationsProgressDialog::StartProgressDialog for chamada, essa instância do objeto CLSID_ProgressDialog não poderá ser acessada por IProgressDialog, IActionProgressDialog ou IActionProgress. Embora QueryInterface possa ser usado para acessar essas interfaces, a maioria de seus métodos não pode ser invocada. IOperationsProgressDialog é a interface usada para exibir a nova caixa de diálogo de progresso para o Windows Vista e o mecanismo de operações posteriores.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shobjidl_core.h (inclua Shobjidl.h)