Compartilhar via


Fonte de tratamento para usuários do Visual Basic 6.0

Este tópico compara fonte-tratamento técnicas no Visual Basic 6.0 com seus equivalentes em Visual Basic 2008.

Diferenças Conceituais

Fontes no Visual Basic 6.0 são tratadas de duas maneiras diferentes: sistema autônomo propriedades de fonte de formulários e controles, ou sistema autônomo um stdFont objeto.

In Visual Basic 2008, há um único Font objeto: System.Drawing.Font.The Font propriedade de um formulário ou controle tem um Font objeto sistema autônomo um argumento.

Definir propriedades da fonte

No Visual Basic 6.0, propriedades de fonte podem ser conjunto em time de execução, seja por atribuindo um stdFont objeto ou por conjunto seletiva as propriedades diretamente no controle; os dois métodos podem ser intercambiados.

In Visual Basic 2008, o Font propriedade de um controle é somente leitura em time de execução — você não pode conjunto as propriedades diretamente. Você deve criar um novo Font cada objeto time você deseja conjunto uma propriedade.

Herança de fonte

No Visual Basic 6.0, propriedades de fonte têm de ser conjunto individualmente para cada controle ou formulário; usando um stdFont objeto simplifica o processo, mas ainda requer código.

In Visual Basic 2008, propriedades de fonte são herdadas automaticamente do seu pai a menos que explicitamente elas sejam definida para o objeto filho. Por exemplo, se você tem duas etiquetas de controle em um formulário e muda a propriedae da fonte do formulário para Arial, a fonte da etiqueta de controle também muda para Arial.Se posteriormente você alterar a fonte de uma etiqueta para Times Roman, outras alterações para a fonte do formulário não devem a substituir fonte do rótulo.

Compatibilidade de fonte

Fontes de varredura do Visual Basic 6.0 oferece suporte para compatibilidade com versões anteriores; Visual Basic 2008 oferece suporte somente para fontes TrueType e OpenType.

Enumerar fontes

No Visual Basic 6.0, você pode usar o Screen.Fonts coleção juntamente com o Screen.FontCount propriedade enumerar as fontes de tela disponível.

In Visual Basic 2008, o Screen objeto não existe mais; para enumerar fontes disponível no sistema, você deve usar o System.Drawing.FontFamily espaço para nome.

Observação:

Visual Basic 6.0 enumera todos os tipos de fontes.Visual Basic 2008 oferece suporte somente para fontes TrueType e OpenType; Outros tipos não são enumerados de fonte. Além disso, Visual Basic 6.0 enumera cada versão de conjunto de caractere em um fonte família (por exemplo, Arial, Arial báltico, Arial grego); Visual Basic 2008 Enumera somente a fonte famílias.

Alterações de código para fontes

Os exemplos de código a seguir ilustram as diferenças nas técnicas de codificação entre o Visual Basic 6.0 e Visual Basic 2008.

Alterações no código para definir propriedades da fonte

O exemplo a seguir demonstra a definição de propriedades de fonte em tempo de execução.No Visual Basic 6.0, você pode conjunto propriedades diretamente no controlel; no Visual Basic 2008, você deve criar um novo Font objeto e atribua-o para o controle de cada vez que você precisam conjunto uma propriedade.

' Visual Basic 6.0 
' Set font properties directly on the control.
Label1.FontBold = True
' Create a stdFont object.
Dim f As New stdFont
' Set the stdFont object to the Arial font.
f.Name = "Arial"
' Assign the stdFont to the control's font property.
Set Label1.Font = f
' You can still change properties at run time.
Label1.FontBold = True
Label1.FontItalic = True
' Visual Basic
' Create a new Font object  Name and Size are required.
Dim f As New System.Drawing.Font("Arial", 10)
' Assign the font to the control
Label1.Font = f
' To set additional properties, you must create a new Font object.
Label1.Font = New System.Drawing.Font(Label1.Font, FontStyle.Bold Or FontStyle.Italic)

Alterações no código para enumerar fontes

O exemplo a seguir demonstra como preencher um ListBox controle com uma lista de fontes instaladas em um computador.

Observação:

Visual Basic 6.0 enumera todos os tipos de fontes.Visual Basic 2008 oferece suporte somente para fontes TrueType e OpenType; Outros tipos não são enumerados de fonte. Além disso, Visual Basic 6.0 enumera cada versão de conjunto de caractere em um fonte família (por exemplo, Arial, Arial báltico, Arial grego); Visual Basic 2008 Enumera somente a fonte famílias.

' Visual Basic 6.0 
Dim i As Integer
For i = 0 To Screen.FontCount – 1
   List1.AddItem Screen.Fonts(i)
Next i
' Visual Basic 
Dim ff As FontFamily
For Each ff In System.Drawing.FontFamily.Families
  listBox1.Items.Add(ff.Name)
Next

Observações de Atualização

Quando um aplicativo Visual Basic 6.0 é atualizado para Visual Basic 2008, qualquer código de tratamento de fontes é modificado para usar o novo Font objeto.

Herança de fonte em Visual Basic 2008 pode causar alterações não intencionais na aparência do seu aplicativo. Você deve checar sua aplicação para qualquer código que explicitamente define uma fonte no nível do formulário ou container e, se necessário, mudar a fonte para qualquer controle de filho que não deve herdar aquela fonte.

Durante a atualização, fontes de varredura são convertidas para a fonte OpenType padrão, Microsoft Sans Serif.Formatação como negrito ou itálico não é preservado.Para obter mais informações, consulte Somente fontes TrueType e OpenType têm suporte.

Se seu aplicativo contém código que enumera fontes, fontes de varredura não irão ser enumeradas no aplicativo atualizado, e famílias de fontes são enumeradas em vez de versões de conjunto de caracteres individuais.

Consulte também

Referência

Font

FontFamily.Families

Outros recursos

Controles Windows Forms para Usuários do Visual Basic 6.0