CEdit Class

Windows のエディット コントロールの機能が用意されています。

構文

class CEdit : public CWnd

メンバー

パブリック コンストラクター

名前 説明
CEdit::CEdit コントロール オブジェクトを CEdit 構築します。

パブリック メソッド

名前 説明
CEdit::CanUndo 編集コントロール操作を元に戻すかどうかを判断します。
CEdit::CharFromPos 指定した位置に最も近い文字の行インデックスと文字インデックスを取得します。
CEdit::Clear エディトコントロール内の現在の選択範囲 (指定されている場合) を削除 (クリア) します。
CEdit::Copy 編集コントロール内の現在の選択範囲 (指定されている場合) をクリップボードにコピーし、CF_TEXTします。
CEdit::Create 編集コントロールWindowsを作成し、 オブジェクトにアタッチ CEdit します。
CEdit::Cut 編集コントロール内の現在の選択項目 (指定されている場合) を削除 (切り取り) し、削除されたテキストをクリップボードにコピー CF_TEXTします。
CEdit::EmptyUndoBuffer 編集コントロールの元に戻すフラグをリセット (クリア) します。
CEdit::FmtLines 複数行エディトコントロール内のソフト行の折れ線文字を含めるかオフに設定します。
CEdit::GetCueBanner コントロールが空でフォーカスが設定されていない場合に、編集コントロールにテキスト キュー (ヒント) として表示されるテキストを取得します。
CEdit::GetFirstVisibleLine 編集コントロールの最上位に表示される行を決定します。
CEdit::GetHandle 複数行の編集コントロールに現在割り当てられているメモリへのハンドルを取得します。
CEdit::GetHighlight 現在の編集コントロールで強調表示されているテキスト範囲内の開始文字と終了文字のインデックスを取得します。
CEdit::GetLimitText この に含まれるテキストの最大量を CEdit 取得します。
CEdit::GetLine 編集コントロールからテキスト行を取得します。
CEdit::GetLineCount 複数行エディト コントロール内の行数を取得します。
CEdit::GetMargins この の左右の余白を取得します CEdit
CEdit::GetModify 編集コントロールの内容が変更されているかどうかを判断します。
CEdit::GetPasswordChar ユーザーがテキストを入力するときに編集コントロールに表示されるパスワード文字を取得します。
CEdit::GetRect 編集コントロールの書式設定四角形を取得します。
CEdit::GetSel 編集コントロール内の現在の選択範囲の最初と最後の文字位置を取得します。
CEdit::HideBalloonTip 現在の編集コントロールに関連付けられているバルーン ヒントを非表示にします。
CEdit::LimitText ユーザーが編集コントロールに入力できるテキストの長さを制限します。
CEdit::LineFromChar 指定した文字インデックスを含む行の行番号を取得します。
CEdit::LineIndex 複数行エディトコントロール内の行の文字インデックスを取得します。
CEdit::LineLength 編集コントロール内の行の長さを取得します。
CEdit::LineScroll 複数行エディトコントロールのテキストをスクロールします。
CEdit::P aste クリップボードから編集コントロールの現在のカーソル位置にデータを挿入します。 データが挿入されるのは、クリップボードにデータが含まれている場合にのみ、CF_TEXTされます。
CEdit::P osFromChar 指定した文字インデックスの左上隅の座標を取得します。
CEdit::ReplaceSel 編集コントロールの現在の選択内容を、指定したテキストに置き換します。
CEdit::SetCueBanner コントロールが空でフォーカスが設定されていない場合に、編集コントロールにテキスト キュー (ヒント) として表示されるテキストを設定します。
CEdit::SetHandle ハンドルを、複数行の編集コントロールで使用されるローカル メモリに設定します。
CEdit::SetHighlight 現在の編集コントロールに表示されるテキストの範囲を強調表示します。
CEdit::SetLimitText この に含まれるテキストの最大量 CEdit を設定します。
CEdit::SetMargins この の左右の余白を設定します CEdit
CEdit::SetModify 編集コントロールの変更フラグを設定またはクリアします。
CEdit::SetPasswordChar ユーザーがテキストを入力するときに編集コントロールに表示されるパスワード文字を設定または削除します。
CEdit::SetReadOnly 編集コントロールの読み取り専用状態を設定します。
CEdit::SetRect 複数行エディトコントロールの書式設定四角形を設定し、コントロールを更新します。
CEdit::SetRectNP コントロール ウィンドウを再描画せずに、複数行エディトコントロールの書式設定四角形を設定します。
CEdit::SetSel 編集コントロール内の文字の範囲を選択します。
CEdit::SetTabStops 複数行の編集コントロールのタブ ストップを設定します。
CEdit::ShowBalloonTip 現在の編集コントロールに関連付けられているバルーン ヒントを表示します。
CEdit::Undo 最後の編集コントロール操作を元に戻します。

Remarks

エディットコントロールは、ユーザーがテキストを入力できる四角形の子ウィンドウです。

エディットコントロールは、ダイアログテンプレートから作成することも、コード内で直接作成することもできます。 どちらの場合も、最初にコンストラクターを呼び出してオブジェクトを構築し、 CEdit CEdit 次にcreate member 関数を呼び出して Windows 編集コントロールを作成し、オブジェクトにアタッチし CEdit ます。

構築は、から派生したクラスの1ステップのプロセスにすることができ CEdit ます。 派生クラスのコンストラクターを記述し、 Create コンストラクター内からを呼び出します。

CEdit は、の重要な機能を継承 CWnd します。 オブジェクトのテキストを設定および取得するには、 CEdit CWnd メンバー関数 SetWindowTextgetwindowtextを使用します。これにより、複数行のコントロールであっても、エディットコントロールの内容全体が設定または取得されます。 複数行コントロールのテキスト行は、' \r\n ' 文字シーケンスで区切られます。 また、編集コントロールが複数行の場合は、 CEdit getlineSetSelgetline、および replaceselメンバー関数を呼び出すことによって、コントロールのテキストの一部を取得して設定します。

編集コントロールから親 (通常はから派生したクラス) に送信される Windows 通知メッセージを処理する場合は CDialog 、各メッセージの親クラスにメッセージマップエントリとメッセージハンドラーメンバー関数を追加します。

各メッセージマップエントリには、次の形式があります。

ON_通知( id, memberFxn )

idは、通知を送信する編集コントロールの子ウィンドウ ID を指定し memberFxn ます。は、通知を処理するために記述した親メンバー関数の名前です。

親の関数プロトタイプは次のとおりです。

afx_msg void memberFxn ();

