On Sunday, February 8, 2004, at 05:07 AM, Robert Purves wrote: > Robert Covington wrote: > >> The problem that brought this episode up is that I have 3 >> dropper/color pickers for my levels window , such would be familiar >> to Photoshop users. >> I can't use a Movable modal as I'd prefer because using those >> droppers create modal beeps. >> A floater works of course, but looks out of place for a filter dialog >> with that thin titled, harsh edged drag bar. >> I thought of using a toolbar window because it's just right as far as >> layering, but couldn't get that to work as one might think. > > > You can control the modality and activation scope, so as to change the > behaviour of a window class whose look is right but whose feel is > wrong for your needs. > Here a _kMovableModalWindowClass is made non-modal. Holy camoly. Thanks Kazillions. Mega helpful. Nor more ghosted buttons or drag hacks, or needless beeps. rc > > > '~'A > ' Runtime : Rntm Appearance.Incl > ' CPU : Carbon > '~'B > > #define WindowActivationScope as UInt32 > > // always active if visible > _kWindowActivationScopeIndependent = 1 > > > toolbox fn SetWindowActivationScope( WindowRef inWindow, ¬ > WindowActivationScope inScope ) = OSStatus > > > dim as OSStatus err > dim as WindowRef @ w > > window 1, "Doc" > appearance window 2, "Float", (90, 50)-(200, 120),¬ > _kFloatingWindowClass > > appearance window 3, "Movable NonModal", (220, 70)-(430, 120),¬ > _kMovableModalWindowClass > get window 3, w > // make it non-modal > err = fn SetWindowModality( w, _kWindowModalityNone, 0 ) > // make it look active always > err = fn SetWindowActivationScope( w, > _kWindowActivationScopeIndependent ) > > do > HandleEvents > until 0 > > > > > > Robert P. > > -- >