RE: CAPI problem: Howto ...
Hi Dave & Marc,
thank you very much. I will try both ideas.
It should work for my application.
Kind regards
AHz
>-----Original Message-----
>From: davef@xanalys.com [mailto:davef@xanalys.com]
>Sent: Tuesday, April 13, 2004 4:50 PM
>To: AHZ@smi.de
>Cc: lisp-hug@xanalys.com
>Subject: Re: CAPI problem: Howto ...
>
>
>
> i'm looking for a solution to the following problem (I'm
>still in planning
> the program so some details may not be correct. Sorry for that):
>
> I have a CAPI window containing a pushbutton (other widget
>are left out for
> clarification)
> The user needs to MOVE the button around in the window like in a GUI
> builder.
>
> To do so i want to provide a mode where clicking the button
>does not show
> the usual "click" action of the button but draws a
>selection rectangle
> around
> it. Idealy this should work for other widgets also.
>
> I don't want to change the visual apearance of the button
>so a simple disble
> will
> not work.
>
> I can imagine two possible solutions:
>
> 1. Redirecting the click event. Then the button will never
>see the event and
> the
> enclosing window can handle it.
> 2. putting a pane with transparent background over the
>whole window. Then
> all
> events should go to that pane and can be handled there.
>
> Is one of this solutions possible ?
>
>Not using current CAPI functionality.
>
> Are there other solutions for that problem ?
>
>Make the "button" yourself via a subclass of
>CAPI:IMAGE-PINBOARD-OBJECT and manipulate it on a
>CAPI:PINBOARD-LAYOUT. You'd need to have an image for the button,
>perhaps created via GP:MAKE-IMAGE-FROM-PORT. You could implement the
>selection rectangle with a method on
>CAPI:HIGHLIGHT-PINBOARD-OBJECT. You could drag the "buttons" around
>the pinboard as in the balloons.lisp example.
>
> The application is MS-Windows only and doesn't need to be
>portable. However,
> a portable solution is obviously prefered.
>
>--
>Dave Fox
>
>Xanalys http://www.lispworks.com
>Compass House
>Vision Park, Chivers Way
>Histon
>Cambridge, CB4 9AD
>England
>