CEdit ClassCEdit Class

Windows のエディット コントロールの機能が用意されています。Provides the functionality of a Windows edit control.

構文Syntax

class CEdit : public CWnd

メンバーMembers

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

名前Name 説明Description
CEdit::CEditCEdit::CEdit コントロールオブジェクトCEditを構築します。Constructs a CEdit control object.

パブリック メソッドPublic Methods

名前Name 説明Description
CEdit::CanUndoCEdit::CanUndo エディットコントロール操作を元に戻すことができるかどうかを判断します。Determines whether an edit-control operation can be undone.
CEdit::CharFromPosCEdit::CharFromPos 指定した位置に最も近い文字の行と文字のインデックスを取得します。Retrieves the line and character indexes for the character closest to a specified position.
CEdit::ClearCEdit::Clear エディットコントロール内の現在の選択項目 (存在する場合) を削除 (クリア) します。Deletes (clears) the current selection (if any) in the edit control.
CEdit::CopyCEdit::Copy 編集コントロール内の現在の選択項目 (存在する場合) を、CF_TEXT 形式でクリップボードにコピーします。Copies the current selection (if any) in the edit control to the Clipboard in CF_TEXT format.
CEdit::CreateCEdit::Create Windows のエディットコントロールを作成し、 CEditオブジェクトにアタッチします。Creates the Windows edit control and attaches it to the CEdit object.
CEdit::CutCEdit::Cut エディットコントロール内の現在の選択項目 (存在する場合) を削除 (切り取り) し、削除されたテキストを CF_TEXT 形式でクリップボードにコピーします。Deletes (cuts) the current selection (if any) in the edit control and copies the deleted text to the Clipboard in CF_TEXT format.
CEdit::EmptyUndoBufferCEdit::EmptyUndoBuffer エディットコントロールの元に戻すフラグをリセット (クリア) します。Resets (clears) the undo flag of an edit control.
CEdit::FmtLinesCEdit::FmtLines 複数行のエディットコントロール内でソフト改行文字を含めるか無効にするかを設定します。Sets the inclusion of soft line-break characters on or off within a multiple-line edit control.
CEdit::GetCueBannerCEdit::GetCueBanner コントロールが空でフォーカスがない場合に、エディットコントロールにテキストキュー (ヒント) として表示されるテキストを取得します。Retrieves the text that is displayed as the text cue, or tip, in an edit control when the control is empty and does not have focus.
CEdit::GetFirstVisibleLineCEdit::GetFirstVisibleLine エディットコントロールで最上位に表示される行を決定します。Determines the topmost visible line in an edit control.
CEdit::GetHandleCEdit::GetHandle 複数行のエディットコントロールに現在割り当てられているメモリのハンドルを取得します。Retrieves a handle to the memory that is currently allocated for a multiple-line edit control.
CEdit::GetHighlightCEdit::GetHighlight 現在の編集コントロールで強調表示されているテキスト範囲内の開始文字と終了文字のインデックスを取得します。Gets the indexes of the starting and ending characters in a range of text that is highlighted in the current edit control.
CEdit::GetLimitTextCEdit::GetLimitText このCEditに格納できるテキストの最大量を取得します。Gets the maximum amount of text this CEdit can contain.
CEdit::GetLineCEdit::GetLine エディットコントロールからテキスト行を取得します。Retrieves a line of text from an edit control.
CEdit::GetLineCountCEdit::GetLineCount 複数行のエディットコントロールの行数を取得します。Retrieves the number of lines in a multiple-line edit control.
CEdit::GetMarginsCEdit::GetMargins このCEditの左右の余白を取得します。Gets the left and right margins for this CEdit.
CEdit::GetModifyCEdit::GetModify エディットコントロールの内容が変更されているかどうかを判断します。Determines whether the contents of an edit control have been modified.
CEdit::GetPasswordCharCEdit::GetPasswordChar ユーザーがテキストを入力したときに編集コントロールに表示されるパスワード文字を取得します。Retrieves the password character displayed in an edit control when the user enters text.
CEdit::GetRectCEdit::GetRect エディットコントロールの書式指定用の四角形を取得します。Gets the formatting rectangle of an edit control.
CEdit::GetSelCEdit::GetSel エディットコントロール内の現在の選択範囲の最初と最後の文字位置を取得します。Gets the first and last character positions of the current selection in an edit control.
CEdit::HideBalloonTipCEdit::HideBalloonTip 現在の編集コントロールに関連付けられているバルーンヒントを非表示にします。Hides any balloon tip associated with the current edit control.
CEdit::LimitTextCEdit::LimitText ユーザーが編集コントロールに入力できるテキストの長さを制限します。Limits the length of the text that the user can enter into an edit control.
CEdit::LineFromCharCEdit::LineFromChar 指定した文字インデックスを含む行の行番号を取得します。Retrieves the line number of the line that contains the specified character index.
CEdit::LineIndexCEdit::LineIndex 複数行のエディットコントロール内の行の文字インデックスを取得します。Retrieves the character index of a line within a multiple-line edit control.
CEdit::LineLengthCEdit::LineLength エディットコントロールの行の長さを取得します。Retrieves the length of a line in an edit control.
CEdit::LineScrollCEdit::LineScroll 複数行のエディットコントロールのテキストをスクロールします。Scrolls the text of a multiple-line edit control.
CEdit::PasteCEdit::Paste クリップボードのデータを現在のカーソル位置にあるエディットコントロールに挿入します。Inserts the data from the Clipboard into the edit control at the current cursor position. データは、クリップボードに CF_TEXT 形式のデータが含まれている場合にのみ挿入されます。Data is inserted only if the Clipboard contains data in CF_TEXT format.
CEdit::PosFromCharCEdit::PosFromChar 指定した文字インデックスの左上隅の座標を取得します。Retrieves the coordinates of the upper-left corner of a specified character index.
CEdit::ReplaceSelCEdit::ReplaceSel エディットコントロール内の現在の選択項目を指定したテキストに置き換えます。Replaces the current selection in an edit control with the specified text.
CEdit::SetCueBannerCEdit::SetCueBanner コントロールが空でフォーカスがない場合に、エディットコントロールにテキストキュー (ヒント) として表示されるテキストを設定します。Sets the text that is displayed as the text cue, or tip, in an edit control when the control is empty and does not have focus.
CEdit::SetHandleCEdit::SetHandle 複数行のエディットコントロールで使用されるローカルメモリのハンドルを設定します。Sets the handle to the local memory that will be used by a multiple-line edit control.
CEdit::SetHighlightCEdit::SetHighlight 現在の編集コントロールに表示されるテキストの範囲を強調表示します。Highlights a range of text that is displayed in the current edit control.
CEdit::SetLimitTextCEdit::SetLimitText このCEditに含めることができるテキストの最大量を設定します。Sets the maximum amount of text this CEdit can contain.
CEdit::SetMarginsCEdit::SetMargins このCEditの左右の余白を設定します。Sets the left and right margins for this CEdit.
CEdit::SetModifyCEdit::SetModify エディットコントロールの変更フラグを設定または解除します。Sets or clears the modification flag for an edit control.
CEdit::SetPasswordCharCEdit::SetPasswordChar ユーザーがテキストを入力したときに編集コントロールに表示されるパスワード文字を設定または削除します。Sets or removes a password character displayed in an edit control when the user enters text.
CEdit::SetReadOnlyCEdit::SetReadOnly エディットコントロールの読み取り専用の状態を設定します。Sets the read-only state of an edit control.
CEdit::SetRectCEdit::SetRect 複数行のエディットコントロールの書式指定用の四角形を設定し、コントロールを更新します。Sets the formatting rectangle of a multiple-line edit control and updates the control.
CEdit::SetRectNPCEdit::SetRectNP コントロールウィンドウを再描画せずに、複数行のエディットコントロールの書式指定用の四角形を設定します。Sets the formatting rectangle of a multiple-line edit control without redrawing the control window.
CEdit::SetSelCEdit::SetSel エディットコントロール内の文字の範囲を選択します。Selects a range of characters in an edit control.
CEdit::SetTabStopsCEdit::SetTabStops 複数行のエディットコントロールでタブストップを設定します。Sets the tab stops in a multiple-line edit control.
CEdit::ShowBalloonTipCEdit::ShowBalloonTip 現在の編集コントロールに関連付けられているバルーンヒントを表示します。Displays a balloon tip that is associated with the current edit control.
CEdit::UndoCEdit::Undo 最後の編集コントロール操作を元に戻します。Reverses the last edit-control operation.

RemarksRemarks

エディットコントロールは、ユーザーがテキストを入力できる四角形の子ウィンドウです。An edit control is a rectangular child window in which the user can enter text.

エディットコントロールは、ダイアログテンプレートから作成することも、コード内で直接作成することもできます。You can create an edit control either from a dialog template or directly in your code. どちらの場合も、最初にコンストラクター CEditを呼び出してCEditオブジェクトを構築し、次にcreate member 関数を呼び出して Windows のCEditエディットコントロールを作成し、それをオブジェクトにアタッチします。In both cases, first call the constructor CEdit to construct the CEdit object, then call the Create member function to create the Windows edit control and attach it to the CEdit object.

構築は、からCEdit派生したクラスの1ステップのプロセスにすることができます。Construction can be a one-step process in a class derived from CEdit. 派生クラスのコンストラクターを記述し、コンストラクター Create内からを呼び出します。Write a constructor for the derived class and call Create from within the constructor.

CEditは、の重要CWndな機能を継承します。CEdit inherits significant functionality from CWnd. CEditオブジェクトのテキストを設定および取得するには、 CWndメンバー関数SetWindowTextgetwindowtextを使用します。これにより、複数行のコントロールであっても、エディットコントロールの内容全体が設定または取得されます。To set and retrieve text from a CEdit object, use the CWnd member functions SetWindowText and GetWindowText, which set or get the entire contents of an edit control, even if it is a multiline control. 複数行コントロールのテキスト行は、"\r\n" 文字シーケンスで区切られます。Text lines in a multiline control are separated by '\r\n' character sequences. また、編集コントロールが複数行CEditの場合は、 getlineSetSelgetline、およびreplaceselメンバー関数を呼び出すことによって、コントロールのテキストの一部を取得して設定します。Also, if an edit control is multiline, get and set part of the control's text by calling the CEdit member functions GetLine, SetSel, GetSel, and ReplaceSel.

編集コントロールから親 (通常はからCDialog派生したクラス) に送信される Windows 通知メッセージを処理する場合は、各メッセージの親クラスにメッセージマップエントリとメッセージハンドラーメンバー関数を追加します。If you want to handle Windows notification messages sent by an edit control to its parent (usually a class derived from CDialog), add a message-map entry and message-handler member function to the parent class for each message.

各メッセージマップエントリには、次の形式があります。Each message-map entry takes the following form:

ON_ 通知 ( id , memberFxn )ON_NOTIFICATION( id, memberFxn )

memberFxnは、通知を送信する編集コントロールの子ウィンドウ ID を指定します。は、通知を処理するために記述した親メンバー関数の名前です。idwhere id specifies the child window ID of the edit control sending the notification, and memberFxn is the name of the parent member function you have written to handle the notification.

親の関数プロトタイプは次のとおりです。The parent's function prototype is as follows:

afx_msg void memberFxn ( );afx_msg void memberFxn ( );

次に示すのは、潜在的なメッセージマップエントリの一覧と、親に送信される可能性のあるケースの説明です。Following is a list of potential message-map entries and a description of the cases in which they would be sent to the parent:

  • ON_EN_CHANGE ユーザーがエディットコントロールでテキストを変更した可能性のあるアクションを実行しました。ON_EN_CHANGE The user has taken an action that may have altered text in an edit control. EN_UPDATE 通知メッセージとは異なり、この通知メッセージは Windows がディスプレイを更新した後に送信されます。Unlike the EN_UPDATE notification message, this notification message is sent after Windows updates the display.

  • ON_EN_ERRSPACE 編集コントロールは、特定の要求を満たすのに十分なメモリを割り当てることができません。ON_EN_ERRSPACE The edit control cannot allocate enough memory to meet a specific request.

  • ON_EN_HSCROLL ユーザーがエディットコントロールの水平スクロールバーをクリックします。ON_EN_HSCROLL The user clicks an edit control's horizontal scroll bar. 親ウィンドウには、画面が更新される前に通知されます。The parent window is notified before the screen is updated.

  • ON_EN_KILLFOCUS エディットコントロールが入力フォーカスを失います。ON_EN_KILLFOCUS The edit control loses the input focus.

  • ON_EN_MAXTEXT エディットコントロールで、現在の挿入が指定された文字数を超えたため、切り捨てられました。ON_EN_MAXTEXT The current insertion has exceeded the specified number of characters for the edit control and has been truncated. また、エディットコントロールに ES_AUTOHSCROLL スタイルが設定されておらず、挿入される文字数がエディットコントロールの幅を超える場合にも送信されます。Also sent when an edit control does not have the ES_AUTOHSCROLL style and the number of characters to be inserted would exceed the width of the edit control. また、エディットコントロールに ES_AUTOVSCROLL スタイルが設定されておらず、テキストの挿入によって生成される行の合計数がエディットコントロールの高さを超える場合にも送信されます。Also sent when an edit control does not have the ES_AUTOVSCROLL style and the total number of lines resulting from a text insertion would exceed the height of the edit control.

  • ON_EN_SETFOCUS は、エディットコントロールが入力フォーカスを受け取ったときに送信されます。ON_EN_SETFOCUS Sent when an edit control receives the input focus.

  • ON_EN_UPDATE エディットコントロールが変更されたテキストを表示しようとしています。ON_EN_UPDATE The edit control is about to display altered text. コントロールがテキストを書式設定した後、必要に応じてウィンドウサイズを変更できるように、テキストを表示する前に送信されます。Sent after the control has formatted the text but before it screens the text so that the window size can be altered, if necessary.

  • ON_EN_VSCROLL は、ユーザーが編集コントロールの垂直スクロールバーをクリックしたときに発生します。ON_EN_VSCROLL The user clicks an edit control's vertical scroll bar. 親ウィンドウには、画面が更新される前に通知されます。The parent window is notified before the screen is updated.

ダイアログボックスCEdit CEdit内にオブジェクトを作成すると、ユーザーがダイアログボックスを閉じたときにオブジェクトが自動的に破棄されます。If you create a CEdit object within a dialog box, the CEdit object is automatically destroyed when the user closes the dialog box.

ダイアログエディター CEdit CEditを使用してダイアログリソースからオブジェクトを作成すると、ユーザーがダイアログボックスを閉じたときにオブジェクトが自動的に破棄されます。If you create a CEdit object from a dialog resource using the dialog editor, the CEdit object is automatically destroyed when the user closes the dialog box.

ウィンドウ内にCEditオブジェクトを作成する場合は、そのオブジェクトを破棄することも必要になることがあります。If you create a CEdit object within a window, you may also need to destroy it. スタックにCEditオブジェクトを作成すると、そのオブジェクトは自動的に破棄されます。If you create the CEdit object on the stack, it is destroyed automatically. 新しい関数を使用CEditしてヒープにオブジェクトを作成する場合は、ユーザーが Windows のエディットコントロールを終了したときにオブジェクトを破棄するために、オブジェクトに対してdeleteを呼び出す必要があります。If you create the CEdit object on the heap by using the new function, you must call delete on the object to destroy it when the user terminates the Windows edit control. CEditオブジェクトにメモリを割り当てる場合は、 CEditデストラクターをオーバーライドして割り当てを破棄します。If you allocate any memory in the CEdit object, override the CEdit destructor to dispose of the allocations.

ES_READONLY などの編集コントロールで特定のスタイルを変更するには、 Modifystyleを使用する代わりに、特定のメッセージをコントロールに送信する必要があります。To modify certain styles in an edit control (such as ES_READONLY) you must send specific messages to the control instead of using ModifyStyle. 「Windows SDK でのコントロールスタイルの編集」を参照してください。See Edit Control Styles in the Windows SDK.

CEdit詳細については、「コントロール」を参照してください。For more information on CEdit, see Controls.

継承階層Inheritance Hierarchy

CObjectCObject

CCmdTargetCCmdTarget

CWndCWnd

CEdit

必要条件Requirements

ヘッダー: afxwin.hHeader: afxwin.h

CEdit::CanUndoCEdit::CanUndo

最後の編集操作を元に戻すことができるかどうかを判断するには、この関数を呼び出します。Call this function to determine if the last edit operation can be undone.

BOOL CanUndo() const;

戻り値Return Value

メンバー関数のUndo呼び出しによって最後の編集操作を元に戻すことができる場合は0以外の場合は。元に戻すことができない場合は0。Nonzero if the last edit operation can be undone by a call to the Undo member function; 0 if it cannot be undone.

RemarksRemarks

詳細については、Windows SDK の「 EM_CANUNDO 」を参照してください。For more information, see EM_CANUNDO in the Windows SDK.

Example

CEdit:: Undo」の例を参照してください。See the example for CEdit::Undo.

CEdit:: CEditCEdit::CEdit

CEdit オブジェクトを構築します。Constructs a CEdit object.

CEdit();

RemarksRemarks

Createを使用して、Windows のエディットコントロールを構築します。Use Create to construct the Windows edit control.

Example

// Declare a local CEdit object.
CEdit myEdit;

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

CEdit::CharFromPosCEdit::CharFromPos

このCEditコントロール内の指定された位置に最も近い文字の0から始まる行と文字のインデックスを取得するには、この関数を呼び出します。Call this function to retrieve the zero-based line and character indices of the character nearest the specified point in this CEdit control

int CharFromPos(CPoint pt) const;

パラメーターParameters

未満pt
このCEditオブジェクトのクライアント領域内の点の座標。The coordinates of a point in the client area of this CEdit object.

戻り値Return Value

下位ワードの文字インデックス、および上位ワード内の行のインデックスです。The character index in the low-order WORD, and the line index in the high-order WORD.

RemarksRemarks

注意

このメンバー関数は、Windows 95 および Windows NT 4.0 から使用できます。This member function is available beginning with Windows 95 and Windows NT 4.0.

詳細については、Windows SDK の「 EM_CHARFROMPOS 」を参照してください。For more information, see EM_CHARFROMPOS in the Windows SDK.

Example

// 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::ClearCEdit::Clear

エディットコントロール内の現在の選択項目 (存在する場合) を削除する場合は、この関数を呼び出します。Call this function to delete (clear) the current selection (if any) in the edit control.

void Clear();

RemarksRemarks

によってClear実行される削除は、 Undoメンバー関数を呼び出すことによって元に戻すことができます。The deletion performed by Clear can be undone by calling the Undo member function.

現在の選択範囲を削除し、削除された内容をクリップボードに配置するには、 Cutメンバー関数を呼び出します。To delete the current selection and place the deleted contents into the Clipboard, call the Cut member function.

詳細については、Windows SDK の「 WM_CLEAR 」を参照してください。For more information, see WM_CLEAR in the Windows SDK.

Example

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

CEdit::CopyCEdit::Copy

この関数を呼び出して、エディットコントロール内の現在の選択項目 (存在する場合) を、CF_TEXT 形式でクリップボードにコピーします。Call this function to coy the current selection (if any) in the edit control to the Clipboard in CF_TEXT format.

void Copy();

RemarksRemarks

詳細については、Windows SDK の「 WM_COPY 」を参照してください。For more information, see WM_COPY in the Windows SDK.

Example

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

CEdit::CreateCEdit::Create

Windows のエディットコントロールを作成し、 CEditオブジェクトにアタッチします。Creates the Windows edit control and attaches it to the CEdit object.

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

パラメーターParameters

