Hallo Fred van Stappen,

vous ecrit au Wed, 15 Jun 2022 13:05:59 +0000:

> MSEgui has different "custom shapes of form".

Nice.

> Now I want to have a form-shape that only shows the components in the
> form and set the background as transparent.
> 
> To do this, I need to get a list of all the components present on the
> form with their position and size (x, y, cx, cy). With that info,

Isn't that about the same quest as what's needed for scanning a form
for text items? You need a list of components on the form, i.e. those
components that have the form as their owner. That''s about the same
requirement that the "formscanner" utility had to sole, and it soles it
by using the built-in mechanism proided by the "getchildren" function
of a number of components of msegui. (Unfortunately, it's not a member
of the top "tcomponent" class, but there are a few independent class
hierarchies inoled anyway, so that wouldn't help either.)
A quick search finds definitions for such functions at:
- kernel/msegui.pas;
- kernel/msedatamodules.pas:
- kernel/windows/mseguiintf.pas:
- widgets/mseforms.pas:

> I can easy create a custom form with the X11 methods XDrawRectangle()
> and XFillRectangle(). For Windows and gdi it is nearly the same trick.
> 
> How could I get this list of position-size of each component (only
> the child-components of the form, not components inside
> child-components) ?

The "getchildren" functions of those component classes needed for your
purpose had to be made available for such a component scanner, e.g. by
the fpc mechanism of a "class helper function", and bound together into
a new class to provide access to the required data.

> The goal is to create a new myform.optionswindow:
> "wo_transparentbackground" (or wo_transpback).

Maybe this could be a way to go?

(BTW, there are some revised items on my web site for you.)

-- 
(Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung
nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem)
-----------------------------------------------------------
Mit freundlichen Grüßen, S. Schicktanz
-----------------------------------------------------------



_______________________________________________
mseide-msegui-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk

Reply via email to