quarta-feira, 6 de setembro de 2017

Imagem de Fundo no Form

Explorando as Propriedades em instâncias da classe System.Windows.Forms.Form, vemos a possibilidade de definir uma imagem de fundo para o Form através de BackgroundImage.

Para atribuirmos a imagem a partir de um arquivo, podemos utilizar o método FromFile de System.Drawing.Image

GDI+ possui codificadores (encoders) e decodificadores (decoders) integrados, que suportam os seguintes formatos de imagem:
  • BMP
  • GIF
  • JPEG
  • PNG
  • TIFF

[void][System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
[System.Windows.Forms.Application]::EnableVisualStyles() 

_Main  ### Chama a função _Main

Function _Main {
    $FormImg = New-Object System.Windows.Forms.Form 
    $FormImg.ClientSize = New-Object System.Drawing.Size(512,288) 
    $FormImg.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::Fixed3D
    $FormImg.Text = ".::. Inserindo uma imagem de fundo no Form .::."
    $FormImg.MaximizeBox = $false      #  - Desabilitar 'Maximizar' a Janela
    $FormImg.StartPosition = "CenterScreen"

    #######################
    ### Cria Imagem de Fundo a partir de um arquivo .JPG
    $FormImg.BackgroundImage = [System.Drawing.Image]::`
                            FromFile($PSScriptRoot + "\Img\Fundo.jpg")
    $FormImg.BackgroundImageLayout = "Stretch" ## ajusta-se ao tamanho do Form
                                     # None, Tile, Center, Stretch, Zoom

    #
    #$BotaoSair
    #
    $BotaoSair = New-Object System.Windows.Forms.Button
    $BotaoSair.Font = New-Object System.Drawing.Font("Microsoft Sans Serif", `
                                        10, [System.Drawing.FontStyle]::Bold)
    $BotaoSair.Text = "SAIR"

    ## Executa o código definido na variável $BotaoSair_Click
    $BotaoSair.Add_Click($BotaoSair_Click) 

    $FormImg.Controls.Add($BotaoSair)
    $BotaoSair.Size = New-Object System.Drawing.Size(80, 35)
    $BotaoSair_X = ($FormImg.ClientSize.Width / 2) - ($BotaoSair.Width / 2)
    $BotaoSair_Y = $FormImg.ClientSize.Height - 50
    $BotaoSair.Location = New-Object System.Drawing.`
                            Point($BotaoSair_X, $BotaoSair_Y)

    # Exibe o Form
    [System.Windows.Forms.Application]::Run($FormImg)

} ### End _Main

### Executado no evento de clique em $BotaoSair
$BotaoSair_Click = {
    $FormImg.Close()
}

O resultado da execução desse código é o seguinte:


No vídeo a seguir demonstra-se como codificar a imagem em Base64 e também como adicionar um ícone para o Form.

Códigos podem ser obtidos aqui.

Nenhum comentário:

Postar um comentário