LoginSignup
2
3

More than 5 years have passed since last update.

XojoでTextAreaのスマート引用符機能を無効にする

Last updated at Posted at 2014-12-21

XojoでOSX用のデスクトップアプリをビルドすると、TextAreaクラスはNSTextViewになります。

NSTextViewには自動置換機能があり、その内訳はコンテクストメニューで確認できます。
NSTextView_Substitusions.png

アプリによっては、この機能で勝手に文字を変えられると困る場合があります。とくに「スマート引用符」は、ASCII引用符を手入力すると、起こしと受けを区別したものへ自動的に変えられます。
2014-12-21-1.png
これらを厳密に区別してTextAreaに入力するなら、この機能を最初からOFFにしておきたいところです。ユーザ側のシステム環境設定で設定は可能ですが、やはりアプリ側でデフォルトをOFFにしておきたい。

XojoのTextAreaクラスには、このプロパティがないので、Objective-CのコードをDeclareで実装することになります。

' TextAreaのOpenイベントに直接書いた場合
Declare Function documentView Lib "Cocoa" selector "documentView" (objRef as Integer) as Ptr
Declare Sub setAutomaticQuoteSubstitutionEnabled Lib "Cocoa" selector "setAutomaticQuoteSubstitutionEnabled:" (objRef as Ptr, value as Boolean)

Dim TextViewRef as Ptr = documentView( me.Handle )

setAutomaticQuoteSubstitutionEnabled( TextViewRef, False )

他の自動置換やお節介機能も上記と同様にすれば無効にできます。

  • setAutomaticDashSubstitutionEnabled
  • setAutomaticSpellingCorrectionEnabled
  • setAutomaticTextReplacementEnabled
  • setContinuousSpellCheckingEnabled
  • setSmartInsertDeleteEnabled
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3