dwStyledwStyle
エディットコントロールのスタイルを指定します。Specifies the edit control's style. 編集スタイルの任意の組み合わせをコントロールに適用します。Apply any combination of edit styles to the control.

rectrect
エディットコントロールのサイズと位置を指定します。Specifies the edit control's size and position. は、オブジェクトCRectまたはRECT構造体にすることができます。Can be a CRect object or RECT structure.

pParentWndpParentWnd
エディットコントロールの親ウィンドウ (通常はCDialog) を指定します。Specifies the edit control's parent window (usually a CDialog). NULL にすることはできません。It must not be NULL.

nIDnID
エディットコントロールの ID を指定します。Specifies the edit control's ID.

戻り値Return Value

初期化が成功した場合は0以外の。それ以外の場合は0です。Nonzero if initialization is successful; otherwise 0.

RemarksRemarks

オブジェクトを構築CEditするには、2つの手順を実行します。You construct a CEdit object in two steps. まず、 CEditコンストラクターを呼び出し、次にCreateを呼び出します。これにより、Windows のエディットコントロールCEditが作成され、オブジェクトにアタッチされます。First, call the CEdit constructor and then call Create, which creates the Windows edit control and attaches it to the CEdit object.

Create実行すると、Windows はWM_NCCREATEWM_NCCALCSIZEWM_CREATE、およびWM_GETMINMAXINFOの各メッセージを編集コントロールに送信します。When Create executes, Windows sends the WM_NCCREATE, WM_NCCALCSIZE, WM_CREATE, and WM_GETMINMAXINFO messages to the edit control.

これらのメッセージは、既定ではCWnd 、基本クラスのOnNcCreateOnNcCalcSizeOnCreate、およびOnGetMinMaxInfoの各メンバー関数によって処理されます。These messages are handled by default by the OnNcCreate, OnNcCalcSize, OnCreate, and OnGetMinMaxInfo member functions in the CWnd base class. 既定のメッセージ処理を拡張するには、からCEditクラスを派生させ、新しいクラスにメッセージマップを追加して、上記のメッセージハンドラーメンバー関数をオーバーライドします。To extend the default message handling, derive a class from CEdit, add a message map to the new class, and override the above message-handler member functions. たとえばOnCreate、新しいクラスに必要な初期化を実行する場合は、をオーバーライドします。Override OnCreate, for example, to perform needed initialization for the new class.

次のウィンドウスタイルを編集コントロールに適用します。Apply the following window styles to an edit control.

  • 常に WS_CHILDWS_CHILD Always

  • WS_VISIBLE 通常WS_VISIBLE Usually

  • WS_DISABLED はまれWS_DISABLED Rarely

  • グループコントロールに WS_GROUPWS_GROUP To group controls

  • WS_TABSTOP によって編集コントロールがタブ順に含まれるようになります。WS_TABSTOP To include edit control in the tabbing order

Example

// 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:: CutCEdit::Cut

この関数を呼び出して、エディットコントロール内の現在の選択項目 (存在する場合) を削除 (切り取り) し、削除されたテキストを CF_TEXT 形式でクリップボードにコピーします。Call this function to delete (cut) the current selection (if any) in the edit control and copy the deleted text to the Clipboard in CF_TEXT format.

void Cut();

RemarksRemarks

によってCut実行される削除は、 Undoメンバー関数を呼び出すことによって元に戻すことができます。The deletion performed by Cut can be undone by calling the Undo member function.

削除されたテキストをクリップボードに配置せずに現在の選択項目を削除するには、 Clearメンバー関数を呼び出します。To delete the current selection without placing the deleted text into the Clipboard, call the Clear member function.

詳細については、Windows SDK の「 WM_CUT 」を参照してください。For more information, see WM_CUT in the Windows SDK.

Example

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

CEdit::EmptyUndoBufferCEdit::EmptyUndoBuffer

この関数を呼び出して、エディットコントロールの元に戻すフラグをリセット (クリア) します。Call this function to reset (clear) the undo flag of an edit control.

void EmptyUndoBuffer();

RemarksRemarks

エディットコントロールは、最後の操作を元に戻すことができなくなります。The edit control will now be unable to undo the last operation. 元に戻すフラグは、エディットコントロール内の操作を元に戻すことができる場合に設定されます。The undo flag is set whenever an operation within the edit control can be undone.

Undo フラグは、 SetWindowTextまたはSetHandle CWndメンバー関数が呼び出されるたびに自動的にクリアされます。The undo flag is automatically cleared whenever the SetWindowText or SetHandleCWnd member functions are called.

詳細については、Windows SDK の「 EM_EMPTYUNDOBUFFER 」を参照してください。For more information, see EM_EMPTYUNDOBUFFER in the Windows SDK.

Example

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

CEdit::FmtLinesCEdit::FmtLines

この関数を呼び出して、複数行のエディットコントロール内でソフト改行文字を含めるか無効にするかを設定します。Call this function to set the inclusion of soft line-break characters on or off within a multiple-line edit control.

BOOL FmtLines(BOOL bAddEOL);

パラメーターParameters

bAddEOLbAddEOL
ソフト改行文字を挿入するかどうかを指定します。Specifies whether soft line-break characters are to be inserted. 値が TRUE の場合は、文字が挿入されます。値が FALSE の場合は、削除されます。A value of TRUE inserts the characters; a value of FALSE removes them.

戻り値Return Value

書式設定が行われる場合は0以外の。それ以外の場合は0です。Nonzero if any formatting occurs; otherwise 0.

RemarksRemarks

ソフトライン改行は、2つのキャリッジリターンと、単語の折り返しによって改行される行の末尾に挿入される改行で構成されます。A soft line break consists of two carriage returns and a line feed inserted at the end of a line that is broken because of word wrapping. ハード改行は、1つのキャリッジリターンとラインフィードで構成されます。A hard line break consists of one carriage return and a line feed. ハード改行で終わる行は、によるFmtLines影響を受けません。Lines that end with a hard line break are not affected by FmtLines.

ウィンドウは、 CEditオブジェクトが複数行のエディットコントロールである場合にのみ応答します。Windows will only respond if the CEdit object is a multiple-line edit control.

FmtLinesは、 GetHandleによって返されるバッファーとWM_GETTEXTによって返されるテキストにのみ影響します。FmtLines only affects the buffer returned by GetHandle and the text returned by WM_GETTEXT. エディットコントロール内のテキストの表示には影響しません。It has no impact on the display of the text within the edit control.

詳細については、Windows SDK の「 EM_FMTLINES 」を参照してください。For more information, see EM_FMTLINES in the Windows SDK.

Example

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::GetCueBannerCEdit::GetCueBanner

コントロールが空の場合に、エディットコントロールにテキストキュー (ヒント) として表示されるテキストを取得します。Retrieves the text that is displayed as the text cue, or tip, in an edit control when the control is empty.

BOOL GetCueBanner(
    LPWSTR lpszText,
    int cchText) const;

CString GetCueBanner() const;

パラメーターParameters

lpszTextlpszText
入出力キューテキストを含む文字列へのポインター。[out] A pointer to a string that contains the cue text.

cchTextcchText
から受信できる文字数。[in] The number of characters that can be received. この数値には、終端の NULL 文字が含まれます。This number includes the terminating NULL character.

戻り値Return Value

最初のオーバーロードの場合は、メソッドが成功した場合は TRUE。それ以外の場合は FALSE。For the first overload, TRUE if the method is successful; otherwise FALSE.

2番目のオーバーロードでは、メソッドが成功した場合は、キューのテキストを含むCStringです。それ以外の場合は、空の文字列 ("") です。For the second overload, a CString that contains the cue text if the method is successful; otherwise, the empty string ("").

RemarksRemarks

このメソッドは、Windows SDK で説明されているEM_GETCUEBANNERメッセージを送信します。This method sends the EM_GETCUEBANNER message, which is described in the Windows SDK. 詳細については、「 Edit_GetCueBannerTextマクロ」を参照してください。For more information, see the Edit_GetCueBannerText macro.

CEdit::GetFirstVisibleLineCEdit::GetFirstVisibleLine

この関数を呼び出して、エディットコントロールで最上位に表示される行を決定します。Call this function to determine the topmost visible line in an edit control.

int GetFirstVisibleLine() const;

戻り値Return Value

最上位の行の0から始まるインデックス。The zero-based index of the topmost visible line. 単一行エディットコントロールの場合、戻り値は0です。For single-line edit controls, the return value is 0.

RemarksRemarks

詳細については、Windows SDK の「 EM_GETFIRSTVISIBLELINE 」を参照してください。For more information, see EM_GETFIRSTVISIBLELINE in the Windows SDK.

Example

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::GetHandleCEdit::GetHandle

この関数を呼び出して、複数行のエディットコントロールに現在割り当てられているメモリのハンドルを取得します。Call this function to retrieve a handle to the memory currently allocated for a multiple-line edit control.

HLOCAL GetHandle() const;

戻り値Return Value

エディットコントロールの内容を保持しているバッファーを識別するローカルメモリハンドル。A local memory handle that identifies the buffer holding the contents of the edit control. 単一行のエディットコントロールにメッセージを送信するなどのエラーが発生した場合、戻り値は0です。If an error occurs, such as sending the message to a single-line edit control, the return value is 0.

RemarksRemarks

ハンドルはローカルメモリハンドルであり、ローカルメモリハンドルをパラメーターとして受け取るローカルの Windows メモリ関数のいずれかによって使用される場合があります。The handle is a local memory handle and may be used by any of the Local Windows memory functions that take a local memory handle as a parameter.

GetHandleは、複数行のエディットコントロールによってのみ処理されます。GetHandle is processed only by multiple-line edit controls.

ダイアログGetHandleボックスが DS_LOCALEDIT style フラグが設定された状態で作成された場合にのみ、ダイアログボックスで複数行のエディットコントロールを呼び出します。Call GetHandle for a multiple-line edit control in a dialog box only if the dialog box was created with the DS_LOCALEDIT style flag set. DS_LOCALEDIT スタイルが設定されていない場合でも、0以外の戻り値は取得されますが、返された値を使用することはできません。If the DS_LOCALEDIT style is not set, you will still get a nonzero return value, but you will not be able to use the returned value.

注意

GetHandleWindows 95/98 では機能しません。GetHandle will not work with Windows 95/98. Windows 95/98 でGetHandleを呼び出すと、NULL が返されます。If you call GetHandle in Windows 95/98, it will return NULL. GetHandleは、「Windows NT バージョン3.51 以降」に記載されているとおりに動作します。GetHandle will work as documented under Windows NT, versions 3.51 and later.

詳細については、Windows SDK の「 EM_GETHANDLE 」を参照してください。For more information, see EM_GETHANDLE in the Windows SDK.

Example

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

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

::LocalUnlock(h);

CEdit::GetHighlightCEdit::GetHighlight

現在の編集コントロールで強調表示されているテキスト範囲内の最初と最後の文字のインデックスを取得します。Gets the indexes of the first and last characters in a range of text that is highlighted in the current edit control.

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

パラメーターParameters

パラメーターParameter 説明Description
ピクチャの開始pichStart 入出力強調表示されているテキスト範囲内の最初の文字の0から始まるインデックス番号。[out] Zero-based index of the first character in the range of text that is highlighted.
ピクチャの終了pichEnd 入出力強調表示されているテキスト範囲内の最後の文字の0から始まるインデックス番号。[out] Zero-based index of the last character in the range of text that is highlighted.

戻り値Return Value

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。TRUE if this method is successful; otherwise, FALSE.

RemarksRemarks

このメソッドは、Windows SDK で説明されているEM_GETHILITEメッセージを送信します。This method sends the EM_GETHILITE message, which is described in the Windows SDK. SetHighlightGetHighlightどちらも、現在 UNICODE ビルドでのみ有効です。Both SetHighlight and GetHighlight are currently enabled for UNICODE builds only.

CEdit::GetLimitTextCEdit::GetLimitText

このメンバー関数を呼び出して、このCEditオブジェクトのテキスト制限を取得します。Call this member function to get the text limit for this CEdit object.

UINT GetLimitText() const;

戻り値Return Value

このCEditオブジェクトの現在のテキストの制限 (tchars)。The current text limit, in TCHARs, for this CEdit object.

RemarksRemarks

テキストの上限は、エディットコントロールが受け入れることができるテキストの最大サイズ (TCHARs 単位) です。The text limit is the maximum amount of text, in TCHARs, that the edit control can accept.

注意

このメンバー関数は、Windows 95 および Windows NT 4.0 から使用できます。This member function is available beginning with Windows 95 and Windows NT 4.0.

詳細については、Windows SDK の「 EM_GETLIMITTEXT 」を参照してください。For more information, see EM_GETLIMITTEXT in the Windows SDK.

Example

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::GetLineCEdit::GetLine

この関数を呼び出して、エディットコントロールからテキスト行を取得し、 Lpszbufferに配置します。Call this function to retrieve a line of text from an edit control and places it in lpszBuffer.

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer) const;

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

パラメーターParameters

nIndexnIndex
複数行のエディットコントロールから取得する行番号を指定します。Specifies the line number to retrieve from a multiple-line edit control. 行番号は0から始まります。値0は最初の行を指定します。Line numbers are zero-based; a value of 0 specifies the first line. このパラメーターは、単一行のエディットコントロールでは無視されます。This parameter is ignored by a single-line edit control.

lpszBufferlpszBuffer
行のコピーを受け取るバッファーを指します。Points to the buffer that receives a copy of the line. バッファーの最初の単語では、バッファーにコピーできる TCHARs の最大数を指定する必要があります。The first word of the buffer must specify the maximum number of TCHARs that can be copied to the buffer.

nMaxLengthnMaxLength
バッファーにコピーできる TCHAR 文字の最大数を指定します。Specifies the maximum number of TCHAR characters that can be copied to the buffer. GetLineWindows の呼び出しを行う前に、 Lpszbufferの最初の単語にこの値を配置します。GetLine places this value in the first word of lpszBuffer before making the call to Windows.

戻り値Return Value

実際にコピーされた文字数。The number of characters actually copied. NIndexによって指定された行番号がエディットコントロールの行数よりも大きい場合、戻り値は0です。The return value is 0 if the line number specified by nIndex is greater than the number of lines in the edit control.

RemarksRemarks

コピーされた行に null 終端文字が含まれていません。The copied line does not contain a null-termination character.

詳細については、Windows SDK の「 EM_GETLINE 」を参照してください。For more information, see EM_GETLINE in the Windows SDK.

Example

CEdit:: GetLineCount」の例を参照してください。See the example for CEdit::GetLineCount.

CEdit::GetLineCountCEdit::GetLineCount

この関数を呼び出して、複数行のエディットコントロールの行数を取得します。Call this function to retrieve the number of lines in a multiple-line edit control.

int GetLineCount() const;

戻り値Return Value

複数行のエディットコントロールの行数を格納している整数。An integer containing the number of lines in the multiple-line edit control. エディットコントロールにテキストが入力されていない場合、戻り値は1です。If no text has been entered into the edit control, the return value is 1.

RemarksRemarks

GetLineCountは、複数行のエディットコントロールによってのみ処理されます。GetLineCount is only processed by multiple-line edit controls.

詳細については、Windows SDK の「 EM_GETLINECOUNT 」を参照してください。For more information, see EM_GETLINECOUNT in the Windows SDK.

Example

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::GetMarginsCEdit::GetMargins

このメンバー関数を呼び出して、この編集コントロールの左右の余白を取得します。Call this member function to retrieve the left and right margins of this edit control.

DWORD GetMargins() const;

戻り値Return Value

下位ワードの左余白の幅、および上位の単語の右余白の幅です ()。The width of the left margin in the low-order WORD and the width of the right margin in the high-order WORD.

RemarksRemarks

余白はピクセル単位で計測されます。Margins are measured in pixels.

注意

このメンバー関数は、Windows 95 および Windows NT 4.0 から使用できます。This member function is available beginning with Windows 95 and Windows NT 4.0.

詳細については、Windows SDK の「 EM_GETMARGINS 」を参照してください。For more information, see EM_GETMARGINS in the Windows SDK.

Example

CEditView:: GetEditCtrlの例を参照してください。See the example for CEditView::GetEditCtrl.

CEdit::GetModifyCEdit::GetModify

この関数を呼び出して、エディットコントロールの内容が変更されているかどうかを確認します。Call this function to determine whether the contents of an edit control have been modified.

BOOL GetModify() const;

戻り値Return Value

編集コントロールの内容が変更されている場合は0以外の。変更されていない場合は0。Nonzero if the edit-control contents have been modified; 0 if they have remained unchanged.

RemarksRemarks

Windows は、エディットコントロールの内容が変更されているかどうかを示す内部フラグを保持します。Windows maintains an internal flag indicating whether the contents of the edit control have been changed. このフラグは、エディットコントロールが最初に作成されたときにクリアされ、 Setmodifyメンバー関数を呼び出すことによってクリアすることもできます。This flag is cleared when the edit control is first created and may also be cleared by calling the SetModify member function.

詳細については、Windows SDK の「 EM_GETMODIFY 」を参照してください。For more information, see EM_GETMODIFY in the Windows SDK.

Example

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

CEdit::GetPasswordCharCEdit::GetPasswordChar

ユーザーがテキストを入力したときに編集コントロールに表示されるパスワード文字を取得するには、この関数を呼び出します。Call this function to retrieve the password character that is displayed in an edit control when the user enters text.

TCHAR GetPasswordChar() const;

戻り値Return Value

ユーザーが入力した文字の代わりに表示される文字を指定します。Specifies the character to be displayed instead of the character that the user typed. パスワード文字が存在しない場合、戻り値は NULL になります。The return value is NULL if no password character exists.

RemarksRemarks

ES_PASSWORD スタイルを使用して編集コントロールを作成した場合、コントロールをサポートする DLL によって既定のパスワード文字が決定されます。If you create the edit control with the ES_PASSWORD style, the DLL that supports the control determines the default password character. マニフェストまたはInitcommoncontrolsexメソッドは、どの DLL がエディットコントロールをサポートしているかを判断します。The manifest or the InitCommonControlsEx method determines which DLL supports the edit control. User32.dll がエディットコントロールをサポートしている場合、既定のパスワード文字はアスタリスク (' * ', U + 002A) です。If user32.dll supports the edit control, the default password character is ASTERISK ('*', U+002A). Comctl32.dll バージョン6がエディットコントロールをサポートしている場合、既定の文字は黒の円 (' ● ', U + 25CF) です。If comctl32.dll version 6 supports the edit control, the default character is BLACK CIRCLE ('●', U+25CF). 共通コントロールをサポートしている DLL とバージョンの詳細については、「 Shell および Common Controls Versions」を参照してください。For more information about which DLL and version supports the common controls, see Shell and Common Controls Versions.

このメソッドは、Windows SDK で説明されているEM_GETPASSWORDCHARメッセージを送信します。This method sends the EM_GETPASSWORDCHAR message, which is described in the Windows SDK.

Example

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

CEdit::GetRectCEdit::GetRect

エディットコントロールの書式指定用の四角形を取得します。Call this function to get the formatting rectangle of an edit control.

void GetRect(LPRECT lpRect) const;

パラメーターParameters

lpRectlpRect
書式指定四角形RECTを受け取る構造体を指します。Points to the RECT structure that receives the formatting rectangle.

RemarksRemarks

書式設定用の四角形は、エディットコントロールウィンドウのサイズに依存しない、テキストの限定された四角形です。The formatting rectangle is the limiting rectangle of the text, which is independent of the size of the edit-control window.

複数行のエディットコントロールの書式設定用の四角形は、 SetRectおよびSetRectNPメンバー関数によって変更できます。The formatting rectangle of a multiple-line edit control can be modified by the SetRect and SetRectNP member functions.

