(new in Rev4.00)
MQMemo クラスは複数行のテキストを入力するウィジェットを管理します。MQWidgetBaseクラスを継承しています。
継承元クラスで定義されるメンバ関数はそのクラスの記述を参照してください。
MQMemo::MQMemo();
MQMemo::MQMemo(int id);
コンストラクタです。
virtual MQMemo::~MQMemo();
デストラクタです。仮想関数として定義されます。
std::wstring MQMemo::GetText();
すべての行を結合した文字列を取得します。
size_t MQMemo::GetTextLength();
(new in Rev4.64)
すべての行を結合した文字列の長さを取得します。
長さのみが必要な場合、GetText()で取得した文字の長さを計算するよりも高速に動作します。
void MQMemo::SetText(const std::wstring& text);
ボタン上に表示される文字列を設定します。
std::wstring MQMemo::GetFontName();
文字を表示するフォントを取得します。
void MQMemo::SetFontName(const std::wstring& value);
文字を表示するフォントを設定します。
bool MQMemo::GetFontBold();
文字を太字で表示するかどうかを取得します。
void MQMemo::SetFontBold(bool value);
文字を太字で表示するかどうかを設定します。
double MQMemo::GetFontScale();
標準フォントサイズに対する比率で文字の表示拡大率を取得します。
デフォルト値は1.0です。
void MQMemo::SetFontScale(double value);
標準フォントサイズに対する比率で文字の表示拡大率を設定します。
bool MQMemo::GetReadOnly();
読み込み専用にしてキー操作による文字入力を受け付けないかどうかを取得します。
void MQMemo::SetReadOnly(bool value);
読み込み専用にしてキー操作による文字入力を受け付けないかどうかを設定します。
bool MQMemo::GetPriorMenuShortcut();
キーが押されたときにメニューのショートカットキー処理を優先するかどうかを取得します。
void MQMemo::SetPriorMenuShortcut(bool value);
キーが押されたときにメニューのショートカットキー処理を優先するかどうかを設定します。
MQBarStatus MQMemo::GetHorzBarStatus();
(new in Rev4.64)
水平スクロールバーの状態を取得します。
void MQMemo::SetHorzBarStatus(MQBarStatus value);
(new in Rev4.64)
水平スクロールバーの状態を設定します。
MQBarStatus MQMemo::GetVertBarStatus();
(new in Rev4.64)
垂直スクロールバーの状態を取得します。
void MQMemo::SetVertBarStatus(MQBarStatus value);
(new in Rev4.64)
垂直スクロールバーの状態を設定します。
bool MQMemo::GetFocus();
(new in Rev4.64)
現在フォーカス状態にあるかどうかを取得します。
void MQMemo::SetFocus(bool value);
フォーカス状態を設定します。
フォーカス状態になっている場合に、このウィジェットへキーボードメッセージが通知されます。
trueを指定した場合、既に他のウィジェットがフォーカス状態になっていればフォーカスはそのウィジェットからこのウィジェットに移動します。
size_t MQMemo::GetCaretPos();
(new in Rev4.64)
現在のキャレットの位置を取得します。
void MQMemo::SetCaretPos(size_t value);
(new in Rev4.64)
キャレットの位置を設定します。
int MQMemo::GetTabColumn();
(new in Rev4.64)
タブの幅がスペース何文字分に相当するかを取得します。
void MQMemo::SetTabColumn(int value);
(new in Rev4.64)
タブの幅がスペース何文字分に相当するかを設定します。
bool MQMemo::GetAutoIndent();
(new in Rev4.64)
改行時に自動でインデントを行うかどうかを取得します。
void MQMemo::SetAutoIndent(bool value);
(new in Rev4.64)
改行時に自動でインデントを行うかどうかを設定します。
bool MQMemo::GetShowTabMark();
(new in Rev4.64)
タブを記号として表示するかどうか取得します。
void MQMemo::SetShowTabMark(bool value);
(new in Rev4.64)
タブを記号として表示するかどうか設定します。
bool MQMemo::GetShowReturnMark();
(new in Rev4.64)
改行を記号として表示するかどうか取得します。
void MQMemo::SetShowReturnMark(bool value);
(new in Rev4.64)
改行を記号として表示するかどうか設定します。
bool MQMemo::GetShowLineNumber();
(new in Rev4.64)
行番号を表示するかどうか取得します。
void MQMemo::SetShowLineNumber(bool value);
(new in Rev4.64)
行番号を表示するかどうか設定します。
bool MQMemo::GetSyntaxHighlight();
(new in Rev4.64)
構文のハイライト表示が有効かどうか取得します。
void MQMemo::SetSyntaxHighlight(bool value);
(new in Rev4.64)
構文のハイライト表示を有効にするかどうか設定します。
bool MQMemo::GetChanged();
(new in Rev4.64)
テキストが編集されたかどうか取得します。
void MQMemo::SetChanged(bool value);
(new in Rev4.64)
テキストが編集されたかどうか設定します。
std::wstring MQMemo::GetMarkCharacters();
(new in Rev4.64)
構文ハイライトや単語検索時に記号として扱われる文字群を取得します。
void MQMemo::SetMarkCharacters(const std::wstring& text);
(new in Rev4.64)
構文ハイライトや単語検索時に記号として扱われる文字群を設定します。
void MQMemo::AddSyntaxKeyword(const std::wstring& text);
(new in Rev4.64)
構文ハイライト表示を行うキーワードを追加します。
例えば、CやPythonで言語組み込みの予約語「for」「break」などに相当します。
void MQMemo::ClearSyntaxKeyword();
(new in Rev4.64)
構文ハイライト表示を行うキーワードをすべて消去します。
void MQMemo::AddRadixPrefix(const std::wstring& text);
(new in Rev4.64)
構文ハイライト時に数値として認識するプレフィックスを追加します。
例えばCやPythonで16進数を表す「0x」が相当します。
void MQMemo::ClearRadixPrefix();
(new in Rev4.64)
構文ハイライト時に数値として認識するプレフィックスをすべて消去します。
std::wstring MQMemo::GetSyntaxComment();
(new in Rev4.64)
構文ハイライト時に行頭の単一行コメントとして扱われる文字列を取得します。
例えば、C++の「//」やPythonの「#」に相当します。
void MQMemo::SetSyntaxComment(const std::wstring& text);
(new in Rev4.64)
構文ハイライト時に行頭の単一行コメントとして扱われる文字列を設定します。
void MQMemo::AddSyntaxMultiLineComment(const std::wstring& start, const std::wstring& end);
(new in Rev4.64)
構文ハイライト時に複数行のコメントとして認識する開始・終了文字列を追加します。
例えばCの「/*」「*/」やPythonの「"""」「"""」に相当します。
void MQMemo::ClearSyntaxMultiLineComment();
(new in Rev4.64)
構文ハイライト時に複数行のコメントとして認識する開始・終了文字列をすべて消去します。
void MQMemo::AddSyntaxString(const std::wstring& start, const std::wstring& end);
(new in Rev4.64)
構文ハイライト時に文字列として認識する開始・終了文字列を追加します。
例えばCやPythonの「"」「"」などに相当します。
void MQMemo::ClearSyntaxString();
(new in Rev4.64)
構文ハイライト時に文字列として認識する開始・終了文字列をすべて消去します。
void MQMemo::SelectAll();
(new in Rev4.64)
文字列をすべて選択します。
void MQMemo::SelectRange(size_t start, size_t end);
(new in Rev4.64)
指定した範囲の文字列を選択します。
bool MQMemo::GetSelectedRange(size_t& start, size_t& end);
(new in Rev4.64)
現在選択されている文字列の範囲を取得します。
void MQMemo::CutSelection();
(new in Rev4.64)
選択範囲の文字列をカットし、クリップボードへ転送します。
void MQMemo::CopySelection();
(new in Rev4.64)
選択範囲の文字列をクリップボードへコピーします。
void MQMemo::PasteFromClipboard();
(new in Rev4.64)
クリップボードから文字列をペーストします。
void MQMemo::ReplaceSelectedText(const std::wstring& text);
(new in Rev4.64)
選択範囲を指定された文字列で置換します。
size_t MQMemo::FindString(const std::wstring& text, size_t start_pos, bool forward, bool matchcase, bool word);
(new in Rev4.64)
指定された条件下で検索文字列に最初に一致する位置を検索します。
size_t MQMemo::FindStringFromCaretPos(const std::wstring& text, bool forward, bool matchcase, bool word);
(new in Rev4.64)
指定された条件下で現在のキャレット位置から検索文字列に最初に一致する位置を検索します。
size_t MQMemo::FindNextWordBreak(size_t pos, bool forward);
(new in Rev4.64)
指定された位置から次の単語の区切れの位置を検索します。
bool MQMemo::GetLineColumnByCaretPos(size_t pos, int& line, int& column);
(new in Rev4.64)
指定された位置の行・列番号を取得します。
bool MQMemo::GetCaretPosByLineColumn(int line, int column, size_t& pos);
(new in Rev4.64)
指定された行・列番号から位置を取得します。
bool MQMemo::CanUndo();
(new in Rev4.64)
アンドゥ可能かどうか取得します。
bool MQMemo::CanRedo();
(new in Rev4.64)
リドゥ可能かどうか取得します。
void MQMemo::Undo();
(new in Rev4.64)
アンドゥ処理を実行します。
void MQMemo::Redo();
(new in Rev4.64)
リドゥ処理を実行します。
template<typename T> void MQMemo::AddChangedEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument), bool prior = false)
ユーザーの操作により文字列が変更されたときに発生されるイベントを追加します。
キー入力により文字列が編集されたときにAddChangingEvent()が、Enterキーが押されたりTabキーやマウス操作によって他のウィジェットへフォーカスが移動したときにAddChangedEvent()が発生します。
template<typename T> void MQMemo::AddChangingEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument), bool prior = false)
ユーザーの操作により文字列が変更されている最中に発生されるイベントを追加します。
キー入力により文字列が編集されたときにAddChangingEvent()が、Enterキーが押されたりTabキーやマウス操作によって他のウィジェットへフォーカスが移動したときにAddChangedEvent()が発生します。
template<typename T> void MQMemo::AddDrawItemEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument, MQMemoDrawItemParam&), bool prior = false)
(new in Rev4.64)
1行ごとの描画時に発生されるイベントを追加します。
通知先のメンバ関数 f は以下の引数・戻り値を持ったものである必要があります。
BOOL T::f(MQWidgetBase* sender, MQDocument doc, MQMemoDrawItemParam& param);
struct MQMemoDrawItemParam { MQCanvas *Canvas; int Line; size_t StartPos; size_t EndPos; int X; int Y; int Width; int Height; };