次に示すのは、潜在的なメッセージマップエントリの一覧と、親に送信される可能性のあるケースの説明です。

  • ユーザーが編集コントロールのテキストを変更した可能性のあるアクションを実行した ON_EN_CHANGE。 EN_UPDATE 通知メッセージとは異なり、この通知メッセージは Windows が表示を更新した後に送信されます。

  • ON_EN_ERRSPACE の編集コントロールは、特定の要求を満たすのに十分なメモリを割り当てることができません。

  • ユーザーが編集コントロールの水平スクロールバーをクリック ON_EN_HSCROLL ます。 親ウィンドウには、画面が更新される前に通知されます。

  • エディットコントロール ON_EN_KILLFOCUS 入力フォーカスを失います。

  • 現在の挿入がエディットコントロールの指定された文字数を超えたため、切り捨てられた ON_EN_MAXTEXT。 また、エディットコントロールに ES_AUTOHSCROLL スタイルが設定されておらず、挿入される文字数がエディットコントロールの幅を超える場合にも送信されます。 また、エディットコントロールに ES_AUTOVSCROLL スタイルが設定されておらず、テキストの挿入によって生成される行の合計数がエディットコントロールの高さを超える場合にも送信されます。

  • ON_EN_SETFOCUS、エディットコントロールが入力フォーカスを受け取ったときに送信されます。

  • エディットコントロールが変更されたテキストを表示しようとしている ON_EN_UPDATE。 コントロールがテキストを書式設定した後、必要に応じてウィンドウサイズを変更できるように、テキストを表示する前に送信されます。

  • ユーザーが編集コントロールの垂直スクロールバーをクリック ON_EN_VSCROLL ます。 親ウィンドウには、画面が更新される前に通知されます。

ダイアログボックス内にオブジェクトを作成すると、 CEdit CEdit ユーザーがダイアログボックスを閉じたときにオブジェクトが自動的に破棄されます。

ダイアログ CEdit エディターを使用してダイアログリソースからオブジェクトを作成すると、 CEdit ユーザーがダイアログボックスを閉じたときにオブジェクトが自動的に破棄されます。

ウィンドウ内にオブジェクトを作成する場合は CEdit 、そのオブジェクトを破棄することも必要になることがあります。 スタックにオブジェクトを作成すると CEdit 、そのオブジェクトは自動的に破棄されます。 関数を使用してヒープにオブジェクトを作成する場合は、 CEdit new delete ユーザーが Windows 編集コントロールを終了したときにオブジェクトを破棄するために、を呼び出す必要があります。 オブジェクトにメモリを割り当てる場合は、デストラクターをオーバーライドして CEdit CEdit 割り当てを破棄します。

ES_READONLY などの編集コントロールで特定のスタイルを変更するには、 Modifystyleを使用する代わりに、特定のメッセージをコントロールに送信する必要があります。 「Windows SDK でのコントロールスタイルの編集」を参照してください。

の詳細につい CEdit ては、「 コントロール」を参照してください。

継承階層

CObject

CCmdTarget

CWnd

CEdit

必要条件

ヘッダー: afxwin.h

CEdit:: CanUndo

最後の編集操作を元に戻すことができるかどうかを判断するには、この関数を呼び出します。

BOOL CanUndo() const;

戻り値

メンバー関数の呼び出しによって最後の編集操作を元に戻すことができる場合は0以外の場合は。 Undo 元に戻すことができない場合は0。

Remarks

詳細については、Windows SDK の「 EM_CANUNDO 」を参照してください。

CEdit:: Undo」の例を参照してください。

CEdit:: CEdit

CEdit オブジェクトを構築します。

CEdit();

Remarks

Createを使用して Windows 編集コントロールを作成します。

// Declare a local CEdit object.
CEdit myEdit;

// Declare a dynamic CEdit object.
CEdit *pmyEdit = new CEdit;

CEdit:: CharFromPos

このコントロール内の指定された位置に最も近い文字の0から始まる行と文字のインデックスを取得するには、この関数を呼び出します。 CEdit

int CharFromPos(CPoint pt) const;

パラメーター

pt
このオブジェクトのクライアント領域内の点の座標 CEdit

戻り値

下位ワードの文字インデックス、および上位ワード内の行のインデックスです。

Remarks

注意

このメンバー関数は、Windows 95 および Windows NT 4.0 から使用できます。

詳細については、Windows SDK の「 EM_CHARFROMPOS 」を参照してください。

// CMyEdit inherits from CEdit
void CMyEdit::OnLButtonDown(UINT nFlags, CPoint point)
{
   int n = CharFromPos(point);
   int nLineIndex = HIWORD(n);
   int nCharIndex = LOWORD(n);
   TRACE(_T("nLineIndex = %d, nCharIndex = %d\r\n"), nLineIndex, nCharIndex);

   CEdit::OnLButtonDown(nFlags, point);
}

CEdit:: Clear

エディットコントロール内の現在の選択項目 (存在する場合) を削除する場合は、この関数を呼び出します。

void Clear();

Remarks

によって実行される削除は、 Clear Undo メンバー関数を呼び出すことによって元に戻すことができます。

現在の選択範囲を削除し、削除された内容をクリップボードに配置するには、 Cut メンバー関数を呼び出します。

詳細については、Windows SDK の「 WM_CLEAR 」を参照してください。

// Delete all of the text.
m_myEdit.SetSel(0, -1);
m_myEdit.Clear();

CEdit:: コピー

エディットコントロール内の現在の選択項目を CF_TEXT 形式でクリップボードにコピーするには、この関数を呼び出します。

void Copy();

Remarks

詳細については、Windows SDK の「 WM_COPY 」を参照してください。

// Copy all of the text to the clipboard.
m_myEdit.SetSel(0, -1);
m_myEdit.Copy();

CEdit:: Create

Windows 編集コントロールを作成し、オブジェクトにアタッチし CEdit ます。

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

パラメーター

dwStyle
エディットコントロールのスタイルを指定します。 編集スタイルの任意の組み合わせをコントロールに適用します。

rect
エディットコントロールのサイズと位置を指定します。 は、 CRect オブジェクトまたは構造体にすることができ RECT ます。

pParentWnd
エディットコントロールの親ウィンドウ (通常は) を指定し CDialog ます。 NULL にすることはできません。

nID
エディットコントロールの ID を指定します。

戻り値

初期化が成功した場合は0以外の。それ以外の場合は0です。

Remarks

オブジェクトを構築するには、 CEdit 2 つの手順を実行します。 まず、コンストラクターを呼び出し、 CEdit を呼び出し Create ます。これにより Windows 編集コントロールが作成され、オブジェクトにアタッチさ CEdit れます。

Create 実行すると、Windows はWM_NCCREATEWM_NCCALCSIZEWM_CREATE、およびWM_GETMINMAXINFOメッセージを編集コントロールに送信します。

これらのメッセージは、既定では、基本クラスの OnNcCreateOnNcCalcSizeOnCreate、および OnGetMinMaxInfo の各メンバー関数によって処理され CWnd ます。 既定のメッセージ処理を拡張するには、からクラスを派生させ、 CEdit 新しいクラスにメッセージマップを追加して、上記のメッセージハンドラーメンバー関数をオーバーライドします。 OnCreateたとえば、新しいクラスに必要な初期化を実行する場合は、をオーバーライドします。

