Compartilhar via


Como adicionar um texto armazenado em uma propriedade

O exemplo descrito na seção intitulada Como criar uma caixa de mensagem "Aguarde…" condicional exibe uma caixa de diálogo com o texto "Aguarde enquanto a avaliação de custo do espaço em disco é concluída". Faça isso apenas colocando um controle Text na caixa de diálogo e inserindo a cadeia de texto na coluna Text da tabela Control. Nesse caso, as informações sobre o estilo da fonte precisam ser inseridas na cadeia de caracteres. O autor precisa definir a fonte e o estilo da fonte acrescentando o prefixo {\style} à cadeia de caracteres. Sendo que style é um identificador de estilo de fonte listado na coluna TextStyle da tabela TextStyle. Esse método de adição de texto é ilustrado várias vezes em Um exemplo de instalação.

Um autor de uma interface do usuário também pode armazenar o texto em uma propriedade. O exemplo a seguir ilustra isso e mostra como ControlEvents pode ser usado para exibir cadeias de texto alternativas.

O objetivo desse exemplo é novamente apresentar uma caixa de diálogo WaitForCosting enquanto uma tarefa em segundo plano está em execução. A diferença com o novo cenário é que, se o usuário cancelar a caixa de diálogo WaitForCosting e tentar ativar o controle antes da tarefa em segundo plano ser concluída uma segunda vez, a caixa WaitForCosting reaparecerá exibindo a mensagem alternativa "A avaliação de custo do espaço em disco ainda está em execução. Você pode continuar aguardando ou retornar à caixa de seleção principal para sair desta sequência".

Para exibir uma caixa de diálogo "Aguarde" que mostra mensagens alternativas

  1. Comece adicionando uma caixa de diálogo WaitForCosting condicional a uma caixa de diálogo Selection, conforme descrito em Como criar uma caixa de mensagem "Aguarde…" condicional.
  2. Coloque um controle Text na caixa de diálogo WaitForCosting criando um registro na tabela Control. Insira o identificador da caixa de diálogo WaitForCosting na coluna Dialog_. Insira o identificador do controle Text na coluna Control. Especifique o tipo de controle como Text na coluna Type.
  3. Especifique o atributo de controle Position para o controle de texto inserindo as coordenadas horizontal e vertical do canto superior esquerdo do controle nas colunas X e Y da tabela Control. Use pixels como unidades de distância.
  4. Especifique a largura e a altura do controle de texto inserindo essas dimensões nas colunas Width e Height da tabela Control. Use pixels como unidades de comprimento.
  5. As colunas Property e Control_Next da tabela Control não afetam os controles Text e podem ser deixadas em branco nesse caso.
  6. Especifique os atributos de controle para o controle Text associados aos sinalizadores de bits. Adicione os valores de bit individuais e insira o total na coluna Attributes da tabela Control. Estes são os atributos de controle Visible, Sunken, Enabled, Transparent, NoWrap e NoPrefix. A combinação de bits que exibe um controle de texto em uma tela de fundo opaca, com um texto de encapsulamento é 0, ou seja, insira 0 ou deixe a coluna Attributes em branco.
  7. A coluna Text da tabela Control pode ser deixada em branco. O controle Text exibe a cadeia de texto que é o valor do atributo de controle Text. O método usado para definir esse atributo é descrito nas etapas seguintes deste procedimento.
  8. Adicione um registro à tabela Property para definir a propriedade da mensagem FirstMessage. Essa propriedade é uma cadeia de caracteres que contém o estilo da fonte e o texto da primeira mensagem. Insira o nome FirstMessage na coluna Property. Na coluna Value, insira a cadeia de caracteres: "{\WaitStyle}Aguarde enquanto a avaliação de custo do espaço em disco é concluída". Sendo que WaitStyle é um identificador para um dos estilos de fontes listados na coluna TextStyle da tabela TextStyle.
  9. Adicione um registro à tabela Property para definir a propriedade da mensagem SecondMessage. Essa propriedade é uma cadeia de caracteres que contém o estilo da fonte e o texto da segunda mensagem. Insira o nome SecondMessage na coluna Property. Na coluna Value, insira a cadeia de caracteres: "{\WaitStyle}A avaliação de custo do espaço em disco ainda está em execução. Você pode continuar aguardando ou retornar à caixa de seleção principal para sair desta sequência".
  10. Adicione um registro à tabela Property para definir a propriedade da mensagem WaitMessage. Essa propriedade é uma cadeia de caracteres que contém o estilo da fonte e o texto da mensagem exibida na caixa de diálogo WaitForCosting caso o usuário tente ativar um botão de ação antes da avaliação de custo ser concluído. Insira o nome WaitMessage na coluna Property. Na coluna Value da tabela Property, insira FirstMessage.
  11. Adicione um SetProperty ControlEvent à tabela ControlEvent que inicializa WaitMessage em FirstMessage sempre que uma caixa de diálogo New Selection é aberta. Insira na coluna Dialog_ o identificador da caixa de diálogo que antecede a caixa de diálogo Selection na sequência de caixas de diálogo. Insira na coluna Control_ o identificador do controle nessa caixa de diálogo usada para abrir a caixa de diálogo Selection. Insira [WaitMessage] na coluna Event. Insira [FirstMessage] na coluna Argument. Insira 1 na coluna Condition e deixe a coluna Ordering em branco.
  12. Adicione um SetProperty ControlEvent à tabela ControlEvent que define WaitMessage como SecondMessage se o usuário fechar a caixa de diálogo WaitForCosting antes da avaliação de custo do espaço em disco ser concluída. Insira o identificador da caixa de diálogo WaitForCosting na coluna Dialog_. Insira o identificador do controle Text na coluna Control_. Insira [WaitMessage] na coluna Event. Insira [SecondMessage] na coluna Argument. Insira NOT CostingComplete na coluna Condition e deixe a coluna Ordering em branco.
  13. A etapa a seguir vincula o atributo de controle Text ao ControlEvent que gera a caixa de diálogo WaitForCosting. Isso faz com que o instalador transmita o valor da propriedade WaitMessage para o atributo de controle Text sempre que o usuário abrir uma caixa de diálogo WaitForCosting.
  14. Assine o atributo de controle Text do controle Text para o SpawnWaitDialog ControlEvent que abre a caixa de diálogo WaitForCosting adicionando um registro à tabela EventMapping. Insira o identificador da caixa de diálogo WaitForCosting na coluna Dialog_. Insira o identificador do controle Text na coluna Control_. Insira SpawnWaitDialog na coluna Event. Insira Text, o identificador do atributo de controle Text, na coluna Attribute da tabela EventMapping.