Question: I want to create a form, but just use it to keep an image. (Like a splash form)

To create a form like these I use these lines:

```
SetWindowLong(Handle, GWL_EXSTYLE, LexStyle or WS_EX_LAYERED);
UpdateLayeredWindow(Handle, 0, nil, @LBitmapSize, LBitmap.Canvas.Handle, 0,
  @LBlendFunction, ULW_ALPHA);

```

This image is a PNG image with transparent layer.

The form must have a parent form or must have the behavior of a form that have it.

That is the problem, if I add some component on this form, this just doesn't show the component.
And if I set a parent form to it, this lose its transparency.

But I need to add components in this and I need to set a parent to the form. 

Some one knows other way to do this?

Answer: 
You can't use the WS\_EX\_LAYERED style on child windows, such as a Form with a Parent assigned. You will have to use SetWindowRgn() instead.
Assuming both forms inside the same application, have you tried building a public method that can act as a handler for your options? Something like:

`function TForm1.UpdateForm(Action: Integer/[Enumerated Type]/[etc]; Parameters: TStringList): Boolean;`

with appropriate handling code inside should get you what you need without having to resort to api callbacks or requiring handle information.