These: evTypes.Type(0).eventClass = UInt32(enEventClasses.kEventClassWindow) evTypes.Type(0).eventKind = UInt32(kEventWindowClose) evTypes.Type(1).eventClass = UInt32(enEventClasses.kEventClassMouse) evTypes.Type(1).eventKind = UInt32(kEventMouseDown) evTypes.Type(2).eventClass = UInt32(enEventClasses.kEventClassMouse) evTypes.Type(2).eventKind = UInt32(kEventMouseDragged) evTypes.Type(3).eventClass = UInt32(enEventClasses.kEventClassWindow) evTypes.Type(3).eventKind = UInt32(kEventWindowDrawContent) evTypes.Type(4).eventClass = UInt32(enEventClasses.kEventClassWindow) evTypes.Type(4).eventKind = UInt32(kEventWindowResizeCompleted) evTypes.Type(5).eventClass = UInt32(enEventClasses.kEventClassWindow) evTypes.Type(5).eventKind = UInt32(kEventWindowDragCompleted) evTypes.Type(6).eventClass = UInt32(enEventClasses.kEventClassWindow) evTypes.Type(6).eventKind = UInt32(kEventWindowUpdate)
Regards, Dan On 2/5/07 18:20, "Charles Yeomans" <[EMAIL PROTECTED]> wrote: > For which events are you registering? > > Charles Yeomans > > > > On May 2, 2007, at 1:15 PM, Daniel Stenning wrote: > >> 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> > > _______________________________________________ > 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>
