in reply to Re: Non-rectangular mainwindow
in thread Non-rectangular mainwindow

Under Win32, no transparent background is needed (and no DirectX either), as the SetWindowRgn() call allows to specify a complex region as the window border. I can't find a good example to copy online, but it would be raw GDI calls and I'm not sure how to manage the region memory that gets owned by GDI after the call - I suppose one would have to keep the structure alive as long as the window handle is valid.

In principle, this should be possible from Perl, but it will be hard to find a toolkit that supports it natively. One could hack it, as long as one gets to the hWnd of the window. A problem with this approach is, that many windowing toolkits destroy and recreate windows at various stages, so the "funky shape" might get lost when hiding/reshowing the window or minimizing/restoring the window. Also, the window metrics will most likely become unusable.

perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web

Replies are listed 'Best First'.
Re: Re: Re: Non-rectangular mainwindow
by PodMaster (Abbot) on Aug 25, 2003 at 08:31 UTC
    Here is a pretty cool example by the cult of the dead cow. I can't find it anywhere anymore, it's a good thing I saved it. It creates a cowskull shaped window (i'll see about a screenshot).

    update: Screen shot here. It's an Alt+PrtScrn of me resizing the window.

    MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
    I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
    ** The third rule of perl club is a statement of fact: pod is sexy.