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