Re: [Leopard] Spotlight/Help-like menu item
Re: [Leopard] Spotlight/Help-like menu item
- Subject: Re: [Leopard] Spotlight/Help-like menu item
- From: Pierre Bernard <email@hidden>
- Date: Sun, 27 Jan 2008 05:45:53 +0100
Hi Ron!
Thanks for taking the time to write back.
What I am after is not a static image, but an interactive control
drawn on a background. In Leopard, I can say [menuItem setView:myView]
where myView is a custom NSView holding my search box control.
Trouble starts when I want my view to draw a background (like the blue
background used by Spotlight), I find that there remains a white area
above and below my view which is drawn by the menu itself. What I am
after is a way to get rid of that border.
This might mean, I'll have to drop using setView: altogether.
Best,
Pierre
On 27 Jan 2008, at 05:36, Ron Fleckner wrote:
On 27/01/2008, at 9:09 AM, Pierre Bernard wrote:
Hi!
I would like to create a custom menu item much like the search item
used in Leopard's Help or Spotlight menus.
I thought this ought to be simple under Leopard, as it is now
possible to add an arbitrary view to a menu item. This however only
gets me 80% of the way and I am not even sure a working solution
lies in that direction. The problem is that the custom view does
not cover all of the menu item. There remains a border above and
below of my view.
- Is there a way to stretch my view over those borders?
- Where does the menu do its drawing? NSMenuItem is neither a view
nor a cell. I believe the custom view takes NSMenuItemCell out of
the loop.
- What was the pre-Leopard way of doing this? I remember something
about going down to Carbon, but can't find much information on the
web.
Best,
Pierre
Hi Pierre,
I don't know about Leopard (yet), but on Tiger you can add any
arbitrary image to a menu item. In the code below, "colours" is a
rainbow-like image 22 px by 100 px. The variable "title" is an
empty string. This works on Tiger with no border around the image.
I haven't experimented with larger images, but they might work on
Leopard.
NSImage *myImage = [NSImage imageNamed:@"colours"];
// Make the menu
NSMenuItem *newItem = [[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:title action:NULL keyEquivalent:@""];
[newItem setImage: myImage];
Is that what you're after?
HTH,
Ron
---
Pierre Bernard
http://www.bernard-web.com/pierre
http://www.houdah.com
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________
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