次の ウィンドウスタイル を編集コントロールに適用します。

  • 常に WS_CHILD

  • WS_VISIBLE 通常

  • WS_DISABLED はまれ

  • グループコントロールに WS_GROUP

  • タブオーダーにエディットコントロールを含める WS_TABSTOP

// dynamically create an edit control
CEdit *pEdit = new CEdit;
pEdit->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
              CRect(10, 10, 100, 100), this, 1);

CEdit:: Cut

エディットコントロール内の現在の選択範囲を削除 (切り取り) し、削除されたテキストを CF_TEXT 形式でクリップボードにコピーするには、この関数を呼び出します。

void Cut();

Remarks

によって実行される削除は、 Cut Undo メンバー関数を呼び出すことによって元に戻すことができます。

削除されたテキストをクリップボードに配置せずに現在の選択項目を削除するには、 Clear メンバー関数を呼び出します。

詳細については、Windows SDK の「 WM_CUT 」を参照してください。

// Delete all of the text and copy it to the clipboard.
m_myEdit.SetSel(0, -1);
m_myEdit.Cut();

CEdit:: EmptyUndoBuffer

この関数を呼び出して、エディットコントロールの元に戻すフラグをリセット (クリア) します。

void EmptyUndoBuffer();

Remarks

エディットコントロールは、最後の操作を元に戻すことができなくなります。 元に戻すフラグは、エディットコントロール内の操作を元に戻すことができる場合に設定されます。

Undo フラグは、 SetWindowTextまたはSetHandle CWnd メンバー関数が呼び出されるたびに自動的にクリアされます。

詳細については、Windows SDK の「 EM_EMPTYUNDOBUFFER 」を参照してください。

// Clear the undo buffer.
if (m_myEdit.CanUndo())
{
   m_myEdit.EmptyUndoBuffer();
   ASSERT(!m_myEdit.CanUndo());
}

CEdit:: FmtLines

この関数を呼び出して、複数行のエディットコントロール内でソフト改行文字を含めるか無効にするかを設定します。

BOOL FmtLines(BOOL bAddEOL);

パラメーター

bAddEOL
ソフト改行文字を挿入するかどうかを指定します。 値が TRUE の場合は、文字が挿入されます。値が FALSE の場合は、削除されます。

戻り値

書式設定が行われる場合は0以外の。それ以外の場合は0です。

Remarks

ソフトライン改行は、2つのキャリッジリターンと、単語の折り返しによって改行される行の末尾に挿入される改行で構成されます。 ハード改行は、1つのキャリッジリターンとラインフィードで構成されます。 ハード改行で終わる行は、による影響を受けません FmtLines

Windows は、 CEdit オブジェクトが複数行のエディットコントロールである場合にのみ応答します。

FmtLines は、 GetHandle によって返されるバッファーと WM_GETTEXTによって返されるテキストにのみ影響します。 エディットコントロール内のテキストの表示には影響しません。

詳細については、Windows SDK の「 EM_FMTLINES 」を参照してください。

CString strText;

// Add soft line-break breaks.
m_myEdit.FmtLines(TRUE);

// Dump the text of the edit control.
m_myEdit.GetWindowText(strText);
AFXDUMP(strText);

// Remove soft line-break breaks.
m_myEdit.FmtLines(FALSE);

CEdit:: GetCueBanner

コントロールが空の場合に、エディットコントロールにテキストキュー (ヒント) として表示されるテキストを取得します。

BOOL GetCueBanner(
    LPWSTR lpszText,
    int cchText) const;

CString GetCueBanner() const;

パラメーター

lpszText
入出力キューテキストを含む文字列へのポインター。

cchText
から受信できる文字数。 この数値には、終端の NULL 文字が含まれます。

戻り値

最初のオーバーロードの場合は、メソッドが成功した場合は TRUE。それ以外の場合は FALSE。

2番目のオーバーロードでは、メソッドが成功した場合は、キューのテキストを含む CString です。それ以外の場合は、空の文字列 ("") です。

Remarks

このメソッドは、Windows SDK で説明されているEM_GETCUEBANNERメッセージを送信します。 詳細については、 Edit_GetCueBannerText マクロを参照してください。

CEdit:: GetFirstVisibleLine

この関数を呼び出して、エディットコントロールで最上位に表示される行を決定します。

int GetFirstVisibleLine() const;

戻り値

最上位の行の0から始まるインデックス。 単一行エディットコントロールの場合、戻り値は0です。

Remarks

詳細については、Windows SDK の「 EM_GETFIRSTVISIBLELINE 」を参照してください。

int nFirstVisible = m_myEdit.GetFirstVisibleLine();

// Scroll the edit control so that the first visible line
// is the first line of text.
if (nFirstVisible > 0)
{
   m_myEdit.LineScroll(-nFirstVisible, 0);
}

CEdit:: GetHandle

この関数を呼び出して、複数行のエディットコントロールに現在割り当てられているメモリのハンドルを取得します。

HLOCAL GetHandle() const;

戻り値

エディットコントロールの内容を保持しているバッファーを識別するローカルメモリハンドル。 単一行のエディットコントロールにメッセージを送信するなどのエラーが発生した場合、戻り値は0です。

Remarks

ハンドルはローカルメモリハンドルであり、ローカルメモリハンドルをパラメーターとして受け取る ローカル Windows メモリ関数のいずれかによって使用される場合があります。

GetHandle は、複数行のエディットコントロールによってのみ処理されます。

ダイアログボックスが GetHandle DS_LOCALEDIT スタイルフラグが設定された状態で作成された場合にのみ、ダイアログボックスで複数行のエディットコントロールを呼び出します。 DS_LOCALEDIT スタイルが設定されていない場合でも、0以外の戻り値は取得されますが、戻り値を使用することはできません。

注意

GetHandleWindows 95/98 では機能しません。 Windows 95/98 でを呼び出すと GetHandle 、NULL が返されます。 GetHandleは、Windows NT バージョン3.51 以降で説明されているとおりに動作します。

詳細については、Windows SDK の「 EM_GETHANDLE 」を参照してください。

HLOCAL h = m_myEdit.GetHandle();
LPCTSTR lpszText = (LPCTSTR)::LocalLock(h);

// Dump the text of the edit control.
AFXDUMP(lpszText);

::LocalUnlock(h);

CEdit:: GetHighlight

現在の編集コントロールで強調表示されているテキスト範囲内の最初と最後の文字のインデックスを取得します。

BOOL GetHighlight(
    int* pichStart,
    int* pichEnd) const;

パラメーター

ピクチャの開始
入出力強調表示されているテキスト範囲内の最初の文字の0から始まるインデックス番号。

ピクチャの終了
入出力強調表示されているテキスト範囲内の最後の文字の0から始まるインデックス番号。

