Kelas CRichEditView
Dengan CRichEditDoc dan CRichEditCntrItem, menyediakan fungsionalitas kontrol edit yang kaya dalam konteks arsitektur tampilan dokumen MFC.
Sintaks
class CRichEditView : public CCtrlView
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CRichEditView::CRichEditView | Membuat CRichEditView objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CRichEditView::AdjustDialogPosition | Memindahkan kotak dialog sehingga tidak mengaburkan pilihan saat ini. |
CRichEditView::CanPaste | Memberi tahu apakah Clipboard berisi data yang dapat ditempelkan ke tampilan edit kaya. |
CRichEditView::D oPaste | Menempelkan item OLE ke dalam tampilan edit kaya ini. |
CRichEditView::FindText | Menemukan teks yang ditentukan, memanggil kursor tunggu. |
CRichEditView::FindTextSimple | Menemukan teks yang ditentukan. |
CRichEditView::GetCharFormatSelection | Mengambil atribut pemformatan karakter untuk pilihan saat ini. |
CRichEditView::GetDocument | Mengambil pointer ke CRichEditDoc terkait. |
CRichEditView::GetInPlaceActiveItem | Mengambil item OLE yang saat ini aktif di tempat dalam tampilan edit kaya. |
CRichEditView::GetMargins | Mengambil margin untuk tampilan edit kaya ini. |
CRichEditView::GetPageRect | Mengambil persegi panjang halaman untuk tampilan edit kaya ini. |
CRichEditView::GetPaperSize | Mengambil ukuran kertas untuk tampilan edit kaya ini. |
CRichEditView::GetParaFormatSelection | Mengambil atribut pemformatan paragraf untuk pilihan saat ini. |
CRichEditView::GetPrintRect | Mengambil persegi panjang cetak untuk tampilan edit kaya ini. |
CRichEditView::GetPrintWidth | Mengambil lebar cetak untuk tampilan edit kaya ini. |
CRichEditView::GetRichEditCtrl | Mengambil kontrol edit yang kaya. |
CRichEditView::GetSelectedItem | Mengambil item terpilih dari tampilan edit kaya. |
CRichEditView::GetTextLength | Mengambil panjang teks dalam tampilan edit kaya. |
CRichEditView::GetTextLengthEx | Mengambil jumlah karakter atau byte dalam tampilan edit kaya. Daftar bendera yang diperluas untuk metode penentuan panjang. |
CRichEditView::InsertFileAsObject | Menyisipkan file sebagai item OLE. |
CRichEditView::InsertItem | Menyisipkan item baru sebagai item OLE. |
CRichEditView::IsRichEditFormat | Memberi tahu apakah Clipboard berisi data dalam format edit atau teks yang kaya. |
CRichEditView::OnCharEffect | Mengalihkan pemformatan karakter untuk pilihan saat ini. |
CRichEditView::OnParaAlign | Mengubah perataan paragraf. |
CRichEditView::OnUpdateCharEffect | Memperbarui UI Perintah untuk fungsi anggota publik karakter. |
CRichEditView::OnUpdateParaAlign | Memperbarui UI Perintah untuk fungsi anggota publik paragraf. |
CRichEditView::P rintInsideRect | Memformat teks yang ditentukan dalam persegi panjang yang diberikan. |
CRichEditView::P rintPage | Memformat teks yang ditentukan dalam halaman yang diberikan. |
CRichEditView::SetCharFormat | Mengatur atribut pemformatan karakter untuk pilihan saat ini. |
CRichEditView::SetMargins | Mengatur margin untuk tampilan edit kaya ini. |
CRichEditView::SetPaperSize | Menyetel ukuran kertas untuk tampilan edit kaya ini. |
CRichEditView::SetParaFormat | Mengatur atribut pemformatan paragraf untuk pilihan saat ini. |
CRichEditView::TextNotFound | Mengatur ulang status pencarian internal kontrol. |
Metode yang Dilindungi
Nama | Deskripsi |
---|---|
CRichEditView::GetClipboardData | Mengambil objek Clipboard untuk rentang dalam tampilan edit kaya ini. |
CRichEditView::GetContextMenu | Mengambil menu konteks untuk digunakan pada tombol kanan mouse ke bawah. |
CRichEditView::IsSelected | Menunjukkan apakah item OLE yang diberikan dipilih atau tidak. |
CRichEditView::OnFindNext | Menemukan kemunculan substring berikutnya. |
CRichEditView::OnInitialUpdate | Menyegarkan tampilan saat pertama kali dilampirkan ke dokumen. |
CRichEditView::OnPasteNativeObject | Mengambil data asli dari item OLE. |
CRichEditView::OnPrinterChanged | Menyetel karakteristik cetak ke perangkat yang diberikan. |
CRichEditView::OnReplaceAll | Mengganti semua kemunculan string tertentu dengan string baru. |
CRichEditView::OnReplaceSel | Menggantikan pilihan saat ini. |
CRichEditView::OnTextNotFound | Menangani pemberitahuan pengguna bahwa teks yang diminta tidak ditemukan. |
CRichEditView::QueryAcceptData | Kueri untuk melihat tentang data di IDataObject . |
CRichEditView::WrapChanged | Menyesuaikan perangkat output target untuk tampilan edit kaya ini, berdasarkan nilai m_nWordWrap . |
Anggota Data Publik
Nama | Deskripsi |
---|---|
CRichEditView::m_nBulletIndent | Menunjukkan jumlah inden untuk daftar poin. |
CRichEditView::m_nWordWrap | Menunjukkan batasan pembungkusan kata. |
Keterangan
"Kontrol edit kaya" adalah jendela tempat pengguna dapat memasukkan dan mengedit teks. Teks dapat ditetapkan karakter dan pemformatan paragraf, dan dapat menyertakan objek OLE yang disematkan. Kontrol edit kaya menyediakan antarmuka pemrograman untuk memformat teks. Namun, aplikasi harus menerapkan komponen antarmuka pengguna apa pun yang diperlukan untuk membuat operasi pemformatan tersedia untuk pengguna.
CRichEditView
mempertahankan karakteristik teks dan pemformatan teks. CRichEditDoc
mempertahankan daftar item klien OLE yang ada dalam tampilan. CRichEditCntrItem
menyediakan akses sisi kontainer ke item klien OLE.
Kontrol Windows Common ini (dan oleh karena itu CRichEditCtrl dan kelas terkait) hanya tersedia untuk program yang berjalan di bawah Windows 95/98 dan Windows NT versi 3.51 dan yang lebih baru.
Untuk contoh penggunaan tampilan edit kaya dalam aplikasi MFC, lihat aplikasi sampel WORDPAD .
Hierarki Warisan
CRichEditView
Persyaratan
Header: afxrich.h
CRichEditView::AdjustDialogPosition
Panggil fungsi ini untuk memindahkan kotak dialog yang diberikan agar tidak mengaburkan pilihan saat ini.
void AdjustDialogPosition(CDialog* pDlg);
Parameter
pDlg
Penunjuk CDialog
ke objek.
CRichEditView::CanPaste
Panggil fungsi ini untuk menentukan apakah Papan Klip berisi informasi yang dapat ditempelkan ke tampilan edit kaya ini.
BOOL CanPaste() const;
Tampilkan Nilai
Bukan nol jika Clipboard berisi data dalam format yang dapat diterima tampilan edit kaya ini; jika tidak, 0.
CRichEditView::CRichEditView
Panggil fungsi ini untuk membuat CRichEditView
objek.
CRichEditView();
CRichEditView::D oPaste
Panggil fungsi ini untuk menempelkan item OLE dalam dataobj ke dalam dokumen/tampilan edit kaya ini.
void DoPaste(
COleDataObject& dataobj,
CLIPFORMAT cf,
HMETAFILEPICT hMetaPict);
Parameter
dataobj
COleDataObject yang berisi data untuk ditempelkan.
Lihat
Format Clipboard yang diinginkan.
hMetaPict
Metafile yang mewakili item yang akan ditempelkan.
Keterangan
Kerangka kerja memanggil fungsi ini sebagai bagian dari implementasi default QueryAcceptData.
Fungsi ini menentukan jenis tempel berdasarkan hasil handler untuk Tempel Spesial. Jika cf adalah 0, item baru menggunakan representasi ikonik saat ini. Jika cf bukan nol dan hMetaPict bukan NULL, item baru menggunakan hMetaPict untuk representasinya.
CRichEditView::FindText
Panggil fungsi ini untuk menemukan teks yang ditentukan dan atur ke pilihan saat ini.
BOOL FindText(
LPCTSTR lpszFind,
BOOL bCase = TRUE,
BOOL bWord = TRUE,
BOOL bNext = TRUE);
Parameter
lpszFind
Berisi string yang akan dicari.
bCase
Menunjukkan apakah pencarian peka huruf besar/kecil.
bWord
Menunjukkan apakah pencarian harus cocok dengan seluruh kata saja, bukan bagian kata.
bNext
Menunjukkan arah pencarian. Jika TRUE, arah pencarian menuju akhir buffer. Jika FALSE, arah pencarian adalah menuju awal buffer.
Tampilkan Nilai
Nonzero jika teks lpszFind ditemukan; jika tidak, 0.
Keterangan
Fungsi ini menampilkan kursor tunggu selama operasi temukan.
Contoh
void CMyRichEditView::OnReplaceAll(LPCTSTR lpszFind, LPCTSTR lpszReplace,
BOOL bCase, BOOL bWord)
{
CWaitCursor wait;
// no selection or different than what we are looking for
if (!FindText(lpszFind, bCase, bWord))
{
OnTextNotFound(lpszFind);
return;
}
GetRichEditCtrl().HideSelection(TRUE, FALSE);
m_nNumReplaced = 0;
do
{
GetRichEditCtrl().ReplaceSel(lpszReplace);
m_nNumReplaced++; // Record the number of replacements
} while (FindTextSimple(lpszFind));
GetRichEditCtrl().HideSelection(FALSE, FALSE);
}
CRichEditView::FindTextSimple
Panggil fungsi ini untuk menemukan teks yang ditentukan dan atur ke pilihan saat ini.
BOOL FindTextSimple(
LPCTSTR lpszFind,
BOOL bCase = TRUE,
BOOL bWord = TRUE,
BOOL bNext = TRUE);
Parameter
lpszFind
Berisi string yang akan dicari.
bCase
Menunjukkan apakah pencarian peka huruf besar/kecil.
bWord
Menunjukkan apakah pencarian harus cocok dengan seluruh kata saja, bukan bagian kata.
bNext
Menunjukkan arah pencarian. Jika TRUE, arah pencarian menuju akhir buffer. Jika FALSE, arah pencarian adalah menuju awal buffer.
Tampilkan Nilai
Nonzero jika teks lpszFind ditemukan; jika tidak, 0.
Contoh
Lihat contoh untuk CRichEditView::FindText.
CRichEditView::GetCharFormatSelection
Panggil fungsi ini untuk mendapatkan atribut pemformatan karakter dari pilihan saat ini.
CHARFORMAT2& GetCharFormatSelection();
Tampilkan Nilai
Struktur CHARFORMAT2 yang berisi atribut pemformatan karakter dari pilihan saat ini.
Keterangan
Untuk informasi selengkapnya, lihat pesan EM_GETCHARFORMAT dan struktur CHARFORMAT2 di Windows SDK.
Contoh
void CMyRichEditView::OnCharUnderline()
{
CHARFORMAT2 cf;
cf = GetCharFormatSelection();
if (!(cf.dwMask & CFM_UNDERLINE) || !(cf.dwEffects & CFE_UNDERLINE))
cf.dwEffects = CFE_UNDERLINE;
else
cf.dwEffects = 0;
cf.dwMask = CFM_UNDERLINE;
SetCharFormat(cf);
}
CRichEditView::GetClipboardData
Kerangka kerja memanggil fungsi ini sebagai bagian dari pemrosesan IRichEditOleCallback::GetClipboardData.
virtual HRESULT GetClipboardData(
CHARRANGE* lpchrg,
DWORD dwReco,
LPDATAOBJECT lpRichDataObj,
LPDATAOBJECT* lplpdataobj);
Parameter
lpchrg
Penunjuk ke struktur CHARRANGE yang menentukan rentang karakter (dan item OLE) untuk disalin ke objek data yang ditentukan oleh lplpdataobj.
dwReco
Bendera operasi Clipboard. Bisa menjadi salah satu nilai ini.
RECO_COPY Salin ke Clipboard.
RECO_CUT Potong ke Clipboard.
RECO_DRAG Seret operasi (seret dan letakkan).
RECO_DROP Lepaskan operasi (seret dan letakkan).
RECO_PASTE Tempel dari Clipboard.
lpRichDataObj
Penunjuk ke objek IDataObject yang berisi data Clipboard dari kontrol edit yang kaya ( IRichEditOle::GetClipboardData).
lplpdataobj
Penunjuk ke variabel pointer yang menerima alamat IDataObject
objek yang mewakili rentang yang ditentukan dalam parameter lpchrg . Nilai lplpdataobj diabaikan jika kesalahan dikembalikan.
Tampilkan Nilai
Nilai HRESULT yang melaporkan keberhasilan operasi. Untuk informasi selengkapnya tentang HRESULT, lihat Struktur Kode Kesalahan COM di Windows SDK.
Keterangan
Jika nilai pengembalian menunjukkan keberhasilan, IRichEditOleCallback::GetClipboardData
mengembalikan IDataObject
yang diakses oleh lplpdataobj; jika tidak, nilai tersebut mengembalikan yang diakses oleh lpRichDataObj. Ambil alih fungsi ini untuk menyediakan data Clipboard Anda sendiri. Implementasi default fungsi ini mengembalikan E_NOTIMPL.
Ini adalah pengalih tingkat lanjut.
Untuk informasi selengkapnya, lihat IRichEditOle::GetClipboardData, IRichEditOleCallback::GetClipboardData, dan CHARRANGE di Windows SDK dan lihat IDataObject di Windows SDK.
CRichEditView::GetContextMenu
Kerangka kerja memanggil fungsi ini sebagai bagian dari pemrosesan IRichEditOleCallback::GetContextMenu.
virtual HMENU GetContextMenu(
WORD seltyp,
LPOLEOBJECT lpoleobj,
CHARRANGE* lpchrg);
Parameter
seltyp
Jenis pilihan. Nilai jenis pilihan dijelaskan di bagian Keterangan.
lpoleobj
Penunjuk ke struktur yang OLEOBJECT
menentukan objek OLE pertama yang dipilih jika pilihan berisi satu atau beberapa item OLE. Jika pilihan tidak berisi item, lpoleobj adalah NULL. Struktur OLEOBJECT
menyimpan penunjuk ke objek OLE v-table.
lpchrg
Penunjuk ke struktur CHARRANGE yang berisi pilihan saat ini.
Tampilkan Nilai
Tangani ke menu konteks.
Keterangan
Fungsi ini adalah bagian khas dari pemrosesan tombol mouse kanan ke bawah.
Jenis pilihan dapat berupa kombinasi bendera berikut:
SEL_EMPTY Menunjukkan bahwa tidak ada pilihan saat ini.
SEL_TEXT Menunjukkan bahwa pilihan saat ini berisi teks.
SEL_OBJECT Menunjukkan bahwa pilihan saat ini berisi setidaknya satu item OLE.
SEL_MULTICHAR Menunjukkan bahwa pilihan saat ini berisi lebih dari satu karakter teks.
SEL_MULTIOBJECT Menunjukkan bahwa pilihan saat ini berisi lebih dari satu objek OLE.
Implementasi default mengembalikan NULL. Ini adalah pengalih tingkat lanjut.
Untuk informasi selengkapnya, lihat IRichEditOleCallback::GetContextMenu dan CHARRANGE di Windows SDK.
CRichEditView::GetDocument
Panggil fungsi ini untuk mendapatkan penunjuk ke yang CRichEditDoc
terkait dengan tampilan ini.
CRichEditDoc* GetDocument() const;
Tampilkan Nilai
Pointer ke objek CRichEditDoc yang terkait dengan objek Anda CRichEditView
.
CRichEditView::GetInPlaceActiveItem
Panggil fungsi ini untuk mendapatkan item OLE yang saat ini diaktifkan di objek ini CRichEditView
.
CRichEditCntrItem* GetInPlaceActiveItem() const;
Tampilkan Nilai
Penunjuk ke objek CRichEditCntrItem aktif tunggal di tempat dalam tampilan edit kaya ini; NULL jika tidak ada item OLE yang saat ini dalam status aktif di tempat.
CRichEditView::GetMargins
Panggil fungsi ini untuk mengambil margin saat ini yang digunakan dalam pencetakan.
CRect GetMargins() const;
Tampilkan Nilai
Margin yang digunakan dalam pencetakan, diukur dalam MM_TWIPS.
CRichEditView::GetPageRect
Panggil fungsi ini untuk mendapatkan dimensi halaman yang digunakan dalam pencetakan.
CRect GetPageRect() const;
Tampilkan Nilai
Batas halaman yang digunakan dalam pencetakan, diukur dalam MM_TWIPS.
Keterangan
Nilai ini didasarkan pada ukuran kertas.
CRichEditView::GetPaperSize
Panggil fungsi ini untuk mengambil ukuran kertas saat ini.
CSize GetPaperSize() const;
Tampilkan Nilai
Ukuran kertas yang digunakan dalam pencetakan, diukur dalam MM_TWIPS.
Contoh
void CMyRichEditView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
UNREFERENCED_PARAMETER(pInfo);
// Get the current paper size and construct an actual printing
// rectangle by leaving out one half inch margin from each side.
CSize sizePaper = GetPaperSize();
CRect rectMargins(720, 720, sizePaper.cx - 720,
sizePaper.cy - 720);
// Need to set the margins when printing from CRichEditView
SetMargins(rectMargins);
// Set up three rectangular regions spaced an inch apart
CRect rectHeader(0, 0, rectMargins.right, 1440);
CRect rectBody(0, 1440, rectMargins.right, 1440 * 2);
CRect rectFooter(0, 1440 * 2, rectMargins.right, 1440 * 3);
// Format the first 10 characters in the buffer.
int nSavedDC = pDC->SaveDC();
PrintInsideRect(pDC, rectHeader, 0, 10, TRUE); // characters 0-10
pDC->RestoreDC(nSavedDC);
// Format the second 10 characters in the buffer.
nSavedDC = pDC->SaveDC();
PrintInsideRect(pDC, rectBody, 10, 20, TRUE); // characters 10-20
pDC->RestoreDC(nSavedDC);
// Format the third 10 characters in the buffer.
nSavedDC = pDC->SaveDC();
PrintInsideRect(pDC, rectFooter, 20, 30, TRUE); // characters 20-30
pDC->RestoreDC(nSavedDC);
// CRichEditView::OnPrint(pDC, pInfo);
}
CRichEditView::GetParaFormatSelection
Panggil fungsi ini untuk mendapatkan atribut pemformatan paragraf dari pilihan saat ini.
PARAFORMAT2& GetParaFormatSelection();
Tampilkan Nilai
Struktur PARAFORMAT2 yang berisi atribut pemformatan paragraf dari pilihan saat ini.
Keterangan
Untuk informasi selengkapnya, lihat pesan EM_GETPARAFORMAT dan struktur PARAFORMAT2 di Windows SDK.
CRichEditView::GetPrintRect
Panggil fungsi ini untuk mengambil batas area pencetakan dalam persegi panjang halaman.
CRect GetPrintRect() const;
Tampilkan Nilai
Batas area gambar yang digunakan dalam pencetakan, diukur dalam MM_TWIPS.
Contoh
void CMyRichEditView::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)
{
CRect rectPrintPage = GetPrintRect(); // Measured in MM_TWIPS
pInfo->SetMaxPage((m_nDocSizeInInches * 1440) / rectPrintPage.Height());
CRichEditView::OnBeginPrinting(pDC, pInfo);
}
CRichEditView::GetPrintWidth
Panggil fungsi ini untuk menentukan lebar area pencetakan.
int GetPrintWidth() const;
Tampilkan Nilai
Lebar area pencetakan, diukur dalam MM_TWIPS.
CRichEditView::GetRichEditCtrl
Panggil fungsi ini untuk mengambil objek CRichEditCtrl yang terkait dengan CRichEditView
objek.
CRichEditCtrl& GetRichEditCtrl() const;
Tampilkan Nilai
Objek CRichEditCtrl
untuk tampilan ini.
Contoh
Lihat contoh untuk CRichEditView::FindText.
CRichEditView::GetSelectedItem
Panggil fungsi ini untuk mengambil item OLE (objek) yang CRichEditCntrItem
saat ini dipilih dalam objek ini CRichEditView
.
CRichEditCntrItem* GetSelectedItem() const;
Tampilkan Nilai
Penunjuk ke objek CRichEditCntrItem yang dipilih dalam CRichEditView
objek; NULL jika tidak ada item yang dipilih dalam tampilan ini.
CRichEditView::GetTextLength
Panggil fungsi ini untuk mengambil panjang teks dalam objek ini CRichEditView
.
long GetTextLength() const;
Tampilkan Nilai
Panjang teks dalam objek ini CRichEditView
.
CRichEditView::GetTextLengthEx
Panggil fungsi anggota ini untuk menghitung panjang teks dalam objek ini CRichEditView
.
long GetTextLengthEx(
DWORD dwFlags,
UINT uCodePage = -1) const;
Parameter
dwFlags
Nilai yang menentukan metode yang akan digunakan dalam menentukan panjang teks. Anggota ini bisa menjadi satu atau beberapa nilai yang tercantum dalam anggota bendera GETTEXTLENGTHEX yang dijelaskan di Windows SDK.
uCodePage
Halaman kode untuk terjemahan (CP_ACP untuk Halaman Kode ANSI, 1200 untuk Unicode).
Tampilkan Nilai
Jumlah karakter atau byte dalam kontrol edit. Jika bendera yang tidak kompatibel diatur dalam dwFlags, fungsi anggota ini mengembalikan E_INVALIDARG.
Keterangan
GetTextLengthEx
menyediakan cara tambahan untuk menentukan panjang teks. Ini mendukung fungsionalitas Rich Edit 2.0. Untuk informasi selengkapnya, lihat Tentang Kontrol Edit Kaya di Windows SDK.
CRichEditView::InsertFileAsObject
Panggil fungsi ini untuk menyisipkan file yang ditentukan (sebagai objek CRichEditCntrItem ) ke dalam tampilan edit yang kaya.
void InsertFileAsObject(LPCTSTR lpszFileName);
Parameter
lpszFileName
String yang berisi nama file yang akan disisipkan.
CRichEditView::InsertItem
Panggil fungsi ini untuk menyisipkan objek CRichEditCntrItem ke dalam tampilan edit yang kaya.
HRESULT InsertItem(CRichEditCntrItem* pItem);
Parameter
pItem
Arahkan ke item yang akan disisipkan.
Tampilkan Nilai
Nilai HRESULT yang menunjukkan keberhasilan penyisipan.
Keterangan
Untuk informasi selengkapnya tentang HRESULT, lihat Struktur Kode Kesalahan COM di Windows SDK.
CRichEditView::IsRichEditFormat
Panggil fungsi ini untuk menentukan apakah cf adalah format Clipboard yang merupakan teks, teks kaya, atau teks kaya dengan item OLE.
static BOOL AFX_CDECL IsRichEditFormat(CLIPFORMAT cf);
Parameter
Lihat
Format Clipboard yang menarik.
Tampilkan Nilai
Bukan nol jika cf adalah format Clipboard edit atau teks kaya.
CRichEditView::IsSelected
Panggil fungsi ini untuk menentukan apakah item OLE yang ditentukan saat ini dipilih dalam tampilan ini.
virtual BOOL IsSelected(const CObject* pDocItem) const;
Parameter
pDocItem
Penunjuk ke objek dalam tampilan.
Tampilkan Nilai
Bukan nol jika objek dipilih; jika tidak, 0.
Keterangan
Ambil alih fungsi ini jika kelas tampilan turunan Anda memiliki metode yang berbeda untuk menangani pemilihan item OLE.
CRichEditView::m_nBulletIndent
Indentasi untuk item poin dalam daftar; secara default, 720 unit, yaitu 1/2 inci.
int m_nBulletIndent;
CRichEditView::m_nWordWrap
Menunjukkan jenis pembungkus kata untuk tampilan edit kaya ini.
int m_nWordWrap;
Keterangan
Salah satu dari nilai berikut:
WrapNone
Menunjukkan tidak ada pembungkusan kata otomatis.WrapToWindow
Menunjukkan pembungkusan kata berdasarkan lebar jendela.WrapToTargetDevice
Menunjukkan pembungkusan kata berdasarkan karakteristik perangkat target.
Contoh
Lihat contoh untuk CRichEditView::WrapChanged.
CRichEditView::OnCharEffect
Panggil fungsi ini untuk mengalihkan efek pemformatan karakter untuk pilihan saat ini.
void OnCharEffect(
DWORD dwMask,
DWORD dwEffect);
Parameter
dwMask
Efek pemformatan karakter untuk dimodifikasi dalam pilihan saat ini.
dwEffect
Daftar efek pemformatan karakter yang diinginkan untuk dialihkan.
Keterangan
Setiap panggilan ke fungsi ini mengalihkan efek pemformatan yang ditentukan untuk pilihan saat ini.
Untuk informasi selengkapnya tentang parameter dwMask dan dwEffect dan nilai potensialnya, lihat anggota data CHARFORMAT yang sesuai di Windows SDK.
Contoh
void CMyRichEditView::OnItalic()
{
OnCharEffect(CFM_ITALIC, CFE_ITALIC);
}
CRichEditView::OnFindNext
Dipanggil oleh kerangka kerja saat memproses perintah dari kotak dialog Temukan/Ganti.
virtual void OnFindNext(
LPCTSTR lpszFind,
BOOL bNext,
BOOL bCase,
BOOL bWord);
Parameter
lpszFind
String yang akan ditemukan.
bNext
Arah untuk mencari: TRUE menunjukkan ke bawah; FALSE, naik.
bCase
Menunjukkan apakah pencarian akan peka huruf besar/kecil.
bWord
Menunjukkan apakah pencarian hanya cocok dengan seluruh kata atau tidak.
Keterangan
Panggil fungsi ini untuk menemukan teks dalam CRichEditView
. Ambil alih fungsi ini untuk mengubah karakteristik pencarian untuk kelas tampilan turunan Anda.
CRichEditView::OnInitialUpdate
Dipanggil oleh kerangka kerja setelah tampilan pertama kali dilampirkan ke dokumen, tetapi sebelum tampilan awalnya ditampilkan.
virtual void OnInitialUpdate();
Keterangan
Implementasi default fungsi ini memanggil fungsi anggota CView::OnUpdate tanpa informasi petunjuk (yaitu, menggunakan nilai default 0 untuk parameter lHint dan NULL untuk parameter pHint ). Ambil alih fungsi ini untuk melakukan inisialisasi satu kali yang memerlukan informasi tentang dokumen. Misalnya, jika aplikasi Anda memiliki dokumen berukuran tetap, Anda dapat menggunakan fungsi ini untuk menginisialisasi batas gulir tampilan berdasarkan ukuran dokumen. Jika aplikasi Anda mendukung dokumen berukuran variabel, gunakan OnUpdate
untuk memperbarui batas gulir setiap kali dokumen berubah.
Contoh
Lihat contoh untuk CRichEditView::m_nWordWrap.
CRichEditView::OnPasteNativeObject
Gunakan fungsi ini untuk memuat data asli dari item yang disematkan.
virtual BOOL OnPasteNativeObject(LPSTORAGE lpStg);
Parameter
lpStg
Penunjuk ke objek IStorage .
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0;
Keterangan
Biasanya, Anda akan melakukan ini dengan membuat COleStreamFile di IStorage
sekitar . COleStreamFile
dapat dilampirkan ke arsip dan CObject::Serialize yang dipanggil untuk memuat data.
Ini adalah pengalih tingkat lanjut.
Untuk informasi selengkapnya, lihat IStorage di Windows SDK.
CRichEditView::OnParaAlign
Panggil fungsi ini untuk mengubah perataan paragraf untuk paragraf yang dipilih.
void OnParaAlign(WORD wAlign);
Parameter
wAlign
Perataan paragraf yang diinginkan. Salah satu dari nilai berikut:
PFA_LEFT Ratakan paragraf dengan margin kiri.
PFA_RIGHT Ratakan paragraf dengan margin kanan.
PFA_CENTER Tengahkan paragraf di antara margin.
Contoh
void CMyRichEditView::OnParaCenter()
{
OnParaAlign(PFA_CENTER);
}
CRichEditView::OnPrinterChanged
Ambil alih fungsi ini untuk mengubah karakteristik tampilan edit kaya ini ketika printer berubah.
virtual void OnPrinterChanged(const CDC& dcPrinter);
Parameter
dcPrinter
Objek CDC untuk pencetak baru.
Keterangan
Implementasi default mengatur ukuran kertas ke tinggi dan lebar fisik untuk perangkat output (printer). Jika tidak ada konteks perangkat yang terkait dengan dcPrinter, implementasi default mengatur ukuran kertas menjadi 8,5 sebesar 11 inci.
CRichEditView::OnReplaceAll
Dipanggil oleh kerangka kerja saat memproses Ganti Semua perintah dari kotak dialog Ganti.
virtual void OnReplaceAll(
LPCTSTR lpszFind,
LPCTSTR lpszReplace,
BOOL bCase,
BOOL bWord);
Parameter
lpszFind
Teks yang akan diganti.
lpszReplace
Teks pengganti.
bCase
Menunjukkan apakah pencarian peka huruf besar/kecil.
bWord
Menunjukkan apakah pencarian harus memilih seluruh kata atau tidak.
Keterangan
Panggil fungsi ini untuk mengganti semua kemunculan beberapa teks tertentu dengan string lain. Ambil alih fungsi ini untuk mengubah karakteristik pencarian untuk tampilan ini.
Contoh
Lihat contoh untuk CRichEditView::FindText.
CRichEditView::OnReplaceSel
Dipanggil oleh kerangka kerja saat memproses Ganti perintah dari kotak dialog Ganti.
virtual void OnReplaceSel(
LPCTSTR lpszFind,
BOOL bNext,
BOOL bCase,
BOOL bWord,
LPCTSTR lpszReplace);
Parameter
lpszFind
Teks yang akan diganti.
bNext
Menunjukkan arah pencarian: TRUE tidak berfungsi; FALSE, naik.
bCase
Menunjukkan apakah pencarian peka huruf besar/kecil.
bWord
Menunjukkan apakah pencarian harus memilih seluruh kata atau tidak.
lpszReplace
Teks pengganti.
Keterangan
Panggil fungsi ini untuk mengganti satu kemunculan beberapa teks tertentu dengan string lain. Ambil alih fungsi ini untuk mengubah karakteristik pencarian untuk tampilan ini.
CRichEditView::OnTextNotFound
Dipanggil oleh kerangka kerja setiap kali pencarian gagal.
virtual void OnTextNotFound(LPCTSTR lpszFind);
Parameter
lpszFind
Teks yang tidak ditemukan.
Keterangan
Ambil alih fungsi ini untuk mengubah pemberitahuan output dari MessageBeep.
Untuk informasi selengkapnya, lihat MessageBeep di Windows SDK.
Contoh
void CMyRichEditView::OnTextNotFound(LPCTSTR lpszFind)
{
// Replace the beep with a message box
CString str;
str.Format(_T("'%s' was not found."), lpszFind);
AfxMessageBox(str);
}
CRichEditView::OnUpdateCharEffect
Kerangka kerja memanggil fungsi ini untuk memperbarui UI perintah untuk perintah efek karakter.
void OnUpdateCharEffect(
CCmdUI* pCmdUI,
DWORD dwMask,
DWORD dwEffect);
Parameter
pCmdUI
Penunjuk ke objek CCmdUI .
dwMask
Menunjukkan masker pemformatan karakter.
dwEffect
Menunjukkan efek pemformatan karakter.
Keterangan
Mask dwMask menentukan atribut pemformatan karakter mana yang akan diperiksa. Bendera dwEffect mencantumkan atribut pemformatan karakter untuk diatur/dihapus.
Untuk informasi selengkapnya tentang parameter dwMask dan dwEffect dan nilai potensialnya, lihat anggota data CHARFORMAT yang sesuai di Windows SDK.
Contoh
void CMyRichEditView::OnUpdateCharItalicUI(CCmdUI* pCmdUI)
{
OnUpdateCharEffect(pCmdUI, CFM_ITALIC, CFE_ITALIC);
}
CRichEditView::OnUpdateParaAlign
Kerangka kerja memanggil fungsi ini untuk memperbarui UI perintah untuk perintah efek paragraf.
void OnUpdateParaAlign(
CCmdUI* pCmdUI,
WORD wAlign);
Parameter
pCmdUI
Penunjuk ke objek CCmdUI .
wAlign
Perataan paragraf untuk diperiksa. Salah satu dari nilai berikut:
PFA_LEFT Ratakan paragraf dengan margin kiri.
PFA_RIGHT Ratakan paragraf dengan margin kanan.
PFA_CENTER Tengahkan paragraf di antara margin.
Contoh
void CMyRichEditView::OnUpdateParaCenterUI(CCmdUI* pCmdUI)
{
OnUpdateParaAlign(pCmdUI, PFA_CENTER);
}
CRichEditView::P rintInsideRect
Panggil fungsi ini untuk memformat rentang teks dalam kontrol edit kaya agar pas dalam rectLayout untuk perangkat yang ditentukan oleh pDC.
long PrintInsideRect(
CDC* pDC,
RECT& rectLayout,
long nIndexStart,
long nIndexStop,
BOOL bOutput);
Parameter
Pdc
Penunjuk ke konteks perangkat untuk area output.
rectLayout
RECT atau CRect yang menentukan area output.
nIndexStart
Indeks berbasis nol dari karakter pertama yang akan diformat.
nIndexStop
Indeks berbasis nol dari karakter terakhir yang akan diformat.
bOutput
Menunjukkan apakah teks harus dirender. Jika FALSE, teks hanya diukur.
Tampilkan Nilai
Indeks karakter terakhir yang pas di area output ditambah satu.
Keterangan
Biasanya, panggilan ini diikuti dengan panggilan ke CRichEditCtrl::D isplayBand yang menghasilkan output.
Contoh
Lihat contoh untuk CRichEditView::GetPaperSize.
CRichEditView::P rintPage
Panggil fungsi ini untuk memformat rentang teks dalam kontrol edit kaya untuk perangkat output yang ditentukan oleh pDC.
long PrintPage(
CDC* pDC,
long nIndexStart,
long nIndexStop);
Parameter
Pdc
Penunjuk ke konteks perangkat untuk output halaman.
nIndexStart
Indeks berbasis nol dari karakter pertama yang akan diformat.
nIndexStop
Indeks berbasis nol dari karakter terakhir yang akan diformat.
Tampilkan Nilai
Indeks karakter terakhir yang pas di halaman ditambah satu.
Keterangan
Tata letak setiap halaman dikontrol oleh GetPageRect dan GetPrintRect. Biasanya, panggilan ini diikuti dengan panggilan ke CRichEditCtrl::D isplayBand yang menghasilkan output.
Perhatikan bahwa margin relatif terhadap halaman fisik, bukan halaman logis. Dengan demikian, margin nol akan sering mengklip teks karena banyak printer memiliki area yang tidak dapat dicetak di halaman. Untuk menghindari kliping teks, Anda harus memanggil SetMargins dan mengatur margin yang wajar sebelum mencetak.
CRichEditView::QueryAcceptData
Dipanggil oleh kerangka kerja untuk menempelkan objek ke dalam pengeditan kaya.
virtual HRESULT QueryAcceptData(
LPDATAOBJECT lpdataobj,
CLIPFORMAT* lpcfFormat,
DWORD dwReco,
BOOL bReally,
HGLOBAL hMetaFile);
Parameter
lpdataobj
Arahkan ke IDataObject untuk dikueri.
lpcfFormat
Penunjuk ke format data yang dapat diterima.
dwReco
Tidak digunakan.
bReally
Menunjukkan apakah operasi tempel harus dilanjutkan atau tidak.
hMetaFile
Handel ke metafile yang digunakan untuk menggambar ikon item.
Tampilkan Nilai
Nilai HRESULT yang melaporkan keberhasilan operasi.
Keterangan
Ambil alih fungsi ini untuk menangani berbagai organisasi item COM di kelas dokumen turunan Anda. Ini adalah pengalih tingkat lanjut.
Untuk informasi selengkapnya tentang HRESULT dan IDataObject
, lihat Struktur Kode Kesalahan COM dan IDataObject, masing-masing, di Windows SDK.
Contoh
// This code fragment is taken from the Wordpad sample.
HRESULT CMyRichEditView::QueryAcceptData(LPDATAOBJECT lpdataobj,
CLIPFORMAT* lpcfFormat, DWORD dwReco, BOOL bReally, HGLOBAL hMetaFile)
{
if (bReally && *lpcfFormat == 0 && (m_nPasteType == 0))
{
COleDataObject dataobj;
dataobj.Attach(lpdataobj, FALSE);
if (!dataobj.IsDataAvailable(cfRTO)) // native avail, let
// richedit do as it wants
{
if (dataobj.IsDataAvailable(cfEmbeddedObject))
{
if (PasteNative(lpdataobj)) // See WordPad sample for info
// on PasteNative
return S_FALSE;
}
}
}
return CRichEditView::QueryAcceptData(lpdataobj, lpcfFormat, dwReco,
bReally, hMetaFile);
}
CRichEditView::SetCharFormat
Panggil fungsi ini untuk mengatur atribut pemformatan karakter untuk teks baru dalam objek ini CRichEditView
.
void SetCharFormat(CHARFORMAT2 cf);
Parameter
Lihat
CHARFORMAT2 struktur yang berisi atribut pemformatan karakter default baru.
Keterangan
Hanya atribut yang ditentukan oleh dwMask
anggota cf yang diubah oleh fungsi ini.
Untuk informasi selengkapnya, lihat pesan EM_SETCHARFORMAT dan struktur CHARFORMAT2 di Windows SDK.
Contoh
void CMyRichEditView::OnCharUnderline()
{
CHARFORMAT2 cf;
cf = GetCharFormatSelection();
if (!(cf.dwMask & CFM_UNDERLINE) || !(cf.dwEffects & CFE_UNDERLINE))
cf.dwEffects = CFE_UNDERLINE;
else
cf.dwEffects = 0;
cf.dwMask = CFM_UNDERLINE;
SetCharFormat(cf);
}
CRichEditView::SetMargins
Panggil fungsi ini untuk mengatur margin pencetakan untuk tampilan edit kaya ini.
void SetMargins(const CRect& rectMargin);
Parameter
rectMargin
Nilai margin baru untuk pencetakan, diukur dalam MM_TWIPS.
Keterangan
Jika m_nWordWrap adalah WrapToTargetDevice
, Anda harus memanggil WrapChanged setelah menggunakan fungsi ini untuk menyesuaikan karakteristik pencetakan.
Perhatikan bahwa margin yang digunakan oleh PrintPage relatif terhadap halaman fisik, bukan halaman logis. Dengan demikian, margin nol akan sering mengklip teks karena banyak printer memiliki area yang tidak dapat dicetak di halaman. Untuk menghindari pengklipan teks, Anda harus memanggil gunakan SetMargins
untuk menyetel margin printer yang wajar sebelum mencetak.
Contoh
Lihat contoh untuk CRichEditView::GetPaperSize.
CRichEditView::SetPaperSize
Panggil fungsi ini untuk menyetel ukuran kertas untuk mencetak tampilan edit kaya ini.
void SetPaperSize(CSize sizePaper);
Parameter
sizePaper
Nilai ukuran kertas baru untuk pencetakan, diukur dalam MM_TWIPS.
Keterangan
Jika m_nWordWrap adalah WrapToTargetDevice
, Anda harus memanggil WrapChanged setelah menggunakan fungsi ini untuk menyesuaikan karakteristik pencetakan.
Contoh
BOOL CMyRichEditView::OnPreparePrinting(CPrintInfo* pInfo)
{
// Set the printing margins (720 twips = 1/2 inch).
SetMargins(CRect(720, 720, 720, 720));
// Change the paper orientation to landscape mode
// See the example for CWinApp::GetPrinterDeviceDefaults
((CMyWinApp*)AfxGetApp())->SetLandscapeMode();
// Change the paper size in the CRichEditView to
// reflect landscape mode
CSize csPaper = GetPaperSize();
int temp;
temp = csPaper.cx; csPaper.cx = csPaper.cy; csPaper.cy = temp;
SetPaperSize(csPaper);
return DoPreparePrinting(pInfo);
}
CRichEditView::SetParaFormat
Panggil fungsi ini untuk mengatur atribut pemformatan paragraf untuk pilihan saat ini dalam objek ini CRichEditView
.
BOOL SetParaFormat(PARAFORMAT2& pf);
Parameter
Pf
PARAFORMAT2 struktur yang berisi atribut pemformatan paragraf default baru.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Hanya atribut yang ditentukan oleh dwMask
anggota pf yang diubah oleh fungsi ini.
Untuk informasi selengkapnya, lihat pesan EM_SETPARAFORMAT dan struktur PARAFORMAT2 di Windows SDK.
Contoh
void CMyRichEditView::AddBullets()
{
PARAFORMAT2 pf;
pf.cbSize = sizeof(PARAFORMAT2);
pf.dwMask = PFM_NUMBERING | PFM_OFFSET;
pf.wNumbering = PFN_BULLET;
pf.dxOffset = 10;
VERIFY(SetParaFormat(pf));
}
CRichEditView::TextNotFound
Panggil fungsi ini untuk mengatur ulang status pencarian internal kontrol CRichEditView setelah panggilan gagal ke FindText.
void TextNotFound(LPCTSTR lpszFind);
Parameter
lpszFind
Berisi string teks yang tidak ditemukan.
Keterangan
Disarankan agar metode ini dipanggil segera setelah panggilan gagal ke FindText sehingga status pencarian internal kontrol diatur ulang dengan benar.
Parameter lpszFind harus menyertakan konten yang sama dengan string yang disediakan untuk FindText. Setelah mereset status pencarian internal, metode ini akan memanggil metode OnTextNotFound dengan string pencarian yang disediakan.
Contoh
Lihat contoh untuk CRichEditView::FindText.
CRichEditView::WrapChanged
Panggil fungsi ini ketika karakteristik pencetakan telah berubah ( SetMargins atau SetPaperSize).
virtual void WrapChanged();
Keterangan
Ambil alih fungsi ini untuk memodifikasi cara tampilan edit kaya merespons perubahan dalam m_nWordWrap atau karakteristik pencetakan ( OnPrinterChanged).
Contoh
void CMyRichEditView::OnInitialUpdate()
{
CRichEditView::OnInitialUpdate();
// Turn on the horizontal scroll bar
m_nWordWrap = WrapNone;
WrapChanged();
}
Baca juga
Sampel MFC WORDPAD
Kelas CCtrlView
Bagan Hierarki
Kelas CRichEditDoc
Kelas CRichEditCntrItem
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk