Bagikan melalui


Kelas CEdit

Menyediakan fungsionalitas kontrol edit Windows.

Sintaks

class CEdit : public CWnd

Anggota

Konstruktor Publik

Nama Deskripsi
CEdit::CEdit Membuat CEdit objek kontrol.

Metode Publik

Nama Deskripsi
CEdit::CanUndo Menentukan apakah operasi edit-kontrol dapat dibatalkan.
CEdit::CharFromPos Mengambil indeks baris dan karakter untuk karakter yang paling dekat dengan posisi yang ditentukan.
CEdit::Clear Menghapus (menghapus) pilihan saat ini (jika ada) dalam kontrol edit.
CEdit::Copy Menyalin pilihan saat ini (jika ada) dalam kontrol edit ke Clipboard dalam format CF_TEXT.
CEdit::Create Membuat kontrol edit Windows dan melampirkannya ke CEdit objek.
CEdit::Cut Menghapus (memotong) pilihan saat ini (jika ada) dalam kontrol edit dan menyalin teks yang dihapus ke Clipboard dalam format CF_TEXT.
CEdit::EmptyUndoBuffer Mengatur ulang (menghapus) bendera batalkan kontrol edit.
CEdit::FmtLines Mengatur penyertaan karakter pemisah garis lunak aktif atau nonaktif dalam kontrol edit beberapa baris.
CEdit::GetCueBanner Mengambil teks yang ditampilkan sebagai isjin teks, atau tip, dalam kontrol edit saat kontrol kosong dan tidak memiliki fokus.
CEdit::GetFirstVisibleLine Menentukan garis paling atas yang terlihat dalam kontrol edit.
CEdit::GetHandle Mengambil handel ke memori yang saat ini dialokasikan untuk kontrol edit beberapa baris.
CEdit::GetHighlight Mendapatkan indeks karakter awal dan akhir dalam rentang teks yang disorot dalam kontrol edit saat ini.
CEdit::GetLimitText Mendapatkan jumlah maksimum teks yang dapat dimuat CEdit .
CEdit::GetLine Mengambil baris teks dari kontrol edit.
CEdit::GetLineCount Mengambil jumlah baris dalam kontrol edit beberapa baris.
CEdit::GetMargins Mendapatkan margin kiri dan kanan untuk ini CEdit.
CEdit::GetModify Menentukan apakah isi kontrol edit telah dimodifikasi.
CEdit::GetPasswordChar Mengambil karakter kata sandi yang ditampilkan dalam kontrol edit saat pengguna memasukkan teks.
CEdit::GetRect Mendapatkan persegi panjang pemformatan kontrol edit.
CEdit::GetSel Mendapatkan posisi karakter pertama dan terakhir dari pilihan saat ini dalam kontrol edit.
CEdit::HideBalloonTip Menyembunyikan tip balon apa pun yang terkait dengan kontrol edit saat ini.
CEdit::LimitText Membatasi panjang teks yang dapat dimasukkan pengguna ke dalam kontrol edit.
CEdit::LineFromChar Mengambil nomor baris baris yang berisi indeks karakter yang ditentukan.
CEdit::LineIndex Mengambil indeks karakter garis dalam kontrol edit beberapa baris.
CEdit::LineLength Mengambil panjang garis dalam kontrol edit.
CEdit::LineScroll Menggulir teks kontrol edit beberapa baris.
CEdit::P aste Menyisipkan data dari Papan Klip ke kontrol edit pada posisi kursor saat ini. Data disisipkan hanya jika Clipboard berisi data dalam format CF_TEXT.
CEdit::P osFromChar Mengambil koordinat sudut kiri atas indeks karakter tertentu.
CEdit::ReplaceSel Mengganti pilihan saat ini dalam kontrol edit dengan teks yang ditentukan.
CEdit::SetCueBanner Mengatur teks yang ditampilkan sebagai isjin teks, atau tip, dalam kontrol edit saat kontrol kosong dan tidak memiliki fokus.
CEdit::SetHandle Mengatur handel ke memori lokal yang akan digunakan oleh kontrol edit beberapa baris.
CEdit::SetHighlight Menyoroti rentang teks yang ditampilkan dalam kontrol edit saat ini.
CEdit::SetLimitText Mengatur jumlah maksimum teks yang bisa dimuat CEdit .
CEdit::SetMargins Mengatur margin kiri dan kanan untuk ini CEdit.
CEdit::SetModify Mengatur atau menghapus bendera modifikasi untuk kontrol edit.
CEdit::SetPasswordChar Mengatur atau menghapus karakter kata sandi yang ditampilkan dalam kontrol edit saat pengguna memasukkan teks.
CEdit::SetReadOnly Mengatur status baca-saja dari kontrol edit.
CEdit::SetRect Mengatur persegi panjang pemformatan kontrol edit beberapa baris dan memperbarui kontrol.
CEdit::SetRectNP Mengatur persegi panjang pemformatan kontrol edit beberapa baris tanpa menggambar ulang jendela kontrol.
CEdit::SetSel Memilih rentang karakter dalam kontrol edit.
CEdit::SetTabStops Mengatur perhentian tab dalam kontrol edit beberapa baris.
CEdit::ShowBalloonTip Menampilkan tip balon yang terkait dengan kontrol edit saat ini.
CEdit::Batalkan Membalikkan operasi edit-kontrol terakhir.

Keterangan

Kontrol edit adalah jendela anak persegi panjang tempat pengguna dapat memasukkan teks.

Anda dapat membuat kontrol edit baik dari templat dialog atau langsung di kode Anda. Dalam kedua kasus, pertama-tama panggil konstruktor CEdit untuk membuat CEdit objek, lalu panggil fungsi Buat anggota untuk membuat kontrol edit Windows dan melampirkannya ke CEdit objek.

Konstruksi dapat menjadi proses satu langkah di kelas yang berasal dari CEdit. Tulis konstruktor untuk kelas turunan dan panggil Create dari dalam konstruktor.

CEdit mewarisi fungsionalitas yang signifikan dari CWnd. Untuk mengatur dan mengambil teks dari CEdit objek, gunakan CWnd fungsi anggota SetWindowText dan GetWindowText, yang mengatur atau mendapatkan seluruh konten kontrol edit, bahkan jika itu adalah kontrol multibaris. Baris teks dalam kontrol multibaris dipisahkan oleh urutan karakter '\r\n'. Selain itu, jika kontrol edit multibaris, dapatkan dan atur bagian dari teks kontrol dengan memanggil CEdit fungsi anggota GetLine, SetSel, GetSel, dan ReplaceSel.

Jika Anda ingin menangani pesan pemberitahuan Windows yang dikirim oleh kontrol edit ke induknya (biasanya kelas berasal dari CDialog), tambahkan entri peta pesan dan fungsi anggota penanganan pesan ke kelas induk untuk setiap pesan.

Setiap entri peta pesan mengambil formulir berikut:

ON_NOTIFICATION( id, memberFxn )

jika id menentukan ID jendela anak dari kontrol edit yang mengirim pemberitahuan, dan memberFxn merupakan nama fungsi anggota induk yang telah Anda tulis untuk menangani pemberitahuan.

Prototipe fungsi induk adalah sebagai berikut:

afx_msg void memberFxn ( );

Berikut ini adalah daftar entri peta pesan potensial dan deskripsi kasus di mana mereka akan dikirim ke induk:

  • ON_EN_CHANGE Pengguna telah mengambil tindakan yang mungkin telah mengubah teks dalam kontrol edit. Tidak seperti pesan pemberitahuan EN_UPDATE, pesan pemberitahuan ini dikirim setelah Windows memperbarui tampilan.

  • ON_EN_ERRSPACE Kontrol edit tidak dapat mengalokasikan cukup memori untuk memenuhi permintaan tertentu.

  • ON_EN_HSCROLL Pengguna mengklik bilah gulir horizontal kontrol edit. Jendela induk diberi tahu sebelum layar diperbarui.

  • ON_EN_KILLFOCUS Kontrol edit kehilangan fokus input.

  • ON_EN_MAXTEXT Penyisipan saat ini telah melebihi jumlah karakter yang ditentukan untuk kontrol edit dan telah dipotong. Juga dikirim ketika kontrol edit tidak memiliki gaya ES_AUTOHSCROLL dan jumlah karakter yang akan disisipkan akan melebihi lebar kontrol edit. Juga dikirim ketika kontrol edit tidak memiliki gaya ES_AUTOVSCROLL dan jumlah total baris yang dihasilkan dari penyisipan teks akan melebihi tinggi kontrol edit.

  • ON_EN_SETFOCUS Terkirim saat kontrol edit menerima fokus input.

  • ON_EN_UPDATE Kontrol edit akan menampilkan teks yang diubah. Dikirim setelah kontrol memformat teks tetapi sebelum menyaring teks sehingga ukuran jendela dapat diubah, jika perlu.

  • ON_EN_VSCROLL Pengguna mengklik bilah gulir vertikal kontrol edit. Jendela induk diberi tahu sebelum layar diperbarui.

Jika Anda membuat CEdit objek dalam kotak dialog, CEdit objek akan dihancurkan secara otomatis saat pengguna menutup kotak dialog.

Jika Anda membuat CEdit objek dari sumber daya dialog menggunakan editor dialog, CEdit objek secara otomatis dihancurkan saat pengguna menutup kotak dialog.

Jika Anda membuat CEdit objek di dalam jendela, Anda mungkin juga perlu menghancurkannya. Jika Anda membuat CEdit objek pada tumpukan, objek akan dihancurkan secara otomatis. Jika Anda membuat CEdit objek pada tumpukan dengan menggunakan new fungsi , Anda harus memanggil delete objek untuk menghancurkannya ketika pengguna mengakhiri kontrol edit Windows. Jika Anda mengalokasikan memori apa pun dalam CEdit objek, ambil alih CEdit destruktor untuk membuang alokasi.

Untuk mengubah gaya tertentu dalam kontrol edit (seperti ES_READONLY) Anda harus mengirim pesan tertentu ke kontrol alih-alih menggunakan ModifikasiStyle. Lihat Edit Gaya Kontrol di Windows SDK.

Untuk informasi selengkapnya tentang CEdit, lihat Kontrol.

Hierarki Warisan

CObject

CCmdTarget

CWnd

CEdit

Persyaratan

Header: afxwin.h

CEdit::CanUndo

Panggil fungsi ini untuk menentukan apakah operasi edit terakhir dapat dibatalkan.

BOOL CanUndo() const;

Tampilkan Nilai

Bukan nol jika operasi edit terakhir dapat dibatalkan dengan panggilan ke Undo fungsi anggota; 0 jika tidak dapat dibatalkan.

Keterangan

Untuk informasi selengkapnya, lihat EM_CANUNDO di Windows SDK.

Contoh

Lihat contoh untuk CEdit::Batalkan.

CEdit::CEdit

Membuat CEdit objek.

CEdit();

Keterangan

Gunakan Buat untuk membuat kontrol edit Windows.

Contoh

// Declare a local CEdit object.
CEdit myEdit;

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

CEdit::CharFromPos

Panggil fungsi ini untuk mengambil indeks baris dan karakter berbasis nol dari karakter terdekat dengan titik yang ditentukan dalam kontrol ini CEdit

int CharFromPos(CPoint pt) const;

Parameter

Pt
Koordinat titik di area klien objek ini CEdit .

Tampilkan Nilai

Indeks karakter dalam WORD berurutan rendah, dan indeks baris dalam WORD berurutan tinggi.

Keterangan

Catatan

Fungsi anggota ini tersedia dimulai dengan Windows 95 dan Windows NT 4.0.

Untuk informasi selengkapnya, lihat EM_CHARFROMPOS di Windows SDK.

Contoh

// 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

Panggil fungsi ini untuk menghapus (menghapus) pilihan saat ini (jika ada) dalam kontrol edit.

void Clear();

Keterangan

Penghapusan yang dilakukan oleh Clear dapat dibatalkan dengan memanggil fungsi Batalkan anggota.

Untuk menghapus pilihan saat ini dan menempatkan konten yang dihapus ke Clipboard, panggil fungsi Potong anggota.

Untuk informasi selengkapnya, lihat WM_CLEAR di Windows SDK.

Contoh

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

CEdit::Copy

Panggil fungsi ini untuk memanjakan pilihan saat ini (jika ada) dalam kontrol edit ke Clipboard dalam format CF_TEXT.

void Copy();

Keterangan

Untuk informasi selengkapnya, lihat WM_COPY di Windows SDK.

Contoh

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

CEdit::Create

Membuat kontrol edit Windows dan melampirkannya ke CEdit objek.

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

Parameter

dwStyle
Menentukan gaya kontrol edit. Terapkan kombinasi gaya edit apa pun ke kontrol.

rect
Menentukan ukuran dan posisi kontrol edit. Bisa menjadi CRect objek atau RECT struktur.

pParentWnd
Menentukan jendela induk kontrol edit (biasanya ).CDialog Ini tidak boleh NULL.

Nid
Menentukan ID kontrol edit.

Tampilkan Nilai

Bukan nol jika inisialisasi berhasil; jika tidak, 0.

Keterangan