戻り値

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。

Remarks

このメソッドは、Windows SDK で説明されているEM_GETHILITEメッセージを送信します。 SetHighlightとはどちらも、 GetHighlight 現在 UNICODE ビルドでのみ有効です。

CEdit:: GetLimitText

このメンバー関数を呼び出して、このオブジェクトのテキスト制限を取得し CEdit ます。

UINT GetLimitText() const;

戻り値

このオブジェクトの現在のテキストの制限 (TCHARs) CEdit

Remarks

テキストの上限は、エディットコントロールが受け入れることができるテキストの最大サイズ (TCHARs 単位) です。

注意

このメンバー関数は、95 および Windows 4.0 Windows NTで使用できます。

詳細については、EM_GETLIMITTEXT SDKのWindows参照してください。

CString strText(_T("I'm an edit control!"));
UINT nLength = strText.GetLength() * sizeof(TCHAR);

// Want the text limit to be at least the size of the new string.
if (m_myEdit.GetLimitText() < nLength)
   m_myEdit.SetLimitText(nLength);

m_myEdit.SetWindowText(strText);

CEdit::GetLine

編集コントロールからテキスト行を取得し 、lpszBuffer に挿入するには、この関数を呼び出します

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer) const;

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer,
    int nMaxLength) const;

パラメーター

nIndex
複数行の編集コントロールから取得する行番号を指定します。 行番号は 0 から始ります。値 0 は、最初の行を指定します。 このパラメーターは、単一行の編集コントロールでは無視されます。

lpszBuffer
行のコピーを受け取るバッファーをポイントします。 バッファーの最初のワードは、バッファーにコピーできる TCHARs の最大数を指定する必要があります。

nMaxLength
バッファーにコピーできる TCHAR 文字の最大数を指定します。 GetLineは、呼び出しを行う前 に lpszBuffer の最初の単語にこの値をWindows。

戻り値

実際にコピーされた文字数。 nIndex で指定された行番号が編集コントロールの行数を超える場合、戻り値は 0 です。

Remarks

コピーされた行には、null 終端文字は含め "いません"。

詳細については、sdk のEM_GETLINEを参照Windowsしてください。

CEdit::GetLineCount の例を参照してください

CEdit::GetLineCount

この関数を呼び出して、複数行エディトコントロールの行数を取得します。

int GetLineCount() const;

戻り値

複数行編集コントロールの行数を含む整数。 編集コントロールにテキストが入力されていない場合、戻り値は 1 です。

Remarks

GetLineCount は、複数行の編集コントロールによってのみ処理されます。

詳細については、sdk のEM_GETLINECOUNTを参照Windowsしてください。

int i, nLineCount = m_myEdit.GetLineCount();
CString strText, strLine;
// Dump every line of text of the edit control.
for (i = 0; i < nLineCount; i++)
{
   // length of line i:
   int len = m_myEdit.LineLength(m_myEdit.LineIndex(i));
   m_myEdit.GetLine(i, strText.GetBuffer(len), len);
   strText.ReleaseBuffer(len);
   strLine.Format(_T("line %d: '%s'\n"), i, strText);
   AFXDUMP(strLine);
}

CEdit::GetMargins

このメンバー関数を呼び出して、この編集コントロールの左右の余白を取得します。

DWORD GetMargins() const;

戻り値

低い順序の WORD の左余白の幅と、高い順序の WORD の右余白の幅。

Remarks

余白はピクセル単位で測定されます。

注意

このメンバー関数は、95 および Windows 4.0 Windows NTで使用できます。

詳細については、sdk のEM_GETMARGINSをWindowsしてください。

CEditView::GetEditCtrl の例を参照してください

CEdit::GetModify

この関数を呼び出して、編集コントロールの内容が変更されているかどうかを確認します。

BOOL GetModify() const;

戻り値

編集コントロールの内容が変更されている場合は 0 以外。変更されていない場合は 0。

Remarks

Windows編集コントロールの内容が変更されたかどうかを示す内部フラグを保持します。 このフラグは、編集コントロールが最初に作成されるとクリアされ 、SetModify メンバー関数を呼び出すことによってクリアされる場合があります。

詳細については、EM_GETMODIFY SDKWindowsしてください。

// Reset the modified state only if my edit has been modified.
if (m_myEdit.GetModify())
   m_myEdit.SetModify(FALSE);

CEdit::GetPasswordChar

この関数を呼び出して、ユーザーがテキストを入力するときに編集コントロールに表示されるパスワード文字を取得します。

TCHAR GetPasswordChar() const;

戻り値

ユーザーが入力した文字の代わりに表示する文字を指定します。 パスワード文字が存在しない場合、戻り値は NULL です。

Remarks

既定のスタイルを使用して編集コントロールES_PASSWORD、コントロールをサポートする DLL によって既定のパスワード文字が決定されます。 マニフェストまたは InitCommonControlsEx メソッドは、編集コントロールをサポートする DLL を決定します。 編集user32.dllサポートされている場合、既定のパスワード文字はアスタリスク ('*'、U+002A) です。 バージョン comctl32.dll 6 で編集コントロールがサポートされている場合、既定の文字は BLACK CIRCLE ('(#)'、U+25CF) です。 共通コントロールをサポートする DLL とバージョンの詳細については、「シェルとコモン コントロールのバージョン 」を参照してください

このメソッドは、EM_GETPASSWORDCHAR SDK で説明されているメッセージをWindowsします。

// Turn on the password mode.
m_myEdit.SetPasswordChar('*');
ASSERT(m_myEdit.GetStyle() & ES_PASSWORD);
ASSERT(m_myEdit.GetPasswordChar() == '*');

CEdit::GetRect

編集コントロールの書式設定四角形を取得するには、この関数を呼び出します。

void GetRect(LPRECT lpRect) const;

パラメーター

Lprect
書式設定四角形 RECT を受け取る 構造体をポイントします。

Remarks

書式設定四角形は、編集コントロール ウィンドウのサイズに依存しない、テキストの制限付き四角形です。

複数行エディット コントロールの書式設定四角形は 、SetRect および SetRectNP メンバー関数によって変更できます。

詳細については、EM_GETRECT SDKのWindows参照してください。

CEdit::LimitText の例を参照してください

CEdit::GetSel

この関数を呼び出して、戻り値またはパラメーターを使用して、編集コントロール内の現在の選択範囲の開始位置と終了文字位置 (ある場合) を取得します。

DWORD GetSel() const;

void GetSel(
    int& nStartChar,
    int& nEndChar) const;

パラメーター

nStartChar
現在の選択範囲の最初の文字の位置を受け取る整数への参照。

nEndChar
現在の選択範囲の末尾を越えた最初の非選択文字の位置を受け取る整数への参照。

戻り値

DWORD を返すバージョンは、低い順序の単語の開始位置と、選択の終了後の最初の非選択文字の位置を含む値を返します。

Remarks

