开发者

How to retrieve only font style(Bold,italic,Bold Italic) from font panel(NSFontPanel) and color?

I am retrieving a value from NSFontPanel, which changes the font family, style of text. But I want only Font Style and color separately that I have selected from NSFontPanel.

I am not getting how to get that.

NSFont *font  =[fontmanager selectedFont];
     string =[font fon开发者_如何学PythontName];
     st = [font pointSize];
    color =[TextEntered textColor];
  1. In string variable I am getting Font family(e.g.Arial) and Font style(e.g. Bold). but I want these values separately.

  2. And in color variable I only get black color.

I am not able to understand where I am wrong in getting color,and what function I used for getting font style..


To get the style, you would use [fontmanager traitsOfFont: font]. As for the color, I think you want to get the text as an NSAttributedString and then get the value for the attribute NSForegroundColorAttributeName.

Edit to add: Assuming that your TextEntered variable is NSTextField*, use something like this:

NSAttributedString* theText = [TextEntered attributedStringValue];
NSColor* theColor = (NSColor*)[theText attribute: NSForegroundColorAttributeName
    atIndex: 0 effectiveRange: NULL ];

For strikethrough, use NSStrikethroughStyleAttributeName and for underline use NSUnderlineStyleAttributeName.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