Anda membuat CEdit objek dalam dua langkah. Pertama, panggil CEdit konstruktor lalu panggil Create, yang membuat kontrol edit Windows dan melampirkannya ke CEdit objek.

Saat Create dijalankan, Windows mengirim pesan WM_NCCREATE, WM_NCCALCSIZE, WM_CREATE, dan WM_GETMINMAXINFO ke kontrol edit.

Pesan-pesan ini ditangani secara default oleh fungsi anggota OnNcCreate, OnNcCalcSize, OnCreate, dan OnGetMinMaxInfo di CWnd kelas dasar. Untuk memperluas penanganan pesan default, dapatkan kelas dari CEdit, tambahkan peta pesan ke kelas baru, dan ambil alih fungsi anggota penanganan pesan di atas. Ambil alih OnCreate, misalnya, untuk melakukan inisialisasi yang diperlukan untuk kelas baru.

Terapkan gaya jendela berikut ke kontrol edit.

  • WS_CHILD Always

  • WS_VISIBLE Biasanya

  • WS_DISABLED Jarang

  • kontrol WS_GROUP Ke grup

  • WS_TABSTOP Untuk menyertakan kontrol edit dalam urutan tab

Contoh

// 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

Panggil fungsi ini untuk menghapus (memotong) pilihan saat ini (jika ada) dalam kontrol edit dan salin teks yang dihapus ke Clipboard dalam format CF_TEXT.

void Cut();

Keterangan

Penghapusan yang dilakukan oleh Cut dapat dibatalkan dengan memanggil fungsi Batalkan anggota.

Untuk menghapus pilihan saat ini tanpa menempatkan teks yang dihapus ke Clipboard, panggil fungsi Hapus anggota.

Untuk informasi selengkapnya, lihat WM_CUT di Windows SDK.

Contoh

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

CEdit::EmptyUndoBuffer

Panggil fungsi ini untuk mengatur ulang (menghapus) bendera batalkan kontrol edit.

void EmptyUndoBuffer();

Keterangan

Kontrol edit sekarang tidak akan dapat membatalkan operasi terakhir. Bendera batalkan diatur setiap kali operasi dalam kontrol edit dapat dibatalkan.

Bendera batalkan secara otomatis dihapus setiap kali fungsi anggota SetWindowText atau SetHandleCWnd dipanggil.

Untuk informasi selengkapnya, lihat EM_EMPTYUNDOBUFFER di Windows SDK.

Contoh

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

CEdit::FmtLines

Panggil fungsi ini untuk mengatur penyertaan karakter pemisah baris lunak aktif atau nonaktif dalam kontrol edit beberapa baris.

BOOL FmtLines(BOOL bAddEOL);

Parameter

bAddEOL
Menentukan apakah karakter pemisah baris lunak akan disisipkan. Nilai TRUE menyisipkan karakter; nilai FALSE menghapusnya.

Tampilkan Nilai

Bukan nol jika terjadi pemformatan; jika tidak, 0.

Keterangan

Hentian garis lunak terdiri dari dua pengembalian gerbong dan umpan garis dimasukkan di akhir garis yang rusak karena pembungkusan kata. Hentian garis keras terdiri dari satu pengangkutan kembali dan umpan garis. Garis yang diakhir dengan jeda garis keras tidak dipengaruhi oleh FmtLines.

Windows hanya akan merespons jika CEdit objek adalah kontrol edit beberapa baris.

FmtLines hanya memengaruhi buffer yang dikembalikan oleh GetHandle dan teks yang dikembalikan oleh WM_GETTEXT. Ini tidak berdampak pada tampilan teks dalam kontrol edit.

Untuk informasi selengkapnya, lihat EM_FMTLINES di Windows SDK.

Contoh

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

Mengambil teks yang ditampilkan sebagai isjin teks, atau tip, dalam kontrol edit saat kontrol kosong.

BOOL GetCueBanner(
    LPWSTR lpszText,
    int cchText) const;

CString GetCueBanner() const;

Parameter

lpszText
[out] Penunjuk ke string yang berisi teks isian.

cchText
[di] Jumlah karakter yang dapat diterima. Angka ini mencakup karakter NULL yang mengakhiri.

Tampilkan Nilai

Untuk kelebihan beban pertama, TRUE jika metode berhasil; jika tidak FALSE.

Untuk kelebihan beban kedua, CString yang berisi teks isyarat jika metode berhasil; jika tidak, string kosong ("").

Keterangan

Metode ini mengirim pesan EM_GETCUEBANNER , yang dijelaskan dalam Windows SDK. Untuk informasi selengkapnya, lihat makro Edit_GetCueBannerText .

CEdit::GetFirstVisibleLine

Panggil fungsi ini untuk menentukan baris paling atas yang terlihat dalam kontrol edit.

int GetFirstVisibleLine() const;

Tampilkan Nilai

Indeks berbasis nol dari baris paling atas yang terlihat. Untuk kontrol edit baris tunggal, nilai yang dikembalikan adalah 0.

Keterangan

Untuk informasi selengkapnya, lihat EM_GETFIRSTVISIBLELINE di Windows SDK.

Contoh

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

Panggil fungsi ini untuk mengambil handel ke memori yang saat ini dialokasikan untuk kontrol edit beberapa baris.

HLOCAL GetHandle() const;

Tampilkan Nilai

Handel memori lokal yang mengidentifikasi buffer yang memegang konten kontrol edit. Jika terjadi kesalahan, seperti mengirim pesan ke kontrol edit baris tunggal, nilai yang dikembalikan adalah 0.

Keterangan

Handel adalah handel memori lokal dan dapat digunakan oleh salah satu fungsi memori Windows Lokal yang mengambil handel memori lokal sebagai parameter.

GetHandle hanya diproses oleh kontrol edit beberapa baris.

Panggil GetHandle kontrol edit beberapa baris dalam kotak dialog hanya jika kotak dialog dibuat dengan kumpulan bendera gaya DS_LOCALEDIT. Jika gaya DS_LOCALEDIT tidak diatur, Anda masih akan mendapatkan nilai pengembalian bukan nol, tetapi Anda tidak akan dapat menggunakan nilai yang dikembalikan.

Catatan

GetHandle tidak akan berfungsi dengan Windows 95/98. Jika Anda memanggil GetHandle Di Windows 95/98, itu akan mengembalikan NULL. GetHandle akan berfungsi seperti yang didokumenkan di bawah Windows NT, versi 3.51 dan yang lebih baru.

Untuk informasi selengkapnya, lihat EM_GETHANDLE di Windows SDK.

Contoh

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

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

::LocalUnlock(h);

CEdit::GetHighlight

Mendapatkan indeks karakter pertama dan terakhir dalam rentang teks yang disorot dalam kontrol edit saat ini.

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

Parameter

pichStart
[out] Indeks berbasis nol dari karakter pertama dalam rentang teks yang disorot.

pichEnd
[out] Indeks berbasis nol dari karakter terakhir dalam rentang teks yang disorot.

Tampilkan Nilai

TRUE jika metode ini berhasil; jika tidak, FALSE.

Keterangan

Metode ini mengirim pesan EM_GETHILITE , yang dijelaskan di Windows SDK. Baik SetHighlight dan GetHighlight saat ini diaktifkan hanya untuk build UNICODE.

CEdit::GetLimitText

Panggil fungsi anggota ini untuk mendapatkan batas teks untuk objek ini CEdit .

UINT GetLimitText() const;

Tampilkan Nilai

Batas teks saat ini, di TCHAR, untuk objek ini CEdit .

Keterangan

Batas teks adalah jumlah teks maksimum, dalam TCHAR, yang dapat diterima kontrol edit.

Catatan

Fungsi anggota ini tersedia dimulai dengan Windows 95 dan Windows NT 4.0.

Untuk informasi selengkapnya, lihat EM_GETLIMITTEXT di Windows SDK.

Contoh

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

Panggil fungsi ini untuk mengambil baris teks dari kontrol edit dan menempatkannya di lpszBuffer.

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer) const;

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

Parameter

nIndex
Menentukan nomor baris yang akan diambil dari kontrol edit beberapa baris. Nomor baris berbasis nol; nilai 0 menentukan baris pertama. Parameter ini diabaikan oleh kontrol edit baris tunggal.

lpszBuffer
Arahkan ke buffer yang menerima salinan baris. Kata pertama buffer harus menentukan jumlah maksimum TCHAR yang dapat disalin ke buffer.

nMaxLength
Menentukan jumlah maksimum karakter TCHAR yang dapat disalin ke buffer. GetLine menempatkan nilai ini dalam kata pertama lpszBuffer sebelum melakukan panggilan ke Windows.

Tampilkan Nilai

Jumlah karakter yang benar-benar disalin. Nilai pengembalian adalah 0 jika nomor baris yang ditentukan oleh nIndex lebih besar dari jumlah baris dalam kontrol edit.

Keterangan

Baris yang disalin tidak berisi karakter penghentian null.

Untuk informasi selengkapnya, lihat EM_GETLINE di Windows SDK.

Contoh

Lihat contoh untuk CEdit::GetLineCount.

CEdit::GetLineCount

Panggil fungsi ini untuk mengambil jumlah baris dalam kontrol edit beberapa baris.

int GetLineCount() const;

Tampilkan Nilai

Bilangan bulat yang berisi jumlah baris dalam kontrol edit beberapa baris. Jika tidak ada teks yang dimasukkan ke dalam kontrol edit, nilai yang dikembalikan adalah 1.

Keterangan

GetLineCount hanya diproses oleh kontrol edit beberapa baris.

Untuk informasi selengkapnya, lihat EM_GETLINECOUNT di Windows SDK.

Contoh

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

Panggil fungsi anggota ini untuk mengambil margin kiri dan kanan kontrol edit ini.

DWORD GetMargins() const;

Tampilkan Nilai

Lebar margin kiri dalam WORD berurutan rendah dan lebar margin kanan dalam WORD berurutan tinggi.

Keterangan

Margin diukur dalam piksel.

Catatan

Fungsi anggota ini tersedia dimulai dengan Windows 95 dan Windows NT 4.0.

Untuk informasi selengkapnya, lihat EM_GETMARGINS di Windows SDK.

Contoh

Lihat contoh untuk CEditView::GetEditCtrl.

CEdit::GetModify

Panggil fungsi ini untuk menentukan apakah konten kontrol edit telah dimodifikasi.

BOOL GetModify() const;

Tampilkan Nilai

Bukan nol jika konten kontrol edit telah dimodifikasi; 0 jika mereka tetap tidak berubah.

Keterangan

Windows mempertahankan bendera internal yang menunjukkan apakah isi kontrol edit telah diubah. Bendera ini dibersihkan ketika kontrol edit pertama kali dibuat dan juga dapat dibersihkan dengan memanggil fungsi anggota SetModify .

Untuk informasi selengkapnya, lihat EM_GETMODIFY di Windows SDK.

Contoh

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

CEdit::GetPasswordChar

Panggil fungsi ini untuk mengambil karakter kata sandi yang ditampilkan dalam kontrol edit saat pengguna memasukkan teks.

TCHAR GetPasswordChar() const;

Tampilkan Nilai

Menentukan karakter yang akan ditampilkan alih-alih karakter yang dititik pengguna. Nilai yang dikembalikan adalah NULL jika tidak ada karakter kata sandi.

Keterangan

Jika Anda membuat kontrol edit dengan gaya ES_PASSWORD, DLL yang mendukung kontrol menentukan karakter kata sandi default. Manifes atau metode InitCommonControlsEx menentukan DLL mana yang mendukung kontrol edit. Jika user32.dll mendukung kontrol edit, karakter kata sandi default adalah ASTERISK ('*', U+002A). Jika comctl32.dll versi 6 mendukung kontrol edit, karakter defaultnya adalah BLACK CIRCLE ('●', U+25CF). Untuk informasi selengkapnya tentang DLL dan versi mana yang mendukung kontrol umum, lihat Versi Shell dan Kontrol Umum.

Metode ini mengirim pesan EM_GETPASSWORDCHAR , yang dijelaskan dalam Windows SDK.

Contoh

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

CEdit::GetRect

Panggil fungsi ini untuk mendapatkan persegi panjang pemformatan kontrol edit.

void GetRect(LPRECT lpRect) const;

Parameter

lpRect
Menunjuk ke RECT struktur yang menerima persegi panjang pemformatan.

Keterangan

Persegi panjang pemformatan adalah persegi panjang pembatas teks, yang tidak bergantung pada ukuran jendela edit-kontrol.

Persegi panjang pemformatan kontrol edit beberapa baris dapat dimodifikasi oleh fungsi anggota SetRect dan SetRectNP .

Untuk informasi selengkapnya, lihat EM_GETRECT di Windows SDK.

Contoh

Lihat contoh untuk CEdit::LimitText.

CEdit::GetSel

Panggil fungsi ini untuk mendapatkan posisi karakter awal dan akhir dari pilihan saat ini (jika ada) dalam kontrol edit, menggunakan nilai pengembalian atau parameter.

DWORD GetSel() const;

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

Parameter

nStartChar
Referensi ke bilangan bulat yang akan menerima posisi karakter pertama dalam pilihan saat ini.