詳細については、sdk のEM_GETSELを参照Windowsしてください。

// Set the selection to be all characters after the current selection.
DWORD dwSel = m_myEdit.GetSel();
m_myEdit.SetSel(HIWORD(dwSel), -1);

CEdit::HideBalloonTip

現在の編集コントロールに関連付けられているバルーン ヒントを非表示にします。

BOOL HideBalloonTip();

戻り値

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。

Remarks

この関数は、EM_HIDEBALLOONTIP SDK で説明されているメッセージをWindowsします。

CEdit::LimitText

ユーザーが編集コントロールに入力できるテキストの長さを制限するには、この関数を呼び出します。

void LimitText(int nChars = 0);

パラメーター

nChars
ユーザーが入力できるテキストの長さ (TCHARs) を指定します。 このパラメーターが 0 の場合、テキストの長さは 1 バイトUINT_MAXされます。 これは既定の動作です。

Remarks

テキストの制限を変更すると、ユーザーが入力できるテキストのみが制限されます。 エディットコントロールに既に存在するテキストには影響しません。また、の SetWindowText メンバー関数によってエディットコントロールにコピーされるテキストの長さにも影響しません CWnd 。 アプリケーションで関数を使用して、の SetWindowText 呼び出しで指定されたよりも多くのテキストを編集コントロールに配置する場合 LimitText 、ユーザーは編集コントロール内の任意のテキストを削除できます。 ただし、テキストの制限により、現在の選択範囲を削除してもテキストがテキストの上限を超えない限り、ユーザーは既存のテキストを新しいテキストに置き換えることができなくなります。

注意

Win32 (Windows NT および Windows 95/98) では、 setlimittextはこの関数を置き換えます。

詳細については、Windows SDK の「 EM_LIMITTEXT 」を参照してください。

// Limit the number of characters to be the maximum number visible.

// Get the text metrics for the edit; needed for the
// average character width.
TEXTMETRIC tm;
CDC *pDC = m_myEdit.GetDC();
pDC->GetTextMetrics(&tm);
m_myEdit.ReleaseDC(pDC);

CRect r;
m_myEdit.GetRect(&r);
m_myEdit.LimitText(r.Width() / tm.tmAveCharWidth);

CEdit:: LineFromChar

この関数を呼び出して、指定した文字インデックスを含む行の行番号を取得します。

int LineFromChar(int nIndex = -1) const;

パラメーター

nIndex
エディットコントロールのテキストに、目的の文字の0から始まるインデックス値を格納します。または、-1 を格納します。 NIndex が-1 の場合は、現在の行、つまり、カレットを含む行を指定します。

戻り値

NIndex によって指定された文字インデックスを含む行の0から始まる行番号。 NIndex が-1 の場合は、選択範囲の最初の文字を含む行の番号が返されます。 選択されていない場合は、現在の行番号が返されます。

Remarks

文字インデックスは、エディットコントロールの先頭からの文字数です。

このメンバー関数は、複数行のエディットコントロールによってのみ使用されます。

詳細については、Windows SDK の「 EM_LINEFROMCHAR 」を参照してください。

// The index of the char to get information on.
int nIndex = 4;
CString strText;

m_myEdit.GetWindowText(strText);
strText = strText.Mid(nIndex, 1);

// Get the text extent of the character.
CDC *pDC = m_myEdit.GetDC();
CSize sz = pDC->GetTextExtent(strText);
m_myEdit.ReleaseDC(pDC);

CPoint pt = m_myEdit.PosFromChar(nIndex);

// Dump the index, character, line number, and character bounds.
TRACE(_T("nIndex = %d, character = %c, line = %d, bounds = ")
      _T("{%d, %d, %d, %d}\r\n"),
      nIndex, strText[0], m_myEdit.LineFromChar(nIndex),
      pt.x /* left */, pt.y /* top */,
      pt.x + sz.cx /* right */, pt.y + sz.cy /* bottom */);

CEdit:: LineIndex

この関数を呼び出して、複数行のエディットコントロール内の行の文字インデックスを取得します。

int LineIndex(int nLine = -1) const;

パラメーター

N 行
エディットコントロールのテキスト内の目的の行のインデックス値を格納します。または、-1 を格納します。 N 行 が-1 の場合は、現在の行、つまり、カレットを含む行を指定します。

戻り値

N 行 で指定された行の文字インデックス。または、指定した行番号が編集コントロールの行数よりも大きい場合は-1。

Remarks

文字インデックスは、エディットコントロールの先頭から指定した行までの文字数です。

このメンバー関数は、複数行のエディットコントロールによってのみ処理されます。

詳細については、Windows SDK の「 EM_LINEINDEX 」を参照してください。

// The string for replacing.
CString strString(_T("Hi, we're the replacements."));
int nBegin, nEnd;

// Replace the second line, if it exists, of the edit control
// with the text strString.
if ((nBegin = m_myEdit.LineIndex(1)) != -1)
{
   nEnd = nBegin + m_myEdit.LineLength(nBegin);
   m_myEdit.SetSel(nBegin, nEnd);
   m_myEdit.ReplaceSel(strString);
}

CEdit:: LineLength

エディットコントロールの行の長さを取得します。

int LineLength(int nLine = -1) const;

パラメーター

N 行
長さを取得する行内の文字の0から始まるインデックス。 既定値は -1 です。

戻り値

単一行エディットコントロールの場合、戻り値は、エディットコントロール内のテキストの長さ (TCHARs 単位) です。

複数行のエディットコントロールの場合、戻り値は n 行 パラメーターで指定された行の tchars の長さです。 ANSI テキストの場合、長さは行のバイト数です。Unicode テキストの場合、長さは行の文字数です。 長さには、行末の復帰文字は含まれません。

N 行 パラメーターがコントロール内の文字数よりも大きい場合、戻り値は0になります。

N 行 パラメーターが-1 の場合、戻り値は、選択された文字を含む行で選択されていない文字の数になります。 たとえば、1つの行の4番目の文字から、次の行の末尾の8番目の文字までを選択した場合、戻り値は10になります。 つまり、1行目に3文字、次に7つの文字があります。

tchar 型の詳細については、「 Windows データ型」の表の tchar 行を参照してください。

Remarks

このメソッドは、Windows SDK で説明されているEM_LINELENGTHメッセージでサポートされています。

CEdit:: LineIndex」の例を参照してください。

CEdit:: LineScroll

この関数を呼び出して、複数行のエディットコントロールのテキストをスクロールします。

void LineScroll(
    int nLines,
    int nChars = 0);

パラメーター

nLines
垂直方向にスクロールする行数を指定します。

nChars
水平方向にスクロールする文字位置の数を指定します。 エディットコントロールに ES_RIGHT スタイルまたは ES_CENTER スタイルが指定されている場合、この値は無視されます。

Remarks

このメンバー関数は、複数行のエディットコントロールによってのみ処理されます。