詳細については、Windows SDK の「 EM_GETRECT 」を参照してください。For more information, see EM_GETRECT in the Windows SDK.

Example

CEdit:: LimitText」の例を参照してください。See the example for CEdit::LimitText.

CEdit::GetSelCEdit::GetSel

戻り値またはパラメーターを使用して、エディットコントロール内の現在の選択範囲の開始文字位置と終了文字位置を取得します。Call this function to get the starting and ending character positions of the current selection (if any) in an edit control, using either the return value or the parameters.

DWORD GetSel() const;

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

パラメーターParameters

nStartCharnStartChar
現在の選択範囲の最初の文字の位置を受け取る整数への参照。Reference to an integer that will receive the position of the first character in the current selection.

nEndCharnEndChar
現在の選択範囲の末尾を越えて最初に選択解除された文字の位置を受け取る整数への参照。Reference to an integer that will receive the position of the first nonselected character past the end of the current selection.

戻り値Return Value

DWORD を返すバージョンでは、下位ワードの開始位置を含む値、および上位ワードの選択範囲の終了後の最初の項目の位置を返します。The version that returns a DWORD returns a value that contains the starting position in the low-order word and the position of the first nonselected character after the end of the selection in the high-order word.

RemarksRemarks

詳細については、Windows SDK の「 EM_GETSEL 」を参照してください。For more information, see EM_GETSEL in the Windows SDK.

Example

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

CEdit::HideBalloonTipCEdit::HideBalloonTip

現在の編集コントロールに関連付けられているバルーンヒントを非表示にします。Hides any balloon tip associated with the current edit control.

BOOL HideBalloonTip();

戻り値Return Value

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。TRUE if this method is successful; otherwise, FALSE.

RemarksRemarks

この関数は、Windows SDK で説明されているEM_HIDEBALLOONTIPメッセージを送信します。This function sends the EM_HIDEBALLOONTIP message, which is described in the Windows SDK.

CEdit::LimitTextCEdit::LimitText

ユーザーがエディットコントロールに入力できるテキストの長さを制限するには、この関数を呼び出します。Call this function to limit the length of the text that the user may enter into an edit control.

void LimitText(int nChars = 0);

パラメーターParameters

nCharsnChars
ユーザーが入力できるテキストの長さ (TCHARs 単位) を指定します。Specifies the length (in TCHARs) of the text that the user can enter. このパラメーターが0の場合、テキストの長さは UINT_MAX バイトに設定されます。If this parameter is 0, the text length is set to UINT_MAX bytes. これが既定の動作です。This is the default behavior.

RemarksRemarks

テキストの制限を変更すると、ユーザーが入力できるテキストのみが制限されます。Changing the text limit restricts only the text the user can enter. エディットコントロールに既に存在するテキストには影響しません。また、のCWnd SetWindowTextメンバー関数によってエディットコントロールにコピーされるテキストの長さにも影響しません。It has no effect on any text already in the edit control, nor does it affect the length of the text copied to the edit control by the SetWindowText member function in CWnd. アプリケーションでSetWindowText関数を使用して、のLimitText呼び出しで指定されたよりも多くのテキストを編集コントロールに配置する場合、ユーザーは編集コントロール内の任意のテキストを削除できます。If an application uses the SetWindowText function to place more text into an edit control than is specified in the call to LimitText, the user can delete any of the text within the edit control. ただし、テキストの制限により、現在の選択範囲を削除してもテキストがテキストの上限を超えない限り、ユーザーは既存のテキストを新しいテキストに置き換えることができなくなります。However, the text limit will prevent the user from replacing the existing text with new text, unless deleting the current selection causes the text to fall below the text limit.

注意

Win32 (Windows NT および Windows 95/98) では、 Setlimittextはこの関数を置き換えます。In Win32 (Windows NT and Windows 95/98), SetLimitText replaces this function.

詳細については、Windows SDK の「 EM_LIMITTEXT 」を参照してください。For more information, see EM_LIMITTEXT in the Windows SDK.

Example

// 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::LineFromCharCEdit::LineFromChar

この関数を呼び出して、指定した文字インデックスを含む行の行番号を取得します。Call this function to retrieve the line number of the line that contains the specified character index.

int LineFromChar(int nIndex = -1) const;

パラメーターParameters

nIndexnIndex
エディットコントロールのテキストに、目的の文字の0から始まるインデックス値を格納します。または、-1 を格納します。Contains the zero-based index value for the desired character in the text of the edit control, or contains -1. NIndexが-1 の場合は、現在の行、つまり、カレットを含む行を指定します。If nIndex is -1, it specifies the current line, that is, the line that contains the caret.

戻り値Return Value

NIndexによって指定された文字インデックスを含む行の0から始まる行番号。The zero-based line number of the line containing the character index specified by nIndex. NIndexが-1 の場合は、選択範囲の最初の文字を含む行の番号が返されます。If nIndex is -1, the number of the line that contains the first character of the selection is returned. 選択されていない場合は、現在の行番号が返されます。If there is no selection, the current line number is returned.

RemarksRemarks

文字インデックスは、エディットコントロールの先頭からの文字数です。A character index is the number of characters from the beginning of the edit control.

このメンバー関数は、複数行のエディットコントロールによってのみ使用されます。This member function is only used by multiple-line edit controls.

詳細については、Windows SDK の「 EM_LINEFROMCHAR 」を参照してください。For more information, see EM_LINEFROMCHAR in the Windows SDK.

Example

// 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::LineIndexCEdit::LineIndex

この関数を呼び出して、複数行のエディットコントロール内の行の文字インデックスを取得します。Call this function to retrieve the character index of a line within a multiple-line edit control.

int LineIndex(int nLine = -1) const;

パラメーターParameters

N 行nLine
エディットコントロールのテキスト内の目的の行のインデックス値を格納します。または、-1 を格納します。Contains the index value for the desired line in the text of the edit control, or contains -1. N 行が-1 の場合は、現在の行、つまり、カレットを含む行を指定します。If nLine is -1, it specifies the current line, that is, the line that contains the caret.

戻り値Return Value

N 行で指定された行の文字インデックス。または、指定した行番号が編集コントロールの行数よりも大きい場合は-1。The character index of the line specified in nLine or -1 if the specified line number is greater than the number of lines in the edit control.

RemarksRemarks

文字インデックスは、エディットコントロールの先頭から指定した行までの文字数です。The character index is the number of characters from the beginning of the edit control to the specified line.

このメンバー関数は、複数行のエディットコントロールによってのみ処理されます。This member function is only processed by multiple-line edit controls.

詳細については、Windows SDK の「 EM_LINEINDEX 」を参照してください。For more information, see EM_LINEINDEX in the Windows SDK.

Example

// 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::LineLengthCEdit::LineLength

エディットコントロールの行の長さを取得します。Retrieves the length of a line in an edit control.

int LineLength(int nLine = -1) const;

パラメーターParameters

N 行nLine
長さを取得する行内の文字の0から始まるインデックス。The zero-based index of a character in the line whose length is to be retrieved. 既定値は -1 です。The default value is -1.

戻り値Return Value

単一行エディットコントロールの場合、戻り値は、エディットコントロール内のテキストの長さ (TCHARs 単位) です。For single-line edit controls, the return value is the length, in TCHARs, of the text in the edit control.

複数行のエディットコントロールの場合、戻り値はn 行パラメーターで指定された行の tchars の長さです。For multiline edit controls, the return value is the length, in TCHARs, of the line specified by the nLine parameter. ANSI テキストの場合、長さは行のバイト数です。Unicode テキストの場合、長さは行の文字数です。For ANSI text, the length is the number of bytes in the line; for Unicode text, the length is the number of characters in the line. 長さには、行末の復帰文字は含まれません。The length does not include the carriage-return character at the end of the line.

N 行パラメーターがコントロール内の文字数よりも大きい場合、戻り値は0になります。If the nLine parameter is more than the number of characters in the control, the return value is zero.

N 行パラメーターが-1 の場合、戻り値は、選択された文字を含む行で選択されていない文字の数になります。If the nLine parameter is -1, the return value is the number of unselected characters in the lines that contain selected characters. たとえば、1つの行の4番目の文字から、次の行の末尾の8番目の文字までを選択した場合、戻り値は10になります。For example, if the selection extends from the fourth character of one line through the eighth character from the end of the next line, the return value is 10. つまり、1行目に3文字、次に7つの文字があります。That is, three characters on the first line and seven on the next.

TCHAR 型の詳細については、「 Windows データ型」の表にある tchar 行を参照してください。For more information about the TCHAR type, see the TCHAR row in the table in Windows Data Types.

RemarksRemarks

このメソッドは、Windows SDK で説明されているEM_LINELENGTHメッセージでサポートされています。This method is supported by the EM_LINELENGTH message, which is described in the Windows SDK.

Example

CEdit:: LineIndex」の例を参照してください。See the example for CEdit::LineIndex.

CEdit::LineScrollCEdit::LineScroll

この関数を呼び出して、複数行のエディットコントロールのテキストをスクロールします。Call this function to scroll the text of a multiple-line edit control.

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

パラメーターParameters

nLinesnLines
垂直方向にスクロールする行数を指定します。Specifies the number of lines to scroll vertically.

nCharsnChars
水平方向にスクロールする文字位置の数を指定します。Specifies the number of character positions to scroll horizontally. エディットコントロールに ES_RIGHT スタイルまたは ES_CENTER スタイルがある場合、この値は無視されます。This value is ignored if the edit control has either the ES_RIGHT or ES_CENTER style.

RemarksRemarks

このメンバー関数は、複数行のエディットコントロールによってのみ処理されます。This member function is processed only by multiple-line edit controls.