nEndChar
Referensi ke bilangan bulat yang akan menerima posisi karakter pertama yang tidak dipilih melewati akhir pilihan saat ini.

Tampilkan Nilai

Versi yang mengembalikan DWORD mengembalikan nilai yang berisi posisi awal dalam kata berurutan rendah dan posisi karakter pertama yang tidak dipilih setelah akhir pilihan dalam kata urutan tinggi.

Keterangan

Untuk informasi selengkapnya, lihat EM_GETSEL di Windows SDK.

Contoh

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

CEdit::HideBalloonTip

Menyembunyikan tip balon apa pun yang terkait dengan kontrol edit saat ini.

BOOL HideBalloonTip();

Tampilkan Nilai

TRUE jika metode ini berhasil; jika tidak, FALSE.

Keterangan

Fungsi ini mengirimkan pesan EM_HIDEBALLOONTIP , yang dijelaskan dalam Windows SDK.

CEdit::LimitText

Panggil fungsi ini untuk membatasi panjang teks yang mungkin dimasukkan pengguna ke dalam kontrol edit.

void LimitText(int nChars = 0);

Parameter

nChars
Menentukan panjang (dalam TCHAR) teks yang dapat dimasukkan pengguna. Jika parameter ini adalah 0, panjang teks diatur ke UINT_MAX byte. Ini adalah perilaku default.

Keterangan

Mengubah batas teks hanya membatasi teks yang dapat dimasukkan pengguna. Ini tidak berpengaruh pada teks apa pun yang sudah ada di kontrol edit, juga tidak memengaruhi panjang teks yang disalin ke kontrol edit oleh fungsi anggota SetWindowText di CWnd. Jika aplikasi menggunakan SetWindowText fungsi untuk menempatkan lebih banyak teks ke kontrol edit daripada yang ditentukan dalam panggilan ke LimitText, pengguna dapat menghapus salah satu teks dalam kontrol edit. Namun, batas teks akan mencegah pengguna mengganti teks yang ada dengan teks baru, kecuali jika menghapus pilihan saat ini menyebabkan teks berada di bawah batas teks.

Catatan

Di Win32 (Windows NT dan Windows 95/98), SetLimitText menggantikan fungsi ini.

Untuk informasi selengkapnya, lihat EM_LIMITTEXT di Windows SDK.

Contoh

// 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

Panggil fungsi ini untuk mengambil nomor baris baris yang berisi indeks karakter yang ditentukan.

int LineFromChar(int nIndex = -1) const;

Parameter

nIndex
Berisi nilai indeks berbasis nol untuk karakter yang diinginkan dalam teks kontrol edit, atau berisi -1. Jika nIndex adalah -1, nIndex menentukan baris saat ini, yaitu baris yang berisi tanda sisipan.

Tampilkan Nilai

Nomor baris berbasis nol dari baris yang berisi indeks karakter yang ditentukan oleh nIndex. Jika nIndex adalah -1, jumlah baris yang berisi karakter pertama pilihan dikembalikan. Jika tidak ada pilihan, nomor baris saat ini dikembalikan.

Keterangan

Indeks karakter adalah jumlah karakter dari awal kontrol edit.

Fungsi anggota ini hanya digunakan oleh kontrol edit beberapa baris.

Untuk informasi selengkapnya, lihat EM_LINEFROMCHAR di Windows SDK.

Contoh

// 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

Panggil fungsi ini untuk mengambil indeks karakter baris dalam kontrol edit beberapa baris.

int LineIndex(int nLine = -1) const;

Parameter

nLine
Berisi nilai indeks untuk baris yang diinginkan dalam teks kontrol edit, atau berisi -1. Jika nLine adalah -1, nLine menentukan baris saat ini, yaitu baris yang berisi tanda sisipan.

Tampilkan Nilai

Indeks karakter baris yang ditentukan dalam nLine atau -1 jika nomor baris yang ditentukan lebih besar dari jumlah baris dalam kontrol edit.

Keterangan

Indeks karakter adalah jumlah karakter dari awal kontrol edit ke baris yang ditentukan.

Fungsi anggota ini hanya diproses oleh kontrol edit beberapa baris.

Untuk informasi selengkapnya, lihat EM_LINEINDEX di Windows SDK.

Contoh

// 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

Mengambil panjang garis dalam kontrol edit.

int LineLength(int nLine = -1) const;

Parameter

nLine
Indeks berbasis nol karakter dalam baris yang panjangnya akan diambil. Nilai defaultnya adalah -1.

Tampilkan Nilai

Untuk kontrol edit baris tunggal, nilai yang dikembalikan adalah panjangnya, di TCHAR, teks dalam kontrol edit.

Untuk kontrol edit multibaris, nilai yang dikembalikan adalah panjangnya, dalam TCHAR, dari baris yang ditentukan oleh parameter nLine . Untuk teks ANSI, panjangnya adalah jumlah byte dalam baris; untuk teks Unicode, panjangnya adalah jumlah karakter dalam baris. Panjangnya tidak termasuk karakter carriage-return di akhir baris.

Jika parameter nLine lebih dari jumlah karakter dalam kontrol, nilai yang dikembalikan adalah nol.

Jika parameter nLine adalah -1, nilai yang dikembalikan adalah jumlah karakter yang tidak dipilih dalam baris yang berisi karakter yang dipilih. Misalnya, jika pilihan diperluas dari karakter keempat dari satu baris hingga karakter kedelapan dari akhir baris berikutnya, nilai yang dikembalikan adalah 10. Artinya, tiga karakter di baris pertama dan tujuh di baris berikutnya.

Untuk informasi selengkapnya tentang jenis TCHAR, lihat baris TCHAR dalam tabel di Jenis Data Windows.

Keterangan

Metode ini didukung oleh pesan EM_LINELENGTH , yang dijelaskan dalam Windows SDK.

Contoh

Lihat contoh untuk CEdit::LineIndex.

CEdit::LineScroll

Panggil fungsi ini untuk menggulir teks kontrol edit beberapa baris.

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

Parameter

nLines
Menentukan jumlah baris yang akan digulir secara vertikal.

nChars
Menentukan jumlah posisi karakter untuk digulir secara horizontal. Nilai ini diabaikan jika kontrol edit memiliki gaya ES_RIGHT atau ES_CENTER.

Keterangan

Fungsi anggota ini hanya diproses oleh kontrol edit beberapa baris.

Kontrol edit tidak menggulir secara vertikal melewati baris terakhir teks dalam kontrol edit. Jika baris saat ini ditambah jumlah baris yang ditentukan oleh nLines melebihi jumlah total baris dalam kontrol edit, nilai disesuaikan sehingga baris terakhir kontrol edit digulir ke bagian atas jendela edit-kontrol.

LineScroll dapat digunakan untuk menggulir secara horizontal melewati karakter terakhir dari baris apa pun.

Untuk informasi selengkapnya, lihat EM_LINESCROLL di Windows SDK.

Contoh

Lihat contoh untuk CEdit::GetFirstVisibleLine.

CEdit::P aste

Panggil fungsi ini untuk menyisipkan data dari Clipboard ke CEdit dalam pada titik penyisipan.

void Paste();

Keterangan

Data disisipkan hanya jika Clipboard berisi data dalam format CF_TEXT.

Untuk informasi selengkapnya, lihat WM_PASTE di Windows SDK.

Contoh

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

CEdit::P osFromChar

Panggil fungsi ini untuk mendapatkan posisi (sudut kiri atas) dari karakter tertentu dalam objek ini CEdit .

CPoint PosFromChar(UINT nChar) const;

Parameter

nChar
Indeks berbasis nol dari karakter yang ditentukan.

Tampilkan Nilai

Koordinat sudut kiri atas karakter yang ditentukan oleh nChar.

Keterangan

Karakter ditentukan dengan memberikan nilai indeks berbasis nol. Jika nChar lebih besar dari indeks karakter terakhir dalam objek ini CEdit , nilai pengembalian menentukan koordinat posisi karakter hanya melewati karakter terakhir dalam objek ini CEdit .

Catatan

Fungsi anggota ini tersedia dimulai dengan Windows 95 dan Windows NT 4.0.

Untuk informasi selengkapnya, lihat EM_POSFROMCHAR di Windows SDK.

Contoh

Lihat contoh untuk CEdit::LineFromChar.

CEdit::ReplaceSel

Panggil fungsi ini untuk mengganti pilihan saat ini dalam kontrol edit dengan teks yang ditentukan oleh lpszNewText.

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

Parameter

lpszNewText
Menunjuk ke string null-terminated yang berisi teks pengganti.

bCanUndo
Untuk menentukan bahwa fungsi ini dapat dibatalkan, atur nilai parameter ini ke TRUE . Nilai defaultnya adalah FALSE.

Keterangan

Hanya mengganti sebagian teks dalam kontrol edit. Jika Anda ingin mengganti semua teks, gunakan fungsi anggota CWnd::SetWindowText .

Jika tidak ada pilihan saat ini, teks pengganti disisipkan di lokasi kursor saat ini.

Untuk informasi selengkapnya, lihat EM_REPLACESEL di Windows SDK.

Contoh

Lihat contoh untuk CEdit::LineIndex.

CEdit::SetCueBanner

Mengatur teks yang ditampilkan sebagai isjin teks, atau tip, dalam kontrol edit saat kontrol kosong.

BOOL SetCueBanner(LPCWSTR lpszText);

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

Parameter

lpszText
[di] Penunjuk ke string yang berisi iseng untuk ditampilkan dalam kontrol edit.

fDrawWhenFocused
[di] Jika FALSE, banner isis tidak digambar saat pengguna mengklik kontrol edit dan memberi kontrol fokus.

Jika TRUE, banner isis digambar bahkan ketika kontrol memiliki fokus. Banner isensi menghilang ketika pengguna mulai mengetikkan kontrol.

Nilai defaultnya adalah FALSE.

Tampilkan Nilai

TRUE jika metode berhasil; jika tidak FALSE.

Keterangan

Metode ini mengirim pesan EM_SETCUEBANNER , yang dijelaskan dalam Windows SDK. Untuk informasi selengkapnya, lihat makro Edit_SetCueBannerTextFocused .

Contoh

Contoh berikut menunjukkan metode CEdit::SetCueBanner .

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

CEdit::SetHandle

Panggil fungsi ini untuk mengatur handel ke memori lokal yang akan digunakan oleh kontrol edit beberapa baris.

void SetHandle(HLOCAL hBuffer);

Parameter

hBuffer
Berisi handel ke memori lokal. Handel ini harus dibuat oleh panggilan sebelumnya ke fungsi Windows LocalAlloc menggunakan bendera LMEM_MOVEABLE. Memori diasumsikan berisi string null-terminated. Jika tidak demikian, byte pertama dari memori yang dialokasikan harus diatur ke 0.

Keterangan

Kontrol edit kemudian akan menggunakan buffer ini untuk menyimpan teks yang saat ini ditampilkan alih-alih mengalokasikan buffernya sendiri.

Fungsi anggota ini hanya diproses oleh kontrol edit beberapa baris.

Sebelum aplikasi mengatur handel memori baru, aplikasi harus menggunakan fungsi anggota GetHandle untuk mendapatkan handel ke buffer memori saat ini dan membebaskan memori tersebut LocalFree menggunakan fungsi Windows.

SetHandle menghapus buffer urungkan ( fungsi anggota CanUndo kemudian mengembalikan 0) dan bendera modifikasi internal ( fungsi anggota GetModify kemudian mengembalikan 0). Jendela edit-kontrol digambar ulang.

Anda bisa menggunakan fungsi anggota ini dalam kontrol edit beberapa baris dalam kotak dialog hanya jika Anda telah membuat kotak dialog dengan set bendera gaya DS_LOCALEDIT.

Catatan

GetHandle tidak akan berfungsi dengan Windows 95/98. Jika Anda memanggil GetHandle Di Windows 95/98, itu akan mengembalikan NULL. GetHandle akan berfungsi seperti yang didokumenkan di bawah Windows NT, versi 3.51 dan yang lebih baru.

Untuk informasi selengkapnya, lihat EM_SETHANDLE, LocalAlloc, dan LocalFree di Windows SDK.

Contoh

// 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

Menyoroti rentang teks yang ditampilkan dalam kontrol edit saat ini.

void SetHighlight(
    int ichStart,
    int ichEnd);

Parameter

ichStart
[di] Indeks berbasis nol dari karakter pertama dalam rentang teks yang akan disorot.

ichEnd
[di] Indeks berbasis nol dari karakter terakhir dalam rentang teks yang akan disorot.

Keterangan

Metode ini mengirim pesan EM_SETHILITE , yang dijelaskan dalam Windows SDK. Metode ini mengirim pesan EM_SETHILITE , yang dijelaskan dalam Windows SDK. Keduanya SetHighlight dan GetHighlight diaktifkan hanya untuk build UNICODE.

CEdit::SetLimitText

Panggil fungsi anggota ini untuk mengatur batas teks untuk objek ini CEdit .

void SetLimitText(UINT nMax);

Parameter

nMax
Batas teks baru, dalam karakter.

Keterangan