エディットコントロール内のテキストの最後の行を垂直方向にスクロールすることはできません。 現在の行と nLines で指定された行数が、エディットコントロールの行の合計数を超えた場合、エディットコントロールの最後の行が編集コントロールウィンドウの一番上にスクロールされるように値が調整されます。

LineScroll を使用すると、行の最後の文字を越えて水平方向にスクロールできます。

詳細については、Windows SDK の「 EM_LINESCROLL 」を参照してください。

CEdit:: GetFirstVisibleLine」の例を参照してください。

CEdit::P aste

クリップボードから挿入ポイントのにデータを挿入するには、この関数を呼び出し CEdit ます。

void Paste();

Remarks

クリップボードに CF_TEXT 形式のデータが含まれている場合にのみ、データが挿入されます。

詳細については、Windows SDK の「 WM_PASTE 」を参照してください。

// Replace all of the text with the text in the clipboard.
m_myEdit.SetSel(0, -1);
m_myEdit.Paste();

CEdit::P osFromChar

このオブジェクト内の特定の文字の位置 (左上隅) を取得するには、この関数を呼び出し CEdit ます。

CPoint PosFromChar(UINT nChar) const;

パラメーター

nChar
指定した文字の0から始まるインデックス。

戻り値

NChar によって指定された文字の左上隅の座標。

Remarks

文字は、0から始まるインデックス値を指定することによって指定されます。 NChar がこのオブジェクトの最後の文字のインデックスよりも大きい場合 CEdit 、戻り値は、このオブジェクトの最後の文字の直後にある文字位置の座標を指定し CEdit ます。

注意

このメンバー関数は、Windows 95 および Windows NT 4.0 から使用できます。

詳細については、Windows SDK の「 EM_POSFROMCHAR 」を参照してください。

CEdit:: LineFromChar」の例を参照してください。

CEdit:: ReplaceSel

エディットコントロールの現在の選択項目を、 lpszNewText で指定したテキストに置き換えるには、この関数を呼び出します。

void ReplaceSel(LPCTSTR lpszNewText, BOOL bCanUndo = FALSE);

パラメーター

lpszNewText
置換テキストを含む null で終わる文字列を指します。

bCanUndo
この関数を元に戻すことができるように指定するには、このパラメーターの値を TRUE に設定します。 既定値は FALSE です。

Remarks

編集コントロール内のテキストの一部のみを置き換える。 すべてのテキストを置き換える場合は 、CWnd::SetWindowText メンバー関数を 使用します。

現在選択されているテキストがない場合、置換テキストは現在のカーソル位置に挿入されます。

詳細については、EM_REPLACESEL SDKのWindowsしてください。

CEdit::LineIndex の例を参照してください

CEdit::SetCueBanner

コントロールが空のときに編集コントロールにテキスト キュー (ヒント) として表示されるテキストを設定します。

BOOL SetCueBanner(LPCWSTR lpszText);

BOOL SetCueBanner(
    LPCWSTR lpszText,
    BOOL fDrawWhenFocused = FALSE);

パラメーター

lpszText
[in]編集コントロールに表示するキューを含む文字列へのポインター。

fDrawWhenFocused
[in]FALSE の場合、ユーザーが編集コントロールをクリックしてコントロールにフォーカスを設定すると、キュー バナーは描画されません。

TRUE の場合、コントロールにフォーカスがある場合でもキュー バナーが描画されます。 ユーザーがコントロールに入力を開始すると、キュー バナーが表示されなくなります。

既定値は FALSE です。

戻り値

メソッドが成功した場合は TRUE。それ以外の場合は FALSE。

Remarks

このメソッドは、EM_SETCUEBANNER SDK で説明されているメッセージをWindowsします。 詳細については、次のマクロを Edit_SetCueBannerTextFocused してください。

次の例は 、CEdit::SetCueBanner メソッドを示 しています。

m_cedit.SetCueBanner(_T("First, enter text here..."), TRUE);

CEdit::SetHandle

この関数を呼び出して、複数行の編集コントロールで使用されるローカル メモリにハンドルを設定します。

void SetHandle(HLOCAL hBuffer);

パラメーター

hBuffer
ローカル メモリへのハンドルを格納します。 このハンドルは、ローカル フラグを使用してLocalAlloc関数を呼び出Windowsによって作成LMEM_MOVEABLEがあります。 メモリには null で終えた文字列が含まれていると見なされます。 そうではない場合は、割り当てられたメモリの最初のバイトを 0 に設定する必要があります。

Remarks

編集コントロールは、このバッファーを使用して、独自のバッファーを割り当てる代わりに、現在表示されているテキストを格納します。

このメンバー関数は、複数行の編集コントロールによってのみ処理されます。

アプリケーションで新しいメモリ ハンドルを設定する前に、GetHandleメンバー関数を使用して現在のメモリ バッファーへのハンドルを取得し、Windows 関数を使用してそのメモリ LocalFree を解放する必要があります。

SetHandle は、元に戻すバッファー (CanUndo メンバー関数は 0 を返します) と内部変更フラグ (GetModify メンバー関数は 0 を返します) をクリアします。 エディト コントロール ウィンドウが再描画されます。

このメンバー関数は、ダイアログ ボックス内の複数行の編集コントロールで使用できます。これは、ダイアログ ボックスにスタイル フラグが設定されたダイアログ ボックスDS_LOCALEDIT作成した場合のみです。

注意

GetHandleは 95/98 Windowsでは機能しません。 GetHandle95/98 Windowsを呼び出した場合、NULL が返されます。 GetHandleは、バージョン 3.51 Windows NTのドキュメントに記載されている通り動作します。

詳細については、Windows SDK の「EM_SETHANDLE、LocalAlloc、および LocalFree」を参照してください。

// The string to set in the edit control.
CString strString(_T("George Frideric"));

// Initialize the new local handle.
size_t cbSize = (strString.GetLength() + 1) * sizeof(TCHAR);
HLOCAL h = ::LocalAlloc(LHND, cbSize);
LPTSTR lpszText = (LPTSTR)::LocalLock(h);
_tcsncpy_s(lpszText, cbSize / sizeof(TCHAR), strString, _TRUNCATE);
::LocalUnlock(h);

// Free the current text handle of the edit control.
::LocalFree(m_myEdit.GetHandle());

// Set the new text handle.
m_myEdit.SetHandle(h);

CEdit::SetHighlight

現在の編集コントロールに表示されるテキストの範囲を強調表示します。

void SetHighlight(
    int ichStart,
    int ichEnd);

パラメーター

ichStart
[in]強調表示するテキスト範囲内の最初の文字の 0 から始るインデックス。

ichEnd
[in]強調表示するテキスト範囲の最後の文字の 0 から始るインデックス。

Remarks

このメソッドは、EM_SETHILITE SDK で説明されているメッセージをWindowsします。 このメソッドは、EM_SETHILITE SDK で説明されているメッセージをWindowsします。 と SetHighlightGetHighlight 両方が UNICODE ビルドでのみ有効になります。