エディットコントロール内のテキストの最後の行を垂直方向にスクロールすることはできません。The edit control does not scroll vertically past the last line of text in the edit control. 現在の行とnLinesで指定された行数が、エディットコントロールの行の合計数を超えた場合、エディットコントロールの最後の行が編集コントロールウィンドウの一番上にスクロールされるように値が調整されます。If the current line plus the number of lines specified by nLines exceeds the total number of lines in the edit control, the value is adjusted so that the last line of the edit control is scrolled to the top of the edit-control window.

LineScrollを使用すると、行の最後の文字を越えて水平方向にスクロールできます。LineScroll can be used to scroll horizontally past the last character of any line.

詳細については、Windows SDK の「 EM_LINESCROLL 」を参照してください。For more information, see EM_LINESCROLL in the Windows SDK.

Example

CEdit:: GetFirstVisibleLine」の例を参照してください。See the example for CEdit::GetFirstVisibleLine.

CEdit::PasteCEdit::Paste

クリップボードCEditから挿入ポイントのにデータを挿入するには、この関数を呼び出します。Call this function to insert the data from the Clipboard into the CEdit at the insertion point.

void Paste();

RemarksRemarks

データは、クリップボードに CF_TEXT 形式のデータが含まれている場合にのみ挿入されます。Data is inserted only if the Clipboard contains data in CF_TEXT format.

詳細については、Windows SDK の「 WM_PASTE 」を参照してください。For more information, see WM_PASTE in the Windows SDK.

Example

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

CEdit::PosFromCharCEdit::PosFromChar

このCEditオブジェクト内の特定の文字の位置 (左上隅) を取得するには、この関数を呼び出します。Call this function to get the position (top-left corner) of a given character within this CEdit object.

CPoint PosFromChar(UINT nChar) const;

パラメーターParameters

nCharnChar
指定した文字の0から始まるインデックス。The zero-based index of the specified character.

戻り値Return Value

NCharによって指定された文字の左上隅の座標。The coordinates of the top-left corner of the character specified by nChar.

RemarksRemarks

文字は、0から始まるインデックス値を指定することによって指定されます。The character is specified by giving its zero-based index value. NCharがこのCEditオブジェクトの最後の文字のインデックスよりも大きい場合、戻り値は、このCEditオブジェクトの最後の文字の直後にある文字位置の座標を指定します。If nChar is greater than the index of the last character in this CEdit object, the return value specifies the coordinates of the character position just past the last character in this CEdit object.

注意

このメンバー関数は、Windows 95 および Windows NT 4.0 から使用できます。This member function is available beginning with Windows 95 and Windows NT 4.0.

詳細については、Windows SDK の「 EM_POSFROMCHAR 」を参照してください。For more information, see EM_POSFROMCHAR in the Windows SDK.

Example

CEdit:: LineFromChar」の例を参照してください。See the example for CEdit::LineFromChar.

CEdit::ReplaceSelCEdit::ReplaceSel

エディットコントロールの現在の選択項目を、 lpszNewTextで指定したテキストに置き換えるには、この関数を呼び出します。Call this function to replace the current selection in an edit control with the text specified by lpszNewText.

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

パラメーターParameters

lpszNewTextlpszNewText
置換テキストを含む null で終わる文字列を指します。Points to a null-terminated string containing the replacement text.

bCanUndobCanUndo
この関数を元に戻すことができるように指定するには、このパラメーターの値を TRUE に設定します。To specify that this function can be undone, set the value of this parameter to TRUE . 既定値は FALSE です。The default value is FALSE.

RemarksRemarks

エディットコントロール内のテキストの一部だけを置換します。Replaces only a portion of the text in an edit control. すべてのテキストを置換する場合は、 CWnd:: SetWindowTextメンバー関数を使用します。If you want to replace all of the text, use the CWnd::SetWindowText member function.

現在選択されていない場合は、現在のカーソル位置に置換テキストが挿入されます。If there is no current selection, the replacement text is inserted at the current cursor location.

詳細については、Windows SDK の「 EM_REPLACESEL 」を参照してください。For more information, see EM_REPLACESEL in the Windows SDK.

Example

CEdit:: LineIndex」の例を参照してください。See the example for CEdit::LineIndex.

CEdit::SetCueBannerCEdit::SetCueBanner

コントロールが空の場合に、エディットコントロールにテキストキュー (ヒント) として表示されるテキストを設定します。Sets the text that is displayed as the text cue, or tip, in an edit control when the control is empty.

BOOL SetCueBanner(LPCWSTR lpszText);

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

パラメーターParameters

lpszTextlpszText
からエディットコントロールに表示するキューを含む文字列へのポインター。[in] Pointer to a string that contains the cue to display in the edit control.

fDrawWhenFocusedfDrawWhenFocused
からFALSE の場合、ユーザーが編集コントロールをクリックしたときにキューバナーが描画されず、コントロールにフォーカスが移動します。[in] If FALSE, the cue banner is not drawn when the user clicks in the edit control and gives the control the focus.

TRUE の場合、コントロールにフォーカスがあるときでも、キューバナーが描画されます。If TRUE, the cue banner is drawn even when the control has focus. ユーザーがコントロールの入力を開始すると、キューのバナーが表示されなくなります。The cue banner disappears when the user starts to type in the control.

既定値は FALSE です。The default value is FALSE.

戻り値Return Value

メソッドが成功した場合は TRUE。それ以外の場合は FALSE。TRUE if the method is successful; otherwise FALSE.

RemarksRemarks

このメソッドは、Windows SDK で説明されているEM_SETCUEBANNERメッセージを送信します。This method sends the EM_SETCUEBANNER message, which is described in the Windows SDK. 詳細については、「 Edit_SetCueBannerTextFocusedマクロ」を参照してください。For more information, see the Edit_SetCueBannerTextFocused macro.

Example

次の例は、 CEdit:: SetCueBannerメソッドを示しています。The following example demonstrates the CEdit::SetCueBanner method.

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

CEdit::SetHandleCEdit::SetHandle

この関数を呼び出して、複数行のエディットコントロールによって使用されるローカルメモリのハンドルを設定します。Call this function to set the handle to the local memory that will be used by a multiple-line edit control.

void SetHandle(HLOCAL hBuffer);

パラメーターParameters

hBufferhBuffer
ローカルメモリへのハンドルを格納します。Contains a handle to the local memory. このハンドルは、LMEM_MOVEABLE フラグを使用して、 LocalAlloc Windows 関数の前回の呼び出しによって作成されている必要があります。This handle must have been created by a previous call to the LocalAlloc Windows function using the LMEM_MOVEABLE flag. メモリには、null で終わる文字列が含まれていると見なされます。The memory is assumed to contain a null-terminated string. そうでない場合は、割り当てられたメモリの最初のバイトを0に設定する必要があります。If this is not the case, the first byte of the allocated memory should be set to 0.

RemarksRemarks

エディットコントロールは、独自のバッファーを割り当てる代わりに、現在表示されているテキストを格納するために、このバッファーを使用します。The edit control will then use this buffer to store the currently displayed text instead of allocating its own buffer.

このメンバー関数は、複数行のエディットコントロールによってのみ処理されます。This member function is processed only by multiple-line edit controls.

アプリケーションで新しいメモリハンドルを設定する前に、 GetHandleメンバー関数を使用して、現在のメモリバッファーへのハンドルを取得し、Windows LocalFreeの関数を使用してそのメモリを解放する必要があります。Before an application sets a new memory handle, it should use the GetHandle member function to get the handle to the current memory buffer and free that memory using the LocalFree Windows function.

SetHandle元に戻すバッファー ( Canundoメンバー関数は0を返します) をクリアし、内部変更フラグ ( getmodifyメンバー関数は0を返します) をクリアします。SetHandle clears the undo buffer (the CanUndo member function then returns 0) and the internal modification flag (the GetModify member function then returns 0). 編集コントロールウィンドウが再描画されます。The edit-control window is redrawn.

このメンバー関数は、ダイアログボックス内の複数行のエディットコントロールで、DS_LOCALEDIT style フラグが設定されたダイアログボックスを作成した場合にのみ使用できます。You can use this member function in a multiple-line edit control in a dialog box only if you have created the dialog box with the DS_LOCALEDIT style flag set.

注意

GetHandleWindows 95/98 では機能しません。GetHandle will not work with Windows 95/98. Windows 95/98 でGetHandleを呼び出すと、NULL が返されます。If you call GetHandle in Windows 95/98, it will return NULL. GetHandleは、「Windows NT バージョン3.51 以降」に記載されているとおりに動作します。GetHandle will work as documented under Windows NT, versions 3.51 and later.

詳細については、Windows SDK の「 EM_SETHANDLELocalAlloc、およびLocalFree 」を参照してください。For more information, see EM_SETHANDLE, LocalAlloc, and LocalFree in the Windows SDK.

Example

// 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::SetHighlightCEdit::SetHighlight

現在の編集コントロールに表示されるテキストの範囲を強調表示します。Highlights a range of text that is displayed in the current edit control.

void SetHighlight(
    int ichStart,
    int ichEnd);

パラメーターParameters

パラメーターParameter 説明Description
ichStartichStart から強調表示するテキスト範囲内の最初の文字の0から始まるインデックス番号。[in] Zero-based index of the first character in the range of text to highlight.
ichEndichEnd から強調表示するテキスト範囲内の最後の文字の0から始まるインデックス番号。[in] Zero-based index of the last character in the range of text to highlight.

RemarksRemarks

このメソッドは、Windows SDK で説明されているEM_SETHILITEメッセージを送信します。This method sends the EM_SETHILITE message, which is described in the Windows SDK. このメソッドは、Windows SDK で説明されているEM_SETHILITEメッセージを送信します。This method sends the EM_SETHILITE message, which is described in the Windows SDK. SetHighlightGetHighlightどちらも、UNICODE ビルドに対してのみ有効です。Both SetHighlight and GetHighlight are enabled for UNICODE builds only.

CEdit::SetLimitTextCEdit::SetLimitText

このCEditオブジェクトのテキスト制限を設定するには、このメンバー関数を呼び出します。Call this member function to set the text limit for this CEdit object.

void SetLimitText(UINT nMax);

