Platforms to show: All Mac Windows Linux Cross-Platform

/MacCG/Attributed String print


Required plugins for this example: MBS MacCF Plugin, MBS MacBase Plugin, MBS MacCG Plugin, MBS Main Plugin, MBS MacCocoa Plugin

Last modified Sat, 6th Jun 2014.

You find this example project in your MBS Xojo Plugin download as a Xojo project file within the examples folder: /MacCG/Attributed String print

Download this example: Attributed String print.zip

Project "Attributed String print.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
Control TextArea1 Inherits TextArea
ControlInstance TextArea1 Inherits TextArea
EventHandler Sub Open() me.SelStart =0 me.SelLength = 12 me.SelBold = True me.SelStart = 0 me.SelLength = 0 End EventHandler
End Control
Control BevelButton1 Inherits BevelButton
ControlInstance BevelButton1 Inherits BevelButton
EventHandler Sub Action() dim g as Graphics = OpenPrinterDialog if g = nil then Return dim textView as NSTextViewMBS = TextArea1.NSTextViewMBS //this just gets the stored text (cannot use textView otherwise) dim t as NSAttributedStringMBS = textView.textStorage.copy //define the location to put the text dim rect as new CGRectMBS(100,100, g.Width-200, g.height-200) //and a new graphics object for the view dim h as integer = g.Handle(g.HandleTypeCGContextRef) dim c as CGContextMBS = CGContextMBS.contextWithCGContext(h) dim path as new CGMutablePathMBS path.AddRect nil, rect dim ca as CFAttributedStringMBS = t.AsCFAttributedString dim fs as CTFramesetterMBS = CTFramesetterMBS.CreateWithAttributedString(ca) dim fr as CTFrameMBS = fs.CreateFrame(0, 0, path, nil) fr.Draw(c) fr = nil fs = nil c.Flush c = nil g = nil ' End EventHandler
End Control
End Class
MenuBar MainMenuBar
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem EditSeparator1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem EditSeparator2 = "-"
MenuItem EditSelectAll = "Select &All"
End MenuBar
End Project

Download this example: Attributed String print.zip

The items on this page are in the following plugins: MBS MacCG Plugin.


The biggest plugin in space...