2012-03-27 4 views
1

나는 이것이 매우 쉽다는 것을 알고 있지만, 헤더 파일을 통과하는 데 어려움을 겪고 있으며, 몇 가지 지침을 사용할 수 있습니다.NSButton은 클릭 할 때 대체 이미지를 그립니다.

메뉴가 부착 된 펜촉에 NSPopUpButton이 정의되어 있습니다. 화살촉이없는 "당기기"유형으로 펜촉에 정의했습니다 (디자이너가 제공 한 이미지에는 사용하고 싶은 특별한 화살표가 포함되어 있습니다). 경계선없는 단추입니다. imagealternateImage을 설정했지만 title은 올바르게 비어 있습니다.

내가 찾고있는 것은 버튼의 메뉴가있는 동안 버튼의 대체 이미지 (또는 다른 이미지)를 표시 할 수 있도록 파일의 소유자 구현 또는 서브 클래스 NSPopUpButton에 의한 구성입니다. 표시됩니다. 대신, 시스템이 버튼의 이미지를 어둡게하는 것처럼 보입니다.

NSButtonCell의 다양한 속성을 시도했으며 mouseDownmouseUp을 무시했습니다. 내가하는 일은 아무것도 없어.

답변

4

"유형"속성으로 재생하는 것이 도움이되지 않는 경우 원하는 것을 얻으려면 도면의 서브 클래스를 NSButtonCell 잘해야 할 수도 있습니다.

- (void)drawImage:(NSImage *)image withFrame:(NSRect)frame inView:(NSView *)controlView은 NSButtonCell에서 유망 해 보인다.

+0

'drawImageWithFrame : inView :'로 밝혀졌습니다. - 감사합니다! –

2

나는 사용자 정의 NSButtonCell 클래스 시간이라고 생각한다. 이 유형의 버튼에 대한 테마를 재정의 할 방법이 있는지 모르겠습니다.

유일한 대안은 적절한 이미지로 일반 NSButton을 사용하고 메뉴를 올바른 위치에 수동으로 표시하는 것입니다. 이는 구현하기가 훨씬 수월 할 것입니다.