Batas teks adalah jumlah maksimum teks, dalam karakter, yang dapat diterima kontrol edit.

Mengubah batas teks hanya membatasi teks yang dapat dimasukkan pengguna. Ini tidak berpengaruh pada teks apa pun yang sudah ada di kontrol edit, juga tidak memengaruhi panjang teks yang disalin ke kontrol edit oleh fungsi anggota SetWindowText di CWnd. Jika aplikasi menggunakan SetWindowText fungsi untuk menempatkan lebih banyak teks ke kontrol edit daripada yang ditentukan dalam panggilan ke LimitText, pengguna dapat menghapus salah satu teks dalam kontrol edit. Namun, batas teks akan mencegah pengguna mengganti teks yang ada dengan teks baru, kecuali jika menghapus pilihan saat ini menyebabkan teks berada di bawah batas teks.

Fungsi ini menggantikan LimitText di Win32.

Untuk informasi selengkapnya, lihat EM_SETLIMITTEXT di Windows SDK.

Contoh

Lihat contoh untuk CEditView::GetEditCtrl.

CEdit::SetMargins

Panggil metode ini untuk mengatur margin kiri dan kanan kontrol edit ini.

void SetMargins(
    UINT nLeft,
    UINT nRight);

Parameter

nLeft
Lebar margin kiri baru, dalam piksel.

nRight
Lebar margin kanan baru, dalam piksel.

Keterangan

Catatan

Fungsi anggota ini tersedia dimulai dengan Windows 95 dan Windows NT 4.0.

Untuk informasi selengkapnya, lihat EM_SETMARGINS di Windows SDK.

Contoh

Lihat contoh untuk CEditView::GetEditCtrl.

CEdit::SetModify

Panggil fungsi ini untuk mengatur atau menghapus bendera yang dimodifikasi untuk kontrol edit.

void SetModify(BOOL bModified = TRUE);

Parameter

bModified
Nilai TRUE menunjukkan bahwa teks telah dimodifikasi, dan nilai FALSE menunjukkan bahwa teks tersebut tidak dimodifikasi. Secara default, bendera yang dimodifikasi diatur.

Keterangan

Bendera yang dimodifikasi menunjukkan apakah teks dalam kontrol edit telah dimodifikasi atau tidak. Ini secara otomatis diatur setiap kali pengguna mengubah teks. Nilainya dapat diambil dengan fungsi anggota GetModify .

Untuk informasi selengkapnya, lihat EM_SETMODIFY di Windows SDK.

Contoh

Lihat contoh untuk CEdit::GetModify.

CEdit::SetPasswordChar

Panggil fungsi ini untuk mengatur atau menghapus karakter kata sandi yang ditampilkan dalam kontrol edit saat pengguna mengetik teks.

void SetPasswordChar(TCHAR ch);

Parameter

Ch
Menentukan karakter yang akan ditampilkan sebagai pengganti karakter yang dititik oleh pengguna. Jika ch adalah 0, karakter aktual yang di ketik oleh pengguna akan ditampilkan.

Keterangan

Saat karakter kata sandi diatur, karakter tersebut ditampilkan untuk setiap karakter jenis pengguna.

Fungsi anggota ini tidak berpengaruh pada kontrol edit beberapa baris.

SetPasswordChar Ketika fungsi anggota dipanggil, CEdit akan menggambar ulang semua karakter yang terlihat menggunakan karakter yang ditentukan oleh ch.

Jika kontrol edit dibuat dengan gaya ES_PASSWORD , karakter kata sandi default diatur ke tanda bintang ( *). Gaya ini dihapus jika SetPasswordChar dipanggil dengan ch diatur ke 0.

Untuk informasi selengkapnya, lihat EM_SETPASSWORDCHAR di Windows SDK.

Contoh

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

CEdit::SetReadOnly

Memanggil fungsi ini untuk mengatur status baca-saja dari kontrol edit.

BOOL SetReadOnly(BOOL bReadOnly = TRUE);

Parameter

bReadOnly
Menentukan apakah akan mengatur atau menghapus status baca-saja dari kontrol edit. Nilai TRUE mengatur status menjadi baca-saja; nilai FALSE menetapkan status untuk dibaca/ditulis.

Tampilkan Nilai

Bukan nol jika operasi berhasil, atau 0 jika terjadi kesalahan.

Keterangan

Pengaturan saat ini dapat ditemukan dengan menguji bendera ES_READONLY dalam nilai pengembalian CWnd::GetStyle.

Untuk informasi selengkapnya, lihat EM_SETREADONLY di Windows SDK.

Contoh

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

CEdit::SetRect

Panggil fungsi ini untuk mengatur dimensi persegi panjang menggunakan koordinat yang ditentukan.

void SetRect(LPCRECT lpRect);

Parameter

lpRect
Menunjuk ke RECT struktur atau CRect objek yang menentukan dimensi baru dari persegi panjang pemformatan.

Keterangan

Anggota ini hanya diproses oleh kontrol edit beberapa baris.

Gunakan SetRect untuk mengatur persegi panjang pemformatan kontrol edit beberapa baris. Persegi panjang pemformatan adalah persegi panjang pembatas teks, yang tidak bergantung pada ukuran jendela edit-kontrol. Saat kontrol edit pertama kali dibuat, persegi panjang pemformatan sama dengan area klien dari jendela edit-kontrol. Dengan menggunakan SetRect fungsi anggota, aplikasi dapat membuat pemformatan persegi panjang lebih besar atau lebih kecil dari jendela edit-kontrol.

Jika kontrol edit tidak memiliki bilah gulir, teks akan dipotong, tidak dibungkus, jika persegi panjang pemformatan dibuat lebih besar dari jendela. Jika kontrol edit berisi batas, persegi panjang pemformatan dikurangi dengan ukuran batas. Jika Anda menyesuaikan persegi yang dikembalikan oleh GetRect fungsi anggota, Anda harus menghapus ukuran batas sebelum meneruskan persegi panjang ke SetRect.

Ketika SetRect dipanggil, teks kontrol edit juga diformat ulang dan diputar ulang.

Untuk informasi selengkapnya, lihat EM_SETRECT di Windows SDK.

Contoh

// 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

Panggil fungsi ini untuk mengatur persegi panjang pemformatan kontrol edit beberapa baris.

void SetRectNP(LPCRECT lpRect);

Parameter

lpRect
Menunjuk ke RECT struktur atau CRect objek yang menentukan dimensi baru persegi panjang.

Keterangan

Persegi panjang pemformatan adalah persegi panjang pembatas teks, yang tidak bergantung pada ukuran jendela edit-kontrol.

SetRectNP identik dengan SetRect fungsi anggota kecuali bahwa jendela edit-kontrol tidak digambar ulang.

