Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-03-2011
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 17
gaston260 Va por buen camino
no entiendo porque parpadea imagen en splash screen

hola gente estoy usando este codigo que hice muy a mi manera y no entiendo xq se demora en repintar la imagen no se si necesito poner un imagen1.repait o un Application.ProcessMessages lo que si se es que tengo un MediaPlayer y al reproducir el sonido la imagen despues de la mitad de tiempo parpadea, este es mi codigo

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls, ComCtrls, MPlayer;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Timer1: TTimer;
    Label1: TLabel;
    ProgressBar2: TProgressBar;
    ProgressBar3: TProgressBar;
    Label2: TLabel;
    MediaPlayer1: TMediaPlayer;

    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);

  private
    procedure CreateParams(var Params: TCreateParams); override;  // sacar barra de titulo

  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  CONTADOR: Integer;
  contador2: Integer;
  contador3: integer;
  contadortiempo: Integer;

implementation

{$R *.dfm}

procedure TForm1.CreateParams(var Params: TCreateParams) ;   // sacar barra de titulo
begin
  BorderStyle:= bsNone;
  inherited;
  Params.ExStyle:= Params.ExStyle or WS_EX_STATICEDGE;
  Params.Style:= Params.Style or WS_SIZEBOX;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
    contadortiempo:= contadortiempo + 1;
    Label2.Caption:= inttostr(contadortiempo);
    Label2.Caption:= Label2.Caption + IntToStr(0);

    contador2:= contador2 + 1;
    ProgressBar2.Position:= contador2;
    Form1.AlphaBlendValue := contador2;
    Image1.Repaint;
    //Image1.Refresh;

    if contador2 > 240 then
    begin
      contador3 := contador3 - 1;
      ProgressBar3.Position:= contador3;
      Form1.AlphaBlendValue:= contador3;
      Image1.Repaint;
      //Image1.Refresh;
      CONTADOR:= CONTADOR + 1;
    end;

      IF CONTADOR > 254 THEN
      Begin
        Form1.Close;
      End;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    MediaPlayer1.Open;
    MediaPlayer1.Play;
    CONTADOR:= 0;
    CONTADOR2:= 0;
    CONTADOR3:= 255;
    contadortiempo:= 0;
end;
end.
Responder Con Cita
  #2  
Antiguo 16-03-2011
Kandorf Kandorf is offline
Miembro
 
Registrado: may 2007
Posts: 38
Poder: 0
Kandorf Va por buen camino
He leído que se soluciona poniendo la opción del formulario
Código Delphi [-]
Form1.DoubleBuffered:=True;
La gente dice que le funciona, aunque a mí no.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
splash screen hernan35 Varios 3 16-03-2010 02:21:20
'splash screen' consulta sql Galahad SQL 2 16-10-2008 15:03:32
Screen Splash lKinGl Varios 4 03-04-2008 13:30:45
Splash Screen jmedina Varios 6 15-08-2007 07:15:46
Splash Screen con imagen ibstk Varios 2 09-09-2004 01:05:51


La franja horaria es GMT +2. Ahora son las 14:07:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi