2012-03-27 18 views
1

これはおそらく非常に簡単ですが、私はヘッダファイルを苦労しており、いくつかのガイダンスを使用することができます。NSButtonはクリックで代替画像を描画します

NSPopUpButtonは、メニュー付きのnibで定義されています。私はペン先に「矢印」のない「プルダウン」タイプと定義しました(デザイナーが私に与えた画像には、使用したい特殊な矢印が含まれています)。ボーダレスなボタンです。私はimagealternateImageを設定していますが、titleは正しく空です。

私が探しているのは、ボタンのメニューが表示されている間に、ボタンの代替画像(または他の画像)を表示できるように、ペン先、ファイルの所有者実装、サブクラスNSPopUpButtonのいずれかの設定です表示されます。代わりに、システムがボタンの画像を暗くしているように見えます。

NSButtonCellのさまざまなプロパティを使って、mouseDownmouseUpをオーバーライドしました。私は何もしません。

答えて

4

"タイプ"プロパティで再生しても問題が解決しない場合は、NSButtonCellという図面をサブクラス化して、必要なものを取得する必要があります。 NSButtonCellの

- (void)drawImage:(NSImage *)image withFrame:(NSRect)frame inView:(NSView *)controlViewが有望であるようです。

+0

'drawImageWithFrame:inView:'になりました - ありがとう! –

2

私はそれがカスタムNSButtonCellクラス時間だと思います。このタイプのボタンのテーマを無効にする方法はわかりません。

あなたの唯一の選択肢は、適切なイメージで通常のNSButtonを使用して、手動で正しい位置にメニューを表示することです。これはおそらく実装がはるかに簡単です。

関連する問題