Saat kontrol edit pertama kali dibuat, persegi panjang pemformatan sama dengan area klien dari jendela edit-kontrol. Dengan memanggil SetRectNP fungsi anggota, aplikasi dapat membuat pemformatan persegi panjang lebih besar atau lebih kecil dari jendela edit-kontrol.

Jika kontrol edit tidak memiliki bilah gulir, teks akan dipotong, tidak dibungkus, jika persegi panjang pemformatan dibuat lebih besar dari jendela.

Anggota ini hanya diproses oleh kontrol edit beberapa baris.

Untuk informasi selengkapnya, lihat EM_SETRECTNP di Windows SDK.

Contoh

Lihat contoh untuk CEdit::SetRect.

CEdit::SetSel

Panggil fungsi ini untuk memilih rentang karakter dalam kontrol edit.

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

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

Parameter

dwSelection
Menentukan posisi awal dalam kata berurutan rendah dan posisi akhir dalam kata berurutan tinggi. Jika kata berurutan rendah adalah 0 dan kata berurutan tinggi adalah -1, semua teks dalam kontrol edit dipilih. Jika kata berurutan rendah adalah -1, pilihan saat ini akan dihapus.

bNoScroll
Menunjukkan apakah tanda sisipan harus digulir ke tampilan. Jika FALSE, tanda sisipan digulir ke tampilan. Jika TRUE, tanda sisipan tidak digulir ke tampilan.

nStartChar
Menentukan posisi awal. Jika nStartChar adalah 0 dan nEndChar adalah -1, semua teks dalam kontrol edit dipilih. Jika nStartChar adalah -1, pilihan saat ini akan dihapus.

nEndChar
Menentukan posisi akhir.

Keterangan

Untuk informasi selengkapnya, lihat EM_SETSEL di Windows SDK.

Contoh

Lihat contoh untuk CEdit::GetSel.

CEdit::SetTabStops

Panggil fungsi ini untuk mengatur perhentian tab dalam kontrol edit beberapa baris.

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

BOOL SetTabStops(
    int nTabStops,
    LPINT rgTabStops);

Parameter

cxEachStop
Menentukan bahwa perhentian tab akan diatur di setiap unit dialog cxEachStop .

nTabStops
Menentukan jumlah perhentian tab yang terkandung dalam rgTabStops. Angka ini harus lebih besar dari 1.

rgTabStops
Menunjuk ke array bilangan bulat yang tidak ditandatangani yang menentukan perhentian tab dalam unit dialog. Unit dialog adalah jarak horizontal atau vertikal. Satu unit dialog horizontal sama dengan satu perempat dari unit lebar dasar dialog saat ini, dan 1 unit dialog vertikal sama dengan sedelapis unit tinggi dasar dialog saat ini. Unit dasar dialog dihitung berdasarkan tinggi dan lebar font sistem saat ini. Fungsi GetDialogBaseUnits Windows mengembalikan unit dasar dialog saat ini dalam piksel.

Tampilkan Nilai

Bukan nol jika tab diatur; jika tidak, 0.

Keterangan

Saat teks disalin ke kontrol edit beberapa baris, karakter tab apa pun dalam teks akan menyebabkan spasi dihasilkan hingga perhentian tab berikutnya.

Untuk mengatur perhentian tab ke ukuran default 32 unit dialog, panggil versi tanpa parameter fungsi anggota ini. Untuk mengatur perhentian tab ke ukuran selain 32, panggil versi dengan parameter cxEachStop . Untuk mengatur perhentian tab ke array ukuran, gunakan versi dengan dua parameter.

Fungsi anggota ini hanya diproses oleh kontrol edit beberapa baris.

SetTabStops tidak secara otomatis menggambar ulang jendela edit. Jika Anda mengubah perhentian tab untuk teks yang sudah ada di kontrol edit, panggil CWnd::InvalidateRect untuk menggambar ulang jendela edit.

Untuk informasi selengkapnya, lihat EM_SETTABSTOPS dan GetDialogBaseUnits di Windows SDK.

Contoh

Lihat contoh untuk CEditView::SetTabStops.

CEdit::ShowBalloonTip

Menampilkan tip balon yang terkait dengan kontrol edit saat ini.

BOOL ShowBalloonTip(PEDITBALLOONTIP pEditBalloonTip);

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

Parameter

pEditBalloonTip
[di] Penunjuk ke struktur EDITBALLOONTIP yang menjelaskan tip balon.

lpszTitle
[di] Penunjuk ke string Unicode yang berisi judul tip balon.

lpszText
[di] Penunjuk ke string Unicode yang berisi teks tip balon.

ttiIcon
[di] INT yang menentukan jenis ikon untuk dikaitkan dengan tip balon. Nilai defaultnya adalah TTI_NONE. Untuk informasi selengkapnya, lihat ttiIcon anggota struktur EDITBALLOONTIP .

Tampilkan Nilai

TRUE jika metode ini berhasil; jika tidak, FALSE.

Keterangan

Fungsi ini mengirim pesan EM_SHOWBALLOONTIP , yang dijelaskan di Windows SDK. Untuk informasi selengkapnya, lihat makro Edit_ShowBalloonTip .

Contoh

Contoh kode pertama mendefinisikan variabel, m_cedit, yang digunakan untuk mengakses kontrol edit saat ini. Variabel ini digunakan dalam contoh berikutnya.

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

Contoh kode berikutnya menampilkan tip balon untuk kontrol edit. Metode CEdit::ShowBalloonTip menentukan judul dan teks tip balon.

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

CEdit::Batalkan

Panggil fungsi ini untuk membatalkan operasi edit-kontrol terakhir.

BOOL Undo();

Tampilkan Nilai

Untuk kontrol edit baris tunggal, nilai yang dikembalikan selalu bukan nol. Untuk kontrol edit beberapa baris, nilai pengembalian bukan nol jika operasi batalkan berhasil, atau 0 jika operasi batalkan gagal.

Keterangan

Operasi batalkan juga dapat dibatalkan. Misalnya, Anda dapat memulihkan teks yang dihapus dengan panggilan pertama ke Undo. Selama tidak ada operasi edit intervensi, Anda dapat menghapus teks lagi dengan panggilan kedua ke Undo.

Untuk informasi selengkapnya, lihat EM_UNDO di Windows SDK.

Contoh

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

Lihat juga

Sampel MFC CALCDRIV
Sampel CMNCTRL2 MFC
Kelas CWnd
Bagan Hierarki
Kelas CWnd
Kelas CButton
Kelas CComboBox
Kelas CListBox
Kelas CScrollBar
Kelas CStatic
Kelas CDialog