CEdit::SetLimitText

このメンバー関数を呼び出して、このオブジェクトのテキスト制限を設定 CEdit します。

void SetLimitText(UINT nMax);

パラメーター

nMax
新しいテキスト制限 (文字数)。

Remarks

テキスト制限は、編集コントロールが受け入れ可能なテキストの最大文字数です。

テキスト制限を変更すると、ユーザーが入力できるテキストだけが制限されます。 編集コントロールに既に存在するテキストには影響しません。また、 の SetWindowText メンバー関数によって編集コントロールにコピーされるテキストの長さにも影響しません CWnd 。 アプリケーションが 関数を使用して、 の呼び出しで指定されているよりも多くのテキストを編集コントロールに配置する場合、ユーザーは編集コントロール内の任意のテキスト SetWindowText LimitText を削除できます。 ただし、現在の選択内容を削除するとテキストがテキストの制限を下回る場合を超える場合を超える限り、テキストの制限により、ユーザーは既存のテキストを新しいテキストに置き換えるのを防ぐ必要があります。

この関数は、Win32 の LimitText を置き換える関数です。

詳細については、Windows SDK の「EM_SETLIMITTEXT」を参照してください。

CEditView::GetEditCtrl の例を参照してください

CEdit::SetMargins

この編集コントロールの左右の余白を設定するには、このメソッドを呼び出します。

void SetMargins(
    UINT nLeft,
    UINT nRight);

パラメーター

nLeft
新しい左余白の幅 (ピクセル単位)。

nRight
新しい右余白の幅 (ピクセル単位)。

Remarks

注意

このメンバー関数は、95 および Windows 4.0 Windows NTで使用できます。

詳細については、Windows SDK の「EM_SETMARGINS」を参照してください。

CEditView::GetEditCtrl の例を参照してください

CEdit::SetModify

編集コントロールの変更済みフラグを設定またはクリアするには、この関数を呼び出します。

void SetModify(BOOL bModified = TRUE);

パラメーター

bModified
値 TRUE は、テキストが変更済みであり、FALSE の値は変更されていない状態を示します。 既定では、変更されたフラグが設定されます。

Remarks

変更されたフラグは、編集コントロール内のテキストが変更されたかどうかを示します。 ユーザーがテキストを変更するたびに自動的に設定されます。 その値は 、GetModify メンバー関数を使用して 取得できます。

詳細については、EM_SETMODIFY SDKのWindowsしてください。

CEdit::GetModify の例を参照してください

CEdit::SetPasswordChar

ユーザーがテキストを入力するときに編集コントロールに表示されるパスワード文字を設定または削除するには、この関数を呼び出します。

void SetPasswordChar(TCHAR ch);

パラメーター

Ch
ユーザーが入力した文字の代わりに表示される文字を指定します。 Ch が0の場合は、ユーザーが入力した実際の文字が表示されます。

Remarks

パスワード文字を設定すると、ユーザーが入力した文字ごとにその文字が表示されます。

このメンバー関数は、複数行のエディットコントロールには影響しません。

SetPasswordCharメンバー関数が呼び出されると、 CEdit は、 ch によって指定された文字を使用して、表示されるすべての文字を再描画します。

エディットコントロールが ES_PASSWORD スタイルで作成されている場合、既定のパスワード文字はアスタリスク () に設定され * ます。 SetPasswordChar Ch を0に設定してを呼び出すと、このスタイルは削除されます。

詳細については、Windows SDK の「 EM_SETPASSWORDCHAR 」を参照してください。

// Turn off the password mode.
m_myEdit.SetPasswordChar(0);
ASSERT(!(m_myEdit.GetStyle() & ES_PASSWORD));

CEdit:: SetReadOnly

エディットコントロールの読み取り専用の状態を設定するために、この関数を呼び出します。

BOOL SetReadOnly(BOOL bReadOnly = TRUE);

パラメーター

bReadOnly
エディットコントロールの読み取り専用の状態を設定または削除するかどうかを指定します。 値が TRUE の場合は、状態が読み取り専用に設定されます。値が FALSE の場合、状態は読み取り/書き込みに設定されます。

戻り値

操作が成功した場合は0以外の場合は。エラーが発生した場合は0。

Remarks

現在の設定を検索するには、 CWnd:: GetStyleの戻り値のES_READONLYフラグをテストします。

詳細については、Windows SDK の「 EM_SETREADONLY 」を参照してください。

// Set the edit control to be read-only.
m_myEdit.SetReadOnly(TRUE);
ASSERT(m_myEdit.GetStyle() & ES_READONLY);

CEdit:: SetRect

この関数を呼び出して、指定した座標を使用して四角形の寸法を設定します。

void SetRect(LPCRECT lpRect);

パラメーター

lpRect
RECT CRect 書式指定用の四角形の新しい次元を指定する構造体またはオブジェクトを指します。

Remarks

このメンバーは、複数行のエディットコントロールによってのみ処理されます。

SetRect複数行のエディットコントロールの書式指定用の四角形を設定するには、を使用します。 書式設定用の四角形は、エディットコントロールウィンドウのサイズに依存しない、テキストの限定された四角形です。 エディットコントロールが最初に作成されたとき、書式設定の四角形は編集コントロールウィンドウのクライアント領域と同じになります。 メンバー関数を使用すると、 SetRect アプリケーションは、書式設定の四角形を編集コントロールウィンドウよりも大きくしたり小さくしたりすることができます。

エディットコントロールにスクロールバーがない場合、書式設定の四角形がウィンドウより大きい場合、テキストは切り取られずに切り取られます。 エディットコントロールに境界線が含まれている場合は、罫線のサイズによって書式設定の四角形が縮小されます。 メンバー関数によって返される四角形を調整する場合は、 GetRect 四角形をに渡す前に、境界線のサイズを削除する必要があり SetRect ます。

SetRectが呼び出されると、エディットコントロールのテキストも再フォーマットされ、再表示されます。

詳細については、Windows SDK の「 EM_SETRECT 」を参照してください。

// Flag indicating whether to redraw the edit control.
bool fRedraw = TRUE;

CRect r;

m_myEdit.GetRect(&r);

// Reduce the formatting rect of the edit control by
// 10 pixels on each side.
if ((r.Width() > 20) && (r.Height() > 20))
{
   r.DeflateRect(10, 10);

   if (fRedraw)
      m_myEdit.SetRect(&r);
   else
      m_myEdit.SetRectNP(&r);
}

CEdit:: SetRectNP

複数行の編集コントロールの書式指定用の四角形を設定するには、この関数を呼び出します。

void SetRectNP(LPCRECT lpRect);

パラメーター

lpRect
RECT CRect 四角形の新しい寸法を指定する構造体またはオブジェクトを指します。

Remarks

