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) |