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.
_______________________________________________
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:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden
This email sent to email@hidden