書式設定用の四角形は、エディットコントロールウィンドウのサイズに依存しない、テキストの限定された四角形です。

SetRectNPSetRect 、編集コントロールウィンドウが再描画されない点を除いて、メンバー関数と同じです。

エディットコントロールが最初に作成されたとき、書式設定の四角形は編集コントロールウィンドウのクライアント領域と同じになります。 アプリケーションでは、メンバー関数を呼び出すことにより、 SetRectNP 書式設定の四角形を編集コントロールウィンドウよりも大きくしたり小さくしたりすることができます。

エディットコントロールにスクロールバーがない場合、書式設定の四角形がウィンドウより大きい場合、テキストは切り取られずに切り取られます。

このメンバーは、複数行のエディットコントロールによってのみ処理されます。

詳細については、Windows SDK の「 EM_SETRECTNP 」を参照してください。

CEdit:: SetRect」の例を参照してください。

CEdit:: SetSel

エディットコントロール内の文字の範囲を選択するには、この関数を呼び出します。

void SetSel(
    DWORD dwSelection,
    BOOL bNoScroll = FALSE);

void SetSel(
    int nStartChar,
    int nEndChar,
    BOOL bNoScroll = FALSE);

パラメーター

dwSelection
下位ワードの開始位置と上位ワードの終了位置を指定します。 下位ワードが0で、上位ワードが-1 の場合、エディットコントロール内のすべてのテキストが選択されます。 下位ワードが-1 の場合、現在の選択項目はすべて削除されます。

bNoScroll
キャレットをスクロールして表示するかどうかを示します。 FALSE の場合、キャレットはスクロールして表示されます。 TRUE の場合、キャレットはスクロールされずに表示されます。

nStartChar
開始位置を指定します。 Nstartchar が0で nEndChar が-1 の場合、エディットコントロール内のすべてのテキストが選択されます。 Nstartchar が-1 の場合、現在の選択はすべて削除されます。

nEndChar
終了位置を指定します。

Remarks

詳細については、Windows SDK の「 EM_SETSEL 」を参照してください。

CEdit:: GetSel」の例を参照してください。

CEdit:: SetTabStops

この関数を呼び出して、複数行のエディットコントロールでタブストップを設定します。

void SetTabStops();
BOOL SetTabStops(const int& cxEachStop);

BOOL SetTabStops(
    int nTabStops,
    LPINT rgTabStops);

パラメーター

cxEachStop
すべての cxEachStop ダイアログ単位でタブストップを設定することを指定します。

nTabStops
RgTabStops に含まれるタブストップの数を指定します。 この数値は1より大きい値である必要があります。

rgTabStops
ダイアログ単位のタブストップを指定する符号なし整数の配列を指します。 ダイアログ単位は、水平方向または垂直方向の距離です。 水平ダイアログ単位は、現在のダイアログベースの幅の単位の1番目と同じです。また、1つの垂直ダイアログ単位は、現在のダイアログベースの高さ単位の8分の1と等しくなります。 ダイアログの基本単位は、現在のシステムフォントの高さと幅に基づいて計算されます。 GetDialogBaseUnitsWindows 関数は、現在のダイアログベース単位をピクセル単位で返します。

戻り値

タブが設定されている場合は0以外の。それ以外の場合は0です。

Remarks

テキストが複数行の編集コントロールにコピーされると、テキスト内のタブ文字によって、次のタブストップまでの領域が生成されます。

タブストップを既定のサイズの32ダイアログ単位に設定するには、このメンバー関数のパラメーターなしのバージョンを呼び出します。 タブストップを32以外のサイズに設定するには、 cxEachStop パラメーターを使用してバージョンを呼び出します。 タブストップをサイズの配列に設定するには、2つのパラメーターを持つバージョンを使用します。

このメンバー関数は、複数行のエディットコントロールによってのみ処理されます。

SetTabStops 編集ウィンドウは自動的に再描画されません。 エディットコントロールに既に存在するテキストのタブストップを変更する場合は、 CWnd:: InvalidateRect を呼び出して編集ウィンドウを再描画します。

詳細については、Windows SDK の「 EM_SETTABSTOPS 」と「 getのベースユニット」を参照してください。

CEditView:: SetTabStopsの例を参照してください。

CEdit:: ShowBalloonTip

現在の編集コントロールに関連付けられているバルーンヒントを表示します。

BOOL ShowBalloonTip(PEDITBALLOONTIP pEditBalloonTip);

BOOL ShowBalloonTip(
    LPCWSTR lpszTitle,
    LPCWSTR lpszText,
    INT ttiIcon = TTI_NONE);

パラメーター

pEditBalloonTip
からバルーンヒントを記述する EDITBALLOONTIP 構造体へのポインター。

lpszTitle
からバルーンヒントのタイトルを含む Unicode 文字列へのポインター。

lpszText
からバルーンヒントテキストを含む Unicode 文字列へのポインター。

ttiIcon
からバルーンヒントに関連付けるアイコンの種類を指定する INT 。 既定値は TTI_NONE です。 詳細については、 ttiIcon EDITBALLOONTIP 構造体のメンバーを参照してください。

戻り値

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。

Remarks

この関数は、Windows SDK で説明されているEM_SHOWBALLOONTIPメッセージを送信します。 詳細については、 Edit_ShowBalloonTip マクロを参照してください。

最初のコード例では、 m_cedit 現在の編集コントロールにアクセスするために使用される変数を定義します。 この変数は次の例で使用されています。

public:
// Variable to access the edit control.
CEdit m_cedit;

次のコード例では、エディットコントロールのバルーンヒントを表示します。 CEdit:: ShowBalloonTipメソッドは、タイトルとバルーンヒントテキストを指定します。

m_cedit.ShowBalloonTip(
    _T("CEdit Balloon Tip"), // title
    _T("Here's a tip!"),     // text
    TTI_INFO);

CEdit:: 元に戻す

最後の編集コントロール操作を元に戻すには、この関数を呼び出します。

BOOL Undo();

戻り値

単一行のエディットコントロールの場合、戻り値は常に0以外になります。 複数行のエディットコントロールでは、元に戻す操作が成功した場合、戻り値は0以外の値になります。また、元に戻す操作が失敗した場合は0になります。

Remarks

元に戻す操作は元に戻すこともできます。 たとえば、の最初の呼び出しで、削除されたテキストを復元でき Undo ます。 編集操作が介在しない限り、の2回目の呼び出しでテキストを削除でき Undo ます。

詳細については、Windows SDK の「 EM_UNDO 」を参照してください。

// Undo the last operation, if possible.
if (m_myEdit.CanUndo())
   m_myEdit.Undo();

関連項目

MFC のサンプル CALCDRIV
MFC のサンプル CMNCTRL2
CWnd クラス
階層図
CWnd クラス
CButton クラス
CComboBox クラス
CListBox クラス
CScrollBar クラス
CStatic クラス
CDialog クラス