パラメーターParameters

N1 日nMax
新しいテキストの制限値 (文字数)。The new text limit, in characters.

RemarksRemarks

Text 制限は、エディットコントロールが受け入れることができるテキストの最大量 (文字数) です。The text limit is the maximum amount of text, in characters, that the edit control can accept.

テキストの制限を変更すると、ユーザーが入力できるテキストのみが制限されます。Changing the text limit restricts only the text the user can enter. エディットコントロールに既に存在するテキストには影響しません。また、のCWnd SetWindowTextメンバー関数によってエディットコントロールにコピーされるテキストの長さにも影響しません。It has no effect on any text already in the edit control, nor does it affect the length of the text copied to the edit control by the SetWindowText member function in CWnd. アプリケーションでSetWindowText関数を使用して、のLimitText呼び出しで指定されたよりも多くのテキストを編集コントロールに配置する場合、ユーザーは編集コントロール内の任意のテキストを削除できます。If an application uses the SetWindowText function to place more text into an edit control than is specified in the call to LimitText, the user can delete any of the text within the edit control. ただし、テキストの制限により、現在の選択範囲を削除してもテキストがテキストの上限を超えない限り、ユーザーは既存のテキストを新しいテキストに置き換えることができなくなります。However, the text limit will prevent the user from replacing the existing text with new text, unless deleting the current selection causes the text to fall below the text limit.

この関数は、Win32 のLimittextを置き換えます。This function replaces LimitText in Win32.

詳細については、Windows SDK の「 EM_SETLIMITTEXT 」を参照してください。For more information, see EM_SETLIMITTEXT in the Windows SDK.

Example

CEditView:: GetEditCtrlの例を参照してください。See the example for CEditView::GetEditCtrl.

CEdit::SetMarginsCEdit::SetMargins

このエディットコントロールの左右の余白を設定するには、このメソッドを呼び出します。Call this method to set the left and right margins of this edit control.

void SetMargins(
    UINT nLeft,
    UINT nRight);

パラメーターParameters

nLeftnLeft
新しい左余白の幅 (ピクセル単位)。The width of the new left margin, in pixels.

nRightnRight
新しい右余白の幅 (ピクセル単位)。The width of the new right margin, in pixels.

RemarksRemarks

注意

このメンバー関数は、Windows 95 および Windows NT 4.0 から使用できます。This member function is available beginning with Windows 95 and Windows NT 4.0.

詳細については、Windows SDK の「 EM_SETMARGINS 」を参照してください。For more information, see EM_SETMARGINS in the Windows SDK.

Example

CEditView:: GetEditCtrlの例を参照してください。See the example for CEditView::GetEditCtrl.

CEdit::SetModifyCEdit::SetModify

編集コントロールの変更されたフラグを設定またはクリアするには、この関数を呼び出します。Call this function to set or clear the modified flag for an edit control.

void SetModify(BOOL bModified = TRUE);

パラメーターParameters

bModifiedbModified
値が TRUE の場合は、テキストが変更されたことを示します。値が FALSE の場合は、変更されていないことを示します。A value of TRUE indicates that the text has been modified, and a value of FALSE indicates it is unmodified. 既定では、modified フラグが設定されています。By default, the modified flag is set.

RemarksRemarks

Modified フラグは、エディットコントロール内のテキストが変更されたかどうかを示します。The modified flag indicates whether or not the text within the edit control has been modified. ユーザーがテキストを変更するたびに自動的に設定されます。It is automatically set whenever the user changes the text. 値を取得するには、 Getmodifyメンバー関数を使用します。Its value may be retrieved with the GetModify member function.

詳細については、Windows SDK の「 EM_SETMODIFY 」を参照してください。For more information, see EM_SETMODIFY in the Windows SDK.

Example

CEdit:: GetModify」の例を参照してください。See the example for CEdit::GetModify.

CEdit::SetPasswordCharCEdit::SetPasswordChar

ユーザーがテキストを入力したときに編集コントロールに表示されるパスワード文字を設定または削除するには、この関数を呼び出します。Call this function to set or remove a password character displayed in an edit control when the user types text.

void SetPasswordChar(TCHAR ch);

パラメーターParameters

chch
ユーザーが入力した文字の代わりに表示される文字を指定します。Specifies the character to be displayed in place of the character typed by the user. Chが0の場合は、ユーザーが入力した実際の文字が表示されます。If ch is 0, the actual characters typed by the user are displayed.

RemarksRemarks

パスワード文字を設定すると、ユーザーが入力した文字ごとにその文字が表示されます。When a password character is set, that character is displayed for each character the user types.

このメンバー関数は、複数行のエディットコントロールには影響しません。This member function has no effect on a multiple-line edit control.

メンバー関数が呼び出されると、 CEditは、ch によって指定された文字を使用して、表示されるすべての文字を再描画します。 SetPasswordCharWhen the SetPasswordChar member function is called, CEdit will redraw all visible characters using the character specified by ch.

エディットコントロールがES_PASSWORDスタイルで作成されている場合、既定のパスワード文字はアスタリスク ( *) に設定されます。If the edit control is created with the ES_PASSWORD style, the default password character is set to an asterisk ( *). Ch を0に設定SetPasswordCharしてを呼び出すと、このスタイルは削除されます。This style is removed if SetPasswordChar is called with ch set to 0.

詳細については、Windows SDK の「 EM_SETPASSWORDCHAR 」を参照してください。For more information, see EM_SETPASSWORDCHAR in the Windows SDK.

Example

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

CEdit::SetReadOnlyCEdit::SetReadOnly

エディットコントロールの読み取り専用の状態を設定するために、この関数を呼び出します。Calls this function to set the read-only state of an edit control.

BOOL SetReadOnly(BOOL bReadOnly = TRUE);

パラメーターParameters

bReadOnlybReadOnly
エディットコントロールの読み取り専用の状態を設定または削除するかどうかを指定します。Specifies whether to set or remove the read-only state of the edit control. 値が TRUE の場合は、状態が読み取り専用に設定されます。値が FALSE の場合、状態は読み取り/書き込みに設定されます。A value of TRUE sets the state to read-only; a value of FALSE sets the state to read/write.

戻り値Return Value

操作が成功した場合は0以外の場合は。エラーが発生した場合は0。Nonzero if the operation is successful, or 0 if an error occurs.

RemarksRemarks

現在の設定を見つけるには、 CWnd:: GetStyleの戻り値のES_READONLYフラグをテストします。The current setting can be found by testing the ES_READONLY flag in the return value of CWnd::GetStyle.

詳細については、Windows SDK の「 EM_SETREADONLY 」を参照してください。For more information, see EM_SETREADONLY in the Windows SDK.

Example

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

CEdit::SetRectCEdit::SetRect

この関数を呼び出して、指定した座標を使用して四角形の寸法を設定します。Call this function to set the dimensions of a rectangle using the specified coordinates.

void SetRect(LPCRECT lpRect);

パラメーターParameters

lpRectlpRect
書式指定用RECTの四角形CRectの新しい次元を指定する構造体またはオブジェクトを指します。Points to the RECT structure or CRect object that specifies the new dimensions of the formatting rectangle.

RemarksRemarks

このメンバーは、複数行のエディットコントロールによってのみ処理されます。This member is processed only by multiple-line edit controls.

複数SetRect行のエディットコントロールの書式指定用の四角形を設定するには、を使用します。Use SetRect to set the formatting rectangle of a multiple-line edit control. 書式設定用の四角形は、エディットコントロールウィンドウのサイズに依存しない、テキストの限定された四角形です。The formatting rectangle is the limiting rectangle of the text, which is independent of the size of the edit-control window. エディットコントロールが最初に作成されたとき、書式設定の四角形は編集コントロールウィンドウのクライアント領域と同じになります。When the edit control is first created, the formatting rectangle is the same as the client area of the edit-control window. SetRectメンバー関数を使用すると、アプリケーションは、書式設定の四角形を編集コントロールウィンドウよりも大きくしたり小さくしたりすることができます。By using the SetRect member function, an application can make the formatting rectangle larger or smaller than the edit-control window.

エディットコントロールにスクロールバーがない場合、書式設定の四角形がウィンドウより大きい場合、テキストは切り取られずに切り取られます。If the edit control has no scroll bar, text will be clipped, not wrapped, if the formatting rectangle is made larger than the window. エディットコントロールに境界線が含まれている場合は、罫線のサイズによって書式設定の四角形が縮小されます。If the edit control contains a border, the formatting rectangle is reduced by the size of the border. GetRectメンバー関数によって返される四角形を調整する場合は、四角形をにSetRect渡す前に、境界線のサイズを削除する必要があります。If you adjust the rectangle returned by the GetRect member function, you must remove the size of the border before you pass the rectangle to SetRect.

SetRect呼び出されると、エディットコントロールのテキストも再フォーマットされ、再表示されます。When SetRect is called, the edit control's text is also reformatted and redisplayed.

詳細については、Windows SDK の「 EM_SETRECT 」を参照してください。For more information, see EM_SETRECT in the Windows SDK.

Example

// 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::SetRectNPCEdit::SetRectNP

複数行の編集コントロールの書式指定用の四角形を設定するには、この関数を呼び出します。Call this function to set the formatting rectangle of a multiple-line edit control.

void SetRectNP(LPCRECT lpRect);

パラメーターParameters

lpRectlpRect
四角形の新しいRECT寸法をCRect指定する構造体またはオブジェクトを指します。Points to a RECT structure or CRect object that specifies the new dimensions of the rectangle.

RemarksRemarks

書式設定用の四角形は、エディットコントロールウィンドウのサイズに依存しない、テキストの限定された四角形です。The formatting rectangle is the limiting rectangle of the text, which is independent of the size of the edit-control window.

SetRectNPは、編集コントロールSetRectウィンドウが再描画されない点を除いて、メンバー関数と同じです。SetRectNP is identical to the SetRect member function except that the edit-control window is not redrawn.

