Jump to content
dipacheco

Efeito psicadélico?!

Recommended Posts

dipacheco

:cheesygrin:

Pessoal, uma dúvida! Tenho um programa como vários forms em q a maior parte deles faz um resizing para full screen no load, tem uma imagem de fundo, uma barra de menus e nada mais. Esses forms q têm essas condições de abertura ficam com um efeito psicadélico, ou seja, na abertura demorar cerca de 2 segundos a ficarem estáveis... o q poderá ser?

Share this post


Link to post
Share on other sites
Caça

A imagem de fundo é pesada? Estás a usar Anchors?


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
dipacheco

a imagem de fundo tem 200kb.. nao justifica!

nao estou a usar anchors mas faço varios ajustes no load do programa. do genero... tenho um panel e dentro desse panel varias textbox e reposiciono essas textbox manualmente... poderá ser por isso?

Share this post


Link to post
Share on other sites
ribeiro55

É JPG?

A descompressão causa isso.

Acredites ou não, BMP vai tornar o programa mais "leve" (ficando mais pesado em MB)

Podes tentar contornar a coisa desenhando o JPG OnPaint no form com DoubleBuffering


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
dipacheco

fica igual com BMP...

sinceramente acho que é o resizing... porque faço resize com esta função criada por mim... e acho q ele n gosta muito! eheheh

  Private Sub form_resize()
        Panel1.Width = (Me.Width / 3)
        Panel1.Height = (Me.Height / 3)
        Panel1.Left = (Me.Width / 2) - (Panel1.Width / 2)
        Panel1.Top = (Me.Height / 2) - (Panel1.Height / 2)
        PictureBox1.Left = Panel1.Left
        PictureBox1.Top = Panel1.Top
        PictureBox1.Width = Panel1.Width
        PictureBox1.Height = Panel1.Height / 4
        TextBox1.Width = Panel1.Width / 2
        TextBox2.Width = Panel1.Width / 2
        Label1.Left = Panel1.Left + (Panel1.Width / 4)
        Label1.Top = PictureBox1.Bottom + (PictureBox1.Height / 3)
        TextBox1.Left = Label1.Left
        TextBox1.Top = Label1.Bottom
        Label2.Left = Label1.Left
        Label2.Top = TextBox1.Bottom + (PictureBox1.Height / 3)
        TextBox2.Left = TextBox1.Left
        TextBox2.Top = Label2.Bottom
        Button1.Top = TextBox2.Bottom + (PictureBox1.Height / 3)
        Button1.Left = TextBox2.Left + TextBox2.Width - Button1.Width
    End Sub

Share this post


Link to post
Share on other sites
ribeiro55

Faz uso de anchor, docks e/ou tablelayouts.

Evitam-te cada linha desse sub.

Experimenta também com doublebuffering: passa a propriedade DoubleBuffered do form para True e desenha a imagem via GDI no OnPaint.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
dipacheco

pah... anchor docks e tablelayouts nao sei usar! ja tentei mas perco-me por completo. nao faz nada daquilo que quero e é super frustrante. lol

qnt ao resto vou ver e dps digo algo.

Share this post


Link to post
Share on other sites
ribeiro55

"pah", tablelayouts são um pouco mais complicados de apanhar, a nível lógico.

Anchors são muito simples.

http://wiki.portugal-a-programar.org/visual_basic_.net:anchors

Investe tempo a perceber, no mínimo anchors, e vais poupar muito tempo no futuro


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
dipacheco

;) obrigado pelo conselho! ;)

quanto ao efeito psicadélico já está ultrapassado. o simples facto de ter colocado o doublebuffered a true já fez com que o efeito nao existisse. obrigado. ja agora, aproveito para tentar perceber o q é isto do doublebuffered! ;)

obrigado.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.