detect "left mouse button clicked in menu bar"
detect "left mouse button clicked in menu bar"
- Subject: detect "left mouse button clicked in menu bar"
- From: "David M. Cotter" <email@hidden>
- Date: Thu, 13 Aug 2009 14:56:45 -0700
i know i can detect when a particular menu is about to be shown, but
what I want is to run a quick process before any menus from the menu
bar are shown, and not run it again all the while the user is browsing
the menus in the menu bar
how do i do this? apparently there is no "mouseDown" event sent when
it's in the menu bar. currently i have this very ugly code:
-(void)sendEvent:(NSEvent *)inEvent
{
NSEventType evtType = [inEvent type];
switch (evtType) {
// is this a mouse down in the menu bar?
case NSSystemDefined: {
if (
[inEvent subtype] == NX_SUBTYPE_AUX_MOUSE_BUTTONS
&& [inEvent window] == NULL
) {
NSPoint mousePt = [inEvent locationInWindow];
NSScreen* screenRef = [NSScreen mainScreen];
PointF32 myPt;
// flip the coordinates
myPt = TransformScreenPointFromMacScreen(screenRef, mousePt);
CGFloat heightF = (CGFloat)[[NSApp mainMenu] menuBarHeight];
if (myPt.y < heightF && myPt.x < [screenRef frame].size.width) {
// do my quick process
}
}
break;
}
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden