Bagikan melalui


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

CObject

CCmdTarget

CWnd

CView

CCtrlView

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