On 2/5/07 17:58, "Charles Yeomans" <[EMAIL PROTECTED]> wrote:
> Offhand, I'm not sure that the code below would work. For example, > you appear to be passing a nil Ptr as the last parameter to > InstallEventHandler. The carbon library declaration for the last parameter is ByRef so InstallEventHandler sets the pointer by reference. > I assume that CEventTypes is a struct, Correct > but I'm not sure how that works, since you should be passing an array of > event types. It is a struct with a fixed number of eventtype elements ( I realise I could have done this through a memoryblock but it seemed easier just to use a struct holding a fixed array. >Does InstallEventHandler always return 0? Yes. > > Charles Yeomans > > > On May 2, 2007, at 12:45 PM, Daniel Stenning wrote: > >> I have in fact added the carbon event handler ( I just used the >> same code as >> used for the pure carbon version). >> >> Here is the main code for the "RB" window version which doesn't >> work ( it >> opens and the dylib paints the window correctly,l but the window >> fails to >> respond to any mouse events: >> >> <snick> >> //----------------- >> >> Function InstallCarbonEventHandler( editwinRef as WindowPtr ) >> Soft Declare Function InstallEventHandler Lib "Carbon" (Target >> As Ptr, >> Handler as Ptr, EventTypeCount As integer, ByRef evTypes As >> CEventTypes, >> userData As Ptr, ByRef outHandlerRef as Ptr) As Integer >> Soft Declare Function GetWindowEventTarget Lib >> "Carbon" (inWindow As >> WindowPtr) As Ptr >> >> dim eventHandler as Ptr >> dim evTypeCount as integer = 7//SetupCarbonEventTypes >> (CarbonEventTypes) >> dim err as integer = InstallEventHandler( GetWindowEventTarget( >> editwinRef ), AddressOf windowHandler, evTypeCount, CarbonEventTypes , >> plug.GetEffectPointer() , eventHandler ) >> >> Return eventHandler >> End Function >> >> //----------------- >> >> >> >> >> >> >> >> >> On 2/5/07 17:16, "Charles Yeomans" <[EMAIL PROTECTED]> wrote: >> >>> You might try adding a Carbon event handler to the window to handle >>> mouse events before the Rb code. As I recall, event handlers form a >>> stack, so the last handler added gets first crack at the events for >>> which it has registered. I've had mixed luck in taking control of >>> mouse events in windows via declares. >>> >>> Charles Yeomans >>> >>> On May 2, 2007, at 12:11 PM, Daniel Stenning wrote: >> >> >> _______________________________________________ >> Unsubscribe or switch delivery mode: >> <http://www.realsoftware.com/support/listmanager/> >> >> Search the archives: >> <http://support.realsoftware.com/listarchives/lists.html> > > _______________________________________________ > Unsubscribe or switch delivery mode: > <http://www.realsoftware.com/support/listmanager/> > > Search the archives: > <http://support.realsoftware.com/listarchives/lists.html> > Regards, Dan _______________________________________________ Unsubscribe or switch delivery mode: <http://www.realsoftware.com/support/listmanager/> Search the archives: <http://support.realsoftware.com/listarchives/lists.html>
