Mfc-edit-box

提供:Dev Guides
移動先:案内検索

MFC-編集ボックス

  • 編集ボックス*は、ユーザーがテキストを入力できる長方形の子ウィンドウです。 * CEditクラス*で表されます。

____これは、CEditクラスのメソッドのリストです。

Sr.No. Name & Description
1

CanUndo

編集制御操作を元に戻すことができるかどうかを決定します。

2

CharFromPos

指定された位置に最も近い文字の行インデックスと文字インデックスを取得します。

3

Clear

編集コントロール内の現在の選択(存在する場合)を削除(クリア)します。

4

Copy

編集コントロールの現在の選択範囲(ある場合)を CF_TEXT 形式でクリップボードにコピーします。

5

Create

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

6

Cut

編集コントロールで現在の選択範囲(ある場合)を削除(カット)し、削除されたテキストをCF_TEXT形式でクリップボードにコピーします。

7

EmptyUndoBuffer

編集コントロールの取り消しフラグをリセット(クリア)します。

8

FmtLines

複数行のエディットコントロール内でソフト改行文字を含めるかどうかを設定します。

9

GetCueBanner

コントロールが空でフォーカスがないときに、エディットコントロールでテキストキューまたはヒントとして表示されるテキストを取得します。

10

GetFirstVisibleLine

編集コントロールの最上部に表示される行を決定します。

11

GetHandle

複数行編集コントロールに現在割り当てられているメモリへのハンドルを取得します。

12

GetHighlight

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

13

GetLimitText

この CEdit に含めることができるテキストの最大量を取得します。

14

GetLine

編集コントロールからテキスト行を取得します。

15

GetLineCount

複数行編集コントロールの行数を取得します。

16

GetMargins

このCEditの左右のマージンを取得します。

17

GetModify

編集コントロールの内容が変更されたかどうかを決定します。

18

GetPasswordChar

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

19

GetRect

編集コントロールの書式設定四角形を取得します。

20

GetSel

編集コントロール内の現在の選択範囲の最初と最後の文字位置を取得します。

21

HideBalloonTip

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

22

LimitText

ユーザーが編集コントロールに入力できるテキストの長さを制限します。

23

LineFromChar

指定された文字インデックスを含む行の行番号を取得します。

24

LineIndex

複数行編集コントロール内の行の文字インデックスを取得します。

25

LineLength

編集コントロールの行の長さを取得します。

26

LineScroll

複数行の編集コントロールのテキストをスクロールします。

27

Paste

クリップボードのデータを編集コントロールの現在のカーソル位置に挿入します。 データは、クリップボードにCF_TEXT形式のデータが含まれている場合にのみ挿入されます。

28

PosFromChar

指定された文字インデックスの左上隅の座標を取得します。

29

ReplaceSel

編集コントロールの現在の選択を指定されたテキストに置き換えます。

30

SetCueBanner

コントロールが空でフォーカスがないときに、エディットコントロールのテキストキューまたはヒントとして表示されるテキストを設定します。

31

SetHandle

複数行編集コントロールで使用されるローカルメモリへのハンドルを設定します。

32

SetHighlight

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

33

SetLimitText

このCEditに含めることができるテキストの最大量を設定します。

34

SetMargins

このCEditの左右のマージンを設定します。

35

SetModify

編集コントロールの変更フラグを設定またはクリアします。

36

SetPasswordChar

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

37

SetReadOnly

編集コントロールの読み取り専用状態を設定します。

38

SetRect

複数行編集コントロールの書式設定四角形を設定し、コントロールを更新します。

39

SetRectNP

コントロールウィンドウを再描画せずに、複数行のエディットコントロールの書式設定四角形を設定します。

40

SetSel

編集コントロール内の文字の範囲を選択します。

41

SetTabStops

複数行のエディットコントロールでタブストップを設定します。

42

ShowBalloonTip

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

43

Undo

最後の編集制御操作を取り消します。

____エディットコントロールのメッセージマッピングのリストです。

Message Map entry Description
EN_CHANGE ON_EN_CHANGE( <id>, <memberFxn> ) The user has taken an action that may have altered text in an edit control.
EN_ERRSPACE ON_EN_ERRSPACE( <id>, <memberFxn> ) The edit control cannot allocate enough memory to meet a specific request.
EN_HSCROLL ON_EN_HSCROLL( <id>, <memberFxn> ) The user clicks an edit control’s horizontal scroll bar. The parent window is notified before the screen is updated.
EN_KILLFOCUS ON_EN_KILLFOCUS( <id>, <memberFxn> ) The edit control loses the input focus.
MAXTEXT ON_MAXTEXT( <id>, <memberFxn> ) The current insertion has exceeded the specified number of characters for the edit control and has been truncated.
EN_SETFOCUS ON_EN_SETFOCUS( <id>, <memberFxn> ) Sent when an edit control receives the input focus.
EN_UPDATE ON_EN_UPDATE( <id>, <memberFxn> ) he 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.
EN_VSCROLL ON_EN_VSCROLL( <id>, <memberFxn> ) The user clicks an edit control’s vertical scroll bar. The parent window is notified before the screen is updated.

新しいMFCダイアログベースのプロジェクトを作成して、簡単な例を見てみましょう。

  • ステップ1 *-静的テキストコントロールのキャプションを削除し、1つのボタンと1つの編集コントロールをドラッグします。

編集ボックス

  • ステップ2 *-編集制御用の制御変数m_editCtrlと静的テキスト制御用の値変数m_strTextCtrlを追加します。
  • ステップ3 *-ボタンクリックイベントのイベントハンドラーを追加します。

編集ボックス

  • ステップ4 *-これは、ボタンクリックイベントのイベントハンドラーの実装です。
void CMFCEditDlg::OnBnClickedButton1() {
  //TODO: Add your control notification handler code here
   CString str = _T("");
   m_editCtrl.GetWindowTextW(str);

   if (!str.IsEmpty())
      m_strTextCtrl = str;
   else
      m_strTextCtrl = _T("Write Something");
   UpdateData(FALSE);
}
  • ステップ5 *-上記のコードをコンパイルして実行すると、次のように表示されます。

編集ボックス

  • ステップ6 *-編集コントロールにテキストを書き込んで[表示]をクリックすると、静的テキストコントロールのテキストが更新されます。