Ver Mensaje Individual
  #18  
Antiguo 08-03-2013
Avatar de cesarsoftware
cesarsoftware cesarsoftware is offline
Miembro
 
Registrado: nov 2006
Posts: 241
Reputación: 18
cesarsoftware Va por buen camino
Recuperando el tema, pero al reves

Hola compañeros.

Recupero este tema para que no digais que no he buscado

Creo que yo necesito los mismo, pero al reves, me explico (y pido ayuda porque no consigo el efecto que quiero), que el formulario principal (o la imagen que contiene alineada al client, un plano topografico, por ejemplo) no sea trasparente pero los formularios hijo si.
Sobre ese plano dibujo una casitas que muestran la actividad remota, ahora esas casitas (formularios creados en tiempo de ejecucion) no son trasparentes y tapan el plano, si son muchas, el plano del fondo ni se ve y ademas la casita se puede agrandar (tiene 2 tamaños en funcion de la cantidad de informacion a mostar).
Si creo el form hijo y le asigno el parent del formulario padre, las casitas se mueven con el plano pero cojen la propiedad alphablendvalue del padre, osea o todos trasparentes o todos opacos.
Si creo el form hijo y no le asigno el parent del formulario padre, las casitas se quedan en la posicion de la pantalla (que es el parent) donde estan y el plano se va solo, eso si, las casitas son trasparentes.

ejemplo del codigo
Código Delphi [-]
  // inicializa objetos
  Forma := TForm.Create(FormularioPadre);
  Forma.Parent := FormularioPadre;//se mueve con el padre pero no es trasparente
  // si no asigno y el formulario padre es la pantalla, son trasparentes pero no se mueven dentro del padre
  Forma.Position := poDesigned;
  Forma.Left := Left;
  Forma.Top := Top;
  if Icono = False then
  begin
    Forma.Width := 206;
    Forma.Height := 256;
  end
  else
  begin
    Forma.Width := 26;
    Forma.Height := 26;
  end;
  Forma.Color := clHotLight;
  Forma.Visible := Visible;
  Forma.BorderStyle := bsNone;
  Forma.AlphaBlend := True;
  Forma.AlphaBlendValue := 115;
  Forma.ShowHint := True;
  Forma.Hint := 'Left-Click y arrastre para mover';
  Forma.OnMouseDown := LedOnMouseDown;
  Forma.OnMouseMove := LedOnMouseMove;
  Forma.OnMouseUp := LedOnMouseUp;
  CBmodelo := TComboBox.Create(Forma);
  CBmodelo.Parent := Forma;
  CBmodelo.Top := 10;
  LedOn := TShape.Create(Forma);
  LedOn.Parent := Forma;
  LedOn.Shape := stCircle;
....

¿Alguna sugerencia (de escafandra, por ejemplo?

Gracias aunque sea por leer.
Responder Con Cita