エディットコントロールが最初に作成されたとき、書式設定の四角形は編集コントロールウィンドウのクライアント領域と同じになります。When the edit control is first created, the formatting rectangle is the same as the client area of the edit-control window. アプリケーションではSetRectNP 、メンバー関数を呼び出すことにより、書式設定の四角形を編集コントロールウィンドウよりも大きくしたり小さくしたりすることができます。By calling the SetRectNP member function, an application can make the formatting rectangle larger or smaller than the edit-control window.

エディットコントロールにスクロールバーがない場合、書式設定の四角形がウィンドウより大きい場合、テキストは切り取られずに切り取られます。If the edit control has no scroll bar, text will be clipped, not wrapped, if the formatting rectangle is made larger than the window.

このメンバーは、複数行のエディットコントロールによってのみ処理されます。This member is processed only by multiple-line edit controls.

詳細については、Windows SDK の「 EM_SETRECTNP 」を参照してください。For more information, see EM_SETRECTNP in the Windows SDK.

Example

CEdit:: SetRect」の例を参照してください。See the example for CEdit::SetRect.

CEdit::SetSelCEdit::SetSel

エディットコントロール内の文字の範囲を選択するには、この関数を呼び出します。Call this function to select a range of characters in an edit control.

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

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

パラメーターParameters

dwSelectiondwSelection
下位ワードの開始位置と上位ワードの終了位置を指定します。Specifies the starting position in the low-order word and the ending position in the high-order word. 下位ワードが0で、上位ワードが-1 の場合、エディットコントロール内のすべてのテキストが選択されます。If the low-order word is 0 and the high-order word is -1, all the text in the edit control is selected. 下位ワードが-1 の場合、現在の選択項目はすべて削除されます。If the low-order word is -1, any current selection is removed.

bNoScrollbNoScroll
キャレットをスクロールして表示するかどうかを示します。Indicates whether the caret should be scrolled into view. FALSE の場合、キャレットはスクロールして表示されます。If FALSE, the caret is scrolled into view. TRUE の場合、キャレットはスクロールされずに表示されます。If TRUE, the caret is not scrolled into view.

nStartCharnStartChar
開始位置を指定します。Specifies the starting position. Nstartcharが0でnEndCharが-1 の場合、エディットコントロール内のすべてのテキストが選択されます。If nStartChar is 0 and nEndChar is -1, all the text in the edit control is selected. Nstartcharが-1 の場合、現在の選択はすべて削除されます。If nStartChar is -1, any current selection is removed.

nEndCharnEndChar
終了位置を指定します。Specifies the ending position.

RemarksRemarks

詳細については、Windows SDK の「 EM_SETSEL 」を参照してください。For more information, see EM_SETSEL in the Windows SDK.

Example

CEdit:: GetSel」の例を参照してください。See the example for CEdit::GetSel.

CEdit::SetTabStopsCEdit::SetTabStops

この関数を呼び出して、複数行のエディットコントロールでタブストップを設定します。Call this function to set the tab stops in a multiple-line edit control.

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

BOOL SetTabStops(
    int nTabStops,
    LPINT rgTabStops);

パラメーターParameters

cxEachStopcxEachStop
すべてのcxEachStopダイアログ単位でタブストップを設定することを指定します。Specifies that tab stops are to be set at every cxEachStop dialog units.

nTabStopsnTabStops
RgTabStopsに含まれるタブストップの数を指定します。Specifies the number of tab stops contained in rgTabStops. この数値は1より大きい値である必要があります。This number must be greater than 1.

rgTabStopsrgTabStops
ダイアログ単位のタブストップを指定する符号なし整数の配列を指します。Points to an array of unsigned integers specifying the tab stops in dialog units. ダイアログ単位は、水平方向または垂直方向の距離です。A dialog unit is a horizontal or vertical distance. 水平ダイアログ単位は、現在のダイアログベースの幅の単位の1番目と同じです。また、1つの垂直ダイアログ単位は、現在のダイアログベースの高さ単位の8分の1と等しくなります。One horizontal dialog unit is equal to one-fourth of the current dialog base width unit, and 1 vertical dialog unit is equal to one-eighth of the current dialog base height unit. ダイアログの基本単位は、現在のシステムフォントの高さと幅に基づいて計算されます。The dialog base units are computed based on the height and width of the current system font. Windows GetDialogBaseUnits関数は、現在のダイアログベース単位をピクセル単位で返します。The GetDialogBaseUnits Windows function returns the current dialog base units in pixels.

戻り値Return Value

タブが設定されている場合は0以外の。それ以外の場合は0です。Nonzero if the tabs were set; otherwise 0.

RemarksRemarks

テキストが複数行の編集コントロールにコピーされると、テキスト内のタブ文字によって、次のタブストップまでの領域が生成されます。When text is copied to a multiple-line edit control, any tab character in the text will cause space to be generated up to the next tab stop.

タブストップを既定のサイズの32ダイアログ単位に設定するには、このメンバー関数のパラメーターなしのバージョンを呼び出します。To set tab stops to the default size of 32 dialog units, call the parameterless version of this member function. タブストップを32以外のサイズに設定するには、 cxEachStopパラメーターを使用してバージョンを呼び出します。To set tab stops to a size other than 32, call the version with the cxEachStop parameter. タブストップをサイズの配列に設定するには、2つのパラメーターを持つバージョンを使用します。To set tab stops to an array of sizes, use the version with two parameters.

このメンバー関数は、複数行のエディットコントロールによってのみ処理されます。This member function is only processed by multiple-line edit controls.

SetTabStops編集ウィンドウは自動的に再描画されません。SetTabStops does not automatically redraw the edit window. エディットコントロールに既に存在するテキストのタブストップを変更する場合は、 CWnd:: InvalidateRectを呼び出して編集ウィンドウを再描画します。If you change the tab stops for text already in the edit control, call CWnd::InvalidateRect to redraw the edit window.

詳細については、Windows SDK の「 EM_SETTABSTOPSGet baseunits 」を参照してください。For more information, see EM_SETTABSTOPS and GetDialogBaseUnits in the Windows SDK.

Example

CEditView:: SetTabStopsの例を参照してください。See the example for CEditView::SetTabStops.

CEdit::ShowBalloonTipCEdit::ShowBalloonTip

現在の編集コントロールに関連付けられているバルーンヒントを表示します。Displays a balloon tip that is associated with the current edit control.

BOOL ShowBalloonTip(PEDITBALLOONTIP pEditBalloonTip);

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

パラメーターParameters

パラメーターParameter 説明Description
pEditBalloonTippEditBalloonTip からバルーンヒントを記述するEDITBALLOONTIP構造体へのポインター。[in] Pointer to an EDITBALLOONTIP structure that describes the balloon tip.
lpszTitlelpszTitle からバルーンヒントのタイトルを含む Unicode 文字列へのポインター。[in] Pointer to a Unicode string that contains the title of the balloon tip.
lpszTextlpszText からバルーンヒントテキストを含む Unicode 文字列へのポインター。[in] Pointer to a Unicode string that contains the balloon tip text.
ttiIconttiIcon からバルーンヒントに関連付けるアイコンの種類を指定するINT[in] An INT that specifies the type of icon to associate with the balloon tip. 既定値は TTI_NONE です。The default value is TTI_NONE. 詳細については、 ttiIcon EDITBALLOONTIP構造体のメンバーを参照してください。For more information, see the ttiIcon member of the EDITBALLOONTIP structure.

戻り値Return Value

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。TRUE if this method is successful; otherwise, FALSE.

RemarksRemarks

この関数は、Windows SDK で説明されているEM_SHOWBALLOONTIPメッセージを送信します。This function sends the EM_SHOWBALLOONTIP message, which is described in the Windows SDK. 詳細については、「 Edit_ShowBalloonTipマクロ」を参照してください。For more information, see the Edit_ShowBalloonTip macro.

Example

現在の編集コントロールにアクセスするためm_ceditに使用される変数を定義するコード例を次に示します。The following code example defines a variable, m_cedit, that is used to access the current edit control. この変数は次の例で使用されています。This variable is used in the next example.

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

Example

次のコード例では、エディットコントロールのバルーンヒントを表示します。The following code example displays a balloon tip for an edit control. CEdit:: ShowBalloonTipメソッドは、タイトルとバルーンヒントテキストを指定します。The CEdit::ShowBalloonTip method specifies a title and balloon tip text.

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

CEdit::UndoCEdit::Undo

最後の編集コントロール操作を元に戻すには、この関数を呼び出します。Call this function to undo the last edit-control operation.

BOOL Undo();

戻り値Return Value

単一行のエディットコントロールの場合、戻り値は常に0以外になります。For a single-line edit control, the return value is always nonzero. 複数行のエディットコントロールでは、元に戻す操作が成功した場合、戻り値は0以外の値になります。また、元に戻す操作が失敗した場合は0になります。For a multiple-line edit control, the return value is nonzero if the undo operation is successful, or 0 if the undo operation fails.

RemarksRemarks

元に戻す操作は元に戻すこともできます。An undo operation can also be undone. たとえば、の最初の呼び出しUndoで、削除されたテキストを復元できます。For example, you can restore deleted text with the first call to Undo. 編集操作が介在しない限り、の2回目の呼び出しUndoでテキストを削除できます。As long as there is no intervening edit operation, you can remove the text again with a second call to Undo.

詳細については、Windows SDK の「 EM_UNDO 」を参照してください。For more information, see EM_UNDO in the Windows SDK.

Example

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

関連項目See also

MFC のサンプル CALCDRIVMFC Sample CALCDRIV
MFC のサンプル CMNCTRL2MFC Sample CMNCTRL2
CWnd クラスCWnd Class
階層図Hierarchy Chart
CWnd クラスCWnd Class
CButton クラスCButton Class
CComboBox クラスCComboBox Class
CListBox クラスCListBox Class
CScrollBar クラスCScrollBar Class
CStatic クラスCStatic Class
CDialog クラスCDialog Class