CEdit Sınıfı
Windows düzenleme denetiminin işlevselliğini sağlar.
Sözdizimi
class CEdit : public CWnd
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CEdit::CEdit | Bir CEdit denetim nesnesi oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CEdit::CanUndo | Düzenleme denetimi işleminin geri alınıp alınamayacağını belirler. |
CEdit::CharFromPos | Belirtilen konuma en yakın karakterin çizgi ve karakter dizinlerini alır. |
CEdit::Clear | Düzenleme denetimindeki geçerli seçimi (varsa) siler (temizler). |
CEdit::Copy | Düzenleme denetimindeki geçerli seçimi (varsa) panoya CF_TEXT biçimde kopyalar. |
CEdit::Create | Windows düzenleme denetimini oluşturur ve nesneye CEdit ekler. |
CEdit::Cut | Düzenleme denetimindeki geçerli seçimi (varsa) siler (keser) ve silinen metni panoya CF_TEXT biçimde kopyalar. |
CEdit::EmptyUndoBuffer | Düzenleme denetiminin geri alma bayrağını sıfırlar (temizler). |
CEdit::FmtLines | Çok satırlı düzenleme denetiminde geçici satır sonu karakterlerinin eklenmesini veya kapatılmasını ayarlar. |
CEdit::GetCueBanner | Denetim boş olduğunda ve odak olmadığında düzenleme denetiminde metin ipucu veya ipucu olarak görüntülenen metni alır. |
CEdit::GetFirstVisibleLine | Düzenleme denetiminde en üstteki görünür satırı belirler. |
CEdit::GetHandle | Şu anda çok satırlı düzenleme denetimi için ayrılmış olan belleğe bir tanıtıcı alır. |
CEdit::GetHighlight | Geçerli düzenleme denetiminde vurgulanan bir metin aralığındaki başlangıç ve bitiş karakterlerinin dizinlerini alır. |
CEdit::GetLimitText | Bunun CEdit içerebileceği en fazla metin miktarını alır. |
CEdit::GetLine | Düzenleme denetiminden metin satırı alır. |
CEdit::GetLineCount | Çok satırlı düzenleme denetimindeki satır sayısını alır. |
CEdit::GetMargins | Bunun CEdit için sol ve sağ kenar boşluklarını alır. |
CEdit::GetModify | Düzenleme denetiminin içeriğinin değiştirilip değiştirilmediğini belirler. |
CEdit::GetPasswordChar | Kullanıcı metin girdiğinde düzenleme denetiminde görüntülenen parola karakterini alır. |
CEdit::GetRect | Düzenleme denetiminin biçimlendirme dikdörtgenini alır. |
CEdit::GetSel | Düzenleme denetimindeki geçerli seçimin ilk ve son karakter konumlarını alır. |
CEdit::HideBalloonTip | Geçerli düzenleme denetimiyle ilişkili tüm balon ipucunu gizler. |
CEdit::LimitText | Kullanıcının düzenleme denetimine girebileceği metnin uzunluğunu sınırlar. |
CEdit::LineFromChar | Belirtilen karakter dizinini içeren satırın satır numarasını alır. |
CEdit::LineIndex | Çok satırlı düzenleme denetimindeki bir satırın karakter dizinini alır. |
CEdit::LineLength | Düzenleme denetimindeki bir satırın uzunluğunu alır. |
CEdit::LineScroll | Çok satırlı düzenleme denetiminin metnini kaydırıyor. |
CEdit::P aste | Panodaki verileri geçerli imleç konumundaki düzenleme denetimine ekler. Veriler yalnızca Pano CF_TEXT biçimde veri içeriyorsa eklenir. |
CEdit::P osFromChar | Belirtilen karakter dizininin sol üst köşesinin koordinatlarını alır. |
CEdit::ReplaceSel | Düzenleme denetimindeki geçerli seçimi belirtilen metinle değiştirir. |
CEdit::SetCueBanner | Denetim boş olduğunda ve odak olmadığında düzenleme denetiminde metin ipucu veya ipucu olarak görüntülenen metni ayarlar. |
CEdit::SetHandle | Tutamacı, çok satırlı düzenleme denetimi tarafından kullanılacak yerel belleğe ayarlar. |
CEdit::SetHighlight | Geçerli düzenleme denetiminde görüntülenen metin aralığını vurgular. |
CEdit::SetLimitText | Bunun CEdit içerebileceği en fazla metin miktarını ayarlar. |
CEdit::SetMargins | Bunun CEdit için sol ve sağ kenar boşluklarını ayarlar. |
CEdit::SetModify | Düzenleme denetimi için değişiklik bayrağını ayarlar veya temizler. |
CEdit::SetPasswordChar | Kullanıcı metin girdiğinde düzenleme denetiminde görüntülenen parola karakterini ayarlar veya kaldırır. |
CEdit::SetReadOnly | Düzenleme denetiminin salt okunur durumunu ayarlar. |
CEdit::SetRect | Çok satırlı düzenleme denetiminin biçimlendirme dikdörtgenini ayarlar ve denetimi güncelleştirir. |
CEdit::SetRectNP | Denetim penceresini yeniden çizmeden çok satırlı düzenleme denetiminin biçimlendirme dikdörtgenini ayarlar. |
CEdit::SetSel | Düzenleme denetiminde bir karakter aralığı seçer. |
CEdit::SetTabStops | Sekme duraklarını çok satırlı düzenleme denetiminde ayarlar. |
CEdit::ShowBalloonTip | Geçerli düzenleme denetimiyle ilişkili bir balon ipucu görüntüler. |
CEdit::Undo | Son düzenleme denetimi işlemini tersine çevirir. |
Açıklamalar
Düzenleme denetimi, kullanıcının metin girebileceği dikdörtgen bir alt penceredir.
Bir iletişim kutusu şablonundan veya doğrudan kodunuz içinde düzenleme denetimi oluşturabilirsiniz. Her iki durumda da önce nesneyi oluşturmak için oluşturucuyu CEdit
çağırınCEdit
, ardından Create member işlevini çağırarak Windows düzenleme denetimini oluşturun ve nesneye CEdit
ekleyin.
İnşaat, sınıfından CEdit
türetilen tek adımlı bir işlem olabilir. Türetilmiş sınıf için bir oluşturucu yazın ve oluşturucunun içinden çağrısı Create
gerçekleştirin.
CEdit
' den CWnd
önemli işlevleri devralır. Bir nesneden metin ayarlamak ve almak için, çok satırlı bir CEdit
denetim olsa bile düzenleme denetiminin tüm içeriğini ayarlayan veya alan SetWindowText ve GetWindowText üye işlevlerini kullanınCWnd
. Çok satırlı denetimdeki metin satırları '\r\n' karakter dizileriyle ayrılır. Ayrıca, düzenleme denetimi çok satırlıysa GetLine, SetSel, GetSel ve ReplaceSel üye işlevlerini çağırarak denetimin CEdit
metninin bir bölümünü alın ve ayarlayın.
Düzenleme denetimi tarafından üst öğesine gönderilen Windows bildirim iletilerini işlemek istiyorsanız (genellikle öğesinden CDialog
türetilen bir sınıf), her ileti için üst sınıfa bir ileti eşleme girdisi ve ileti işleyicisi üye işlevi ekleyin.
Her ileti eşleme girdisi aşağıdaki formu alır:
ON_NOTIFICATION( id, memberFxn )
burada id
, bildirimi gönderen düzenleme denetiminin alt pencere kimliğini belirtir ve memberFxn
bildirimi işlemek için yazdığınız üst üye işlevinin adıdır.
Ebeveynin işlev prototipi aşağıdaki gibidir:
afx_msg void memberFxn ( );
Aşağıda olası ileti eşlemesi girdilerinin listesi ve bunların üst öğeye gönderileceği servis taleplerinin açıklaması yer alır:
ON_EN_CHANGE Kullanıcı, düzenleme denetiminde metni değiştirmiş olabilecek bir eylemde bulundu. EN_UPDATE bildirim iletisinden farklı olarak, windows ekranı güncelleştirdikten sonra bu bildirim iletisi gönderilir.
ON_EN_ERRSPACE Düzenleme denetimi belirli bir isteği karşılamak için yeterli bellek ayıramaz.
ON_EN_HSCROLL Kullanıcı düzenleme denetiminin yatay kaydırma çubuğuna tıklar. Ekran güncelleştirilmeden önce üst pencereye bildirim gönderilir.
ON_EN_KILLFOCUS Düzenleme denetimi giriş odağını kaybeder.
ON_EN_MAXTEXT Geçerli ekleme, düzenleme denetimi için belirtilen karakter sayısını aştı ve kesildi. Ayrıca, bir düzenleme denetimi ES_AUTOHSCROLL stiline sahip olmadığında ve eklenecek karakter sayısı düzenleme denetiminin genişliğini aştığında da gönderilir. Ayrıca, düzenleme denetimi ES_AUTOVSCROLL stiline sahip olmadığında ve metin eklemesinden kaynaklanan toplam satır sayısı düzenleme denetiminin yüksekliğini aştığında da gönderilir.
ON_EN_SETFOCUS Düzenleme denetimi giriş odağını aldığında Gönderilir.
ON_EN_UPDATE Düzenleme denetimi değiştirilmiş metni görüntülemek üzere. Denetim metni biçimlendirdikten sonra, ancak gerekirse pencere boyutunun değiştirilebilmesi için metni filtrelemeden önce gönderilir.
ON_EN_VSCROLL Kullanıcı düzenleme denetiminin dikey kaydırma çubuğuna tıklar. Ekran güncelleştirilmeden önce üst pencereye bildirim gönderilir.
İletişim kutusunda bir CEdit
nesne oluşturursanız, CEdit
kullanıcı iletişim kutusunu kapattığında nesne otomatik olarak yok edilir.
İletişim kutusu düzenleyicisini kullanarak bir iletişim kutusu kaynağından nesne oluşturursanız CEdit
, CEdit
kullanıcı iletişim kutusunu kapattığında nesne otomatik olarak yok edilir.
Pencere içinde bir CEdit
nesne oluşturursanız, nesneyi yok etmeniz de gerekebilir. Nesneyi yığında oluşturursanız CEdit
, nesne otomatik olarak yok edilir. işlevini kullanarak new
yığında nesnesi oluşturursanızCEdit
, kullanıcı Windows düzenleme denetimini sonlandırdığında yok etmek için nesne üzerinde çağrısında delete
bulunması gerekir. Nesnede CEdit
herhangi bir bellek ayırırsanız, ayırmaları atmak için yıkıcıyı geçersiz kılın CEdit
.
Düzenleme denetimindeki (ES_READONLY gibi) belirli stilleri değiştirmek için ModifyStyle kullanmak yerine denetime belirli iletiler göndermeniz gerekir. Bkz. Windows SDK'sında Denetim Stillerini Düzenleme.
hakkında CEdit
daha fazla bilgi için bkz . Denetimler.
Devralma Hiyerarşisi
CEdit
Gereksinimler
Üst bilgi: afxwin.h
CEdit::CanUndo
Son düzenleme işleminin geri alınabileceğini belirlemek için bu işlevi çağırın.
BOOL CanUndo() const;
Dönüş Değeri
Son düzenleme işlemi üye işlevine Undo
yapılan bir çağrıyla geri alınabiliyorsa sıfır olmayan; geri alınamazsa 0.
Açıklamalar
Daha fazla bilgi için bkz . Windows SDK'sında EM_CANUNDO .
Örnek
CEdit::Undo örneğine bakın.
CEdit::CEdit
Bir CEdit
nesne oluşturur.
CEdit();
Açıklamalar
Oluştur'u kullanarak Windows düzenleme denetimini oluşturun.
Örnek
// Declare a local CEdit object.
CEdit myEdit;
// Declare a dynamic CEdit object.
CEdit *pmyEdit = new CEdit;
CEdit::CharFromPos
Bu denetimde belirtilen noktaya en yakın karakterin sıfır tabanlı çizgi ve karakter dizinlerini almak için bu CEdit
işlevi çağırın
int CharFromPos(CPoint pt) const;
Parametreler
Pt
Bu CEdit
nesnenin istemci alanındaki bir noktanın koordinatları.
Dönüş Değeri
Düşük sıralı WORD'deki karakter dizini ve yüksek sıralı WORD'deki satır dizini.
Açıklamalar
Not
Bu üye işlevi, Windows 95 ve Windows NT 4.0 ile başlayarak kullanılabilir.
Daha fazla bilgi için bkz . Windows SDK'sında EM_CHARFROMPOS .
Örnek
// 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
Düzenleme denetimindeki geçerli seçimi (varsa) silmek (temizlemek) için bu işlevi çağırın.
void Clear();
Açıklamalar
tarafından Clear
gerçekleştirilen silme işlemi, Üyeyi Geri Al işlevi çağrılarak geri alınabilir.
Geçerli seçimi silmek ve silinen içeriği Pano'ya yerleştirmek için Üyeyi kes işlevini çağırın.
Daha fazla bilgi için bkz . Windows SDK'sında WM_CLEAR .
Örnek
// Delete all of the text.
m_myEdit.SetSel(0, -1);
m_myEdit.Clear();
CEdit::Copy
Düzenleme denetimindeki geçerli seçimi (varsa) Pano'ya CF_TEXT biçimde uygulamak için bu işlevi çağırın.
void Copy();
Açıklamalar
Daha fazla bilgi için bkz . Windows SDK'sında WM_COPY .
Örnek
// Copy all of the text to the clipboard.
m_myEdit.SetSel(0, -1);
m_myEdit.Copy();
CEdit::Create
Windows düzenleme denetimini oluşturur ve nesneye CEdit
ekler.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parametreler
dwStyle
Düzenleme denetiminin stilini belirtir. Denetime düzenleme stillerinin herhangi bir bileşimini uygulayın.
Rect
Düzenleme denetiminin boyutunu ve konumunu belirtir. Bir CRect
nesne veya RECT
yapı olabilir.
pParentWnd
Düzenleme denetiminin üst penceresini belirtir (genellikle bir CDialog
). NULL olmamalıdır.
Nıd
Düzenleme denetiminin kimliğini belirtir.
Dönüş Değeri
Başlatma başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
İki adımda bir CEdit
nesne oluşturursunuz. İlk olarak oluşturucuyu çağırın CEdit
ve ardından Windows düzenleme denetimini oluşturan ve nesnesine ekleyen öğesini çağırınCreate
CEdit
.
YürütürkenCreate
, Windows WM_NCCREATE, WM_NCCALCSIZE, WM_CREATE ve WM_GETMINMAXINFO iletilerini düzenleme denetimine gönderir.
Bu iletiler, temel sınıftaki OnNcCreate, OnNcCalcSize, OnCreate ve OnGetMinMaxInfo üye işlevleri CWnd
tarafından varsayılan olarak işlenir. Varsayılan ileti işlemeyi genişletmek için öğesinden CEdit
bir sınıf türetin, yeni sınıfa bir ileti eşlemesi ekleyin ve yukarıdaki ileti işleyicisi üye işlevlerini geçersiz kılın. Örneğin, yeni sınıf için gerekli başlatmayı gerçekleştirmek için öğesini geçersiz kılın OnCreate
.
Aşağıdaki pencere stillerini düzenleme denetimine uygulayın.
Her Zaman WS_CHILD
WS_VISIBLE Genellikle
WS_DISABLED Nadiren
WS_GROUP Gruplandırma denetimleri
WS_TABSTOP Düzenleme denetimini sekme sırasına eklemek için
Örnek
// 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
Düzenleme denetimindeki geçerli seçimi (varsa) silmek (kesmek) ve silinen metni panoya CF_TEXT biçimde kopyalamak için bu işlevi çağırın.
void Cut();
Açıklamalar
tarafından Cut
gerçekleştirilen silme işlemi, Üyeyi Geri Al işlevi çağrılarak geri alınabilir.
Silinen metni Pano'ya yerleştirmeden geçerli seçimi silmek için Üyeyi temizle işlevini çağırın.
Daha fazla bilgi için bkz . Windows SDK'sında WM_CUT .
Örnek
// Delete all of the text and copy it to the clipboard.
m_myEdit.SetSel(0, -1);
m_myEdit.Cut();
CEdit::EmptyUndoBuffer
Düzenleme denetiminin geri alma bayrağını sıfırlamak (temizlemek) için bu işlevi çağırın.
void EmptyUndoBuffer();
Açıklamalar
Düzenleme denetimi artık son işlemi geri alamayacaktır. Düzenleme denetimindeki bir işlem geri alınabildiği her durumda geri alma bayrağı ayarlanır.
SetWindowText veya SetHandleCWnd
üye işlevleri çağrıldığında geri alma bayrağı otomatik olarak temizlenir.
Daha fazla bilgi için bkz . Windows SDK'sında EM_EMPTYUNDOBUFFER .
Örnek
// Clear the undo buffer.
if (m_myEdit.CanUndo())
{
m_myEdit.EmptyUndoBuffer();
ASSERT(!m_myEdit.CanUndo());
}
CEdit::FmtLines
Çok satırlı düzenleme denetiminde geçici satır sonu karakterlerinin eklenmesini veya kapatılmasını ayarlamak için bu işlevi çağırın.
BOOL FmtLines(BOOL bAddEOL);
Parametreler
bAddEOL
Geçici satır sonu karakterlerinin eklenip eklenmeyeceğini belirtir. TRUE değeri karakterleri ekler; YANLIŞ değeri bunları kaldırır.
Dönüş Değeri
Herhangi bir biçimlendirme oluşursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Yumuşak çizgi sonu, iki satır başı ve sözcük kaydırma nedeniyle bozuk bir satırın sonuna eklenen bir satır beslemeden oluşur. Sabit hat sonu, bir satır başı ve bir hat beslemeden oluşur. Sabit satır sonuyla biten satırlar tarafından FmtLines
etkilenmez.
Windows yalnızca nesne çok satırlı düzenleme denetimiyse CEdit
yanıt verir.
FmtLines
yalnızca GetHandle tarafından döndürülen arabelleği ve WM_GETTEXT tarafından döndürülen metni etkiler. Düzenleme denetimindeki metnin görüntülenmesi üzerinde hiçbir etkisi yoktur.
Daha fazla bilgi için bkz . Windows SDK'sında EM_FMTLINES .
Örnek
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
Denetim boş olduğunda düzenleme denetiminde metin ipucu veya ipucu olarak görüntülenen metni alır.
BOOL GetCueBanner(
LPWSTR lpszText,
int cchText) const;
CString GetCueBanner() const;
Parametreler
lpszText
[out] İşaret metnini içeren bir dize işaretçisi.
cchText
[in] Alınabilecek karakter sayısı. Bu sayı, sonlandırıcı NULL karakterini içerir.
Dönüş Değeri
İlk aşırı yükleme için, yöntem başarılı olursa TRUE; aksi takdirde YANLIŞ.
İkinci aşırı yükleme için, yöntem başarılı olursa ipucu metnini içeren bir CString ; aksi takdirde boş dize ("").
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan EM_GETCUEBANNER iletisini gönderir. Daha fazla bilgi için Edit_GetCueBannerText makrosna bakın.
CEdit::GetFirstVisibleLine
Düzenleme denetiminde en üstteki görünür satırı belirlemek için bu işlevi çağırın.
int GetFirstVisibleLine() const;
Dönüş Değeri
En üstteki görünür satırın sıfır tabanlı dizini. Tek satırlı düzenleme denetimleri için dönüş değeri 0'dır.
Açıklamalar
Daha fazla bilgi için bkz . Windows SDK'sında EM_GETFIRSTVISIBLELINE .
Örnek
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
Çok satırlı düzenleme denetimi için ayrılmış olan belleğe tanıtıcı almak için bu işlevi çağırın.
HLOCAL GetHandle() const;
Dönüş Değeri
Düzenleme denetiminin içeriğini tutan arabelleği tanımlayan yerel bellek tanıtıcısı. İletinin tek satırlı düzenleme denetimine gönderilmesi gibi bir hata oluşursa, dönüş değeri 0 olur.
Açıklamalar
Tanıtıcı yerel bir bellek tutamacıdır ve yerel bellek tutamacını parametre olarak alan Yerel Windows bellek işlevlerinden herhangi biri tarafından kullanılabilir.
GetHandle
yalnızca çok satırlı düzenleme denetimleri tarafından işlenir.
GetHandle
bir iletişim kutusunda yalnızca iletişim kutusu DS_LOCALEDIT stil bayrağı ayarlanmış olarak oluşturulduysa, çok satırlı düzenleme denetimi çağırın. DS_LOCALEDIT stili ayarlanmamışsa sıfır olmayan bir dönüş değeri alırsınız, ancak döndürülen değeri kullanamazsınız.
Not
GetHandle
, Windows 95/98 ile çalışmaz. Windows 95/98'de çağırırsanız GetHandle
NULL döndürür. GetHandle
, Windows NT, sürüm 3.51 ve üzeri altında belgelendiği gibi çalışır.
Daha fazla bilgi için bkz . Windows SDK'sında EM_GETHANDLE .
Örnek
HLOCAL h = m_myEdit.GetHandle();
LPCTSTR lpszText = (LPCTSTR)::LocalLock(h);
// Dump the text of the edit control.
AFXDUMP(lpszText);
::LocalUnlock(h);
CEdit::GetHighlight
Geçerli düzenleme denetiminde vurgulanan bir metin aralığındaki ilk ve son karakterlerin dizinlerini alır.
BOOL GetHighlight(
int* pichStart,
int* pichEnd) const;
Parametreler
pichStart
[out] Vurgulanan metin aralığındaki ilk karakterin sıfır tabanlı dizini.
pichEnd
[out] Vurgulanan metin aralığındaki son karakterin sıfır tabanlı dizini.
Dönüş Değeri
Bu yöntem başarılı olursa TRUE; aksi takdirde YANLIŞ.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan EM_GETHILITE iletisini gönderir. Hem hem de SetHighlight
GetHighlight
şu anda yalnızca UNICODE derlemeleri için etkinleştirilmiştir.
CEdit::GetLimitText
Bu nesnenin metin sınırını almak için bu CEdit
üye işlevini çağırın.
UINT GetLimitText() const;
Dönüş Değeri
Bu CEdit
nesne için TCHAR'lardaki geçerli metin sınırı.
Açıklamalar
Metin sınırı, TCHAR'larda düzenleme denetiminin kabul edebildiği maksimum metin miktarıdır.
Not
Bu üye işlevi, Windows 95 ve Windows NT 4.0 ile başlayarak kullanılabilir.
Daha fazla bilgi için bkz . Windows SDK'sında EM_GETLIMITTEXT .
Örnek
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
Düzenleme denetiminden metin satırı almak ve bunu lpszBuffer'a getirmek için bu işlevi çağırın.
int GetLine(
int nIndex,
LPTSTR lpszBuffer) const;
int GetLine(
int nIndex,
LPTSTR lpszBuffer,
int nMaxLength) const;
Parametreler
nIndex
Çok satırlı düzenleme denetiminden alınacak satır numarasını belirtir. Satır numaraları sıfır tabanlıdır; 0 değeri ilk satırı belirtir. Bu parametre tek satırlı düzenleme denetimi tarafından yoksayılır.
lpszBuffer
Satırın bir kopyasını alan arabelleğe işaret eder. Arabelleğin ilk sözcüğü arabelleğe kopyalanacak en fazla TCHAR sayısını belirtmelidir.
nMaxLength
Arabelleğe kopyalanacak en fazla TCHAR karakter sayısını belirtir. GetLine
, Windows çağrısı yapmadan önce bu değeri lpszBuffer'ın ilk sözcüğüne yerleştirir.
Dönüş Değeri
Kopyalanan karakter sayısı. nIndex tarafından belirtilen satır numarası düzenleme denetimindeki satır sayısından büyükse, dönüş değeri 0'dır.
Açıklamalar
Kopyalanan satır null sonlandırma karakteri içermiyor.
Daha fazla bilgi için bkz . Windows SDK'sında EM_GETLINE .
Örnek
CEdit::GetLineCount örneğine bakın.
CEdit::GetLineCount
Çok satırlı düzenleme denetimindeki satır sayısını almak için bu işlevi çağırın.
int GetLineCount() const;
Dönüş Değeri
Çok satırlı düzenleme denetimindeki satır sayısını içeren tamsayı. Düzenleme denetimine metin girilmemişse, dönüş değeri 1 olur.
Açıklamalar
GetLineCount
yalnızca çok satırlı düzenleme denetimleri tarafından işlenir.
Daha fazla bilgi için bkz . Windows SDK'sında EM_GETLINECOUNT .
Örnek
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
Bu düzenleme denetiminin sol ve sağ kenar boşluklarını almak için bu üye işlevini çağırın.
DWORD GetMargins() const;
Dönüş Değeri
Düşük sıralı WORD'de sol kenar boşluğunun genişliği ve yüksek sıralı WORD'de sağ kenar boşluğunun genişliği.
Açıklamalar
Kenar boşlukları piksel cinsinden ölçülür.
Not
Bu üye işlevi, Windows 95 ve Windows NT 4.0 ile başlayarak kullanılabilir.
Daha fazla bilgi için bkz . Windows SDK'sında EM_GETMARGINS .
Örnek
CEditView::GetEditCtrl örneğine bakın.
CEdit::GetModify
Düzenleme denetiminin içeriğinin değiştirilip değiştirilmediğini belirlemek için bu işlevi çağırın.
BOOL GetModify() const;
Dönüş Değeri
Düzenleme denetimi içeriği değiştirilmişse sıfır olmayan; 0 değişmeden kaldıysa.
Açıklamalar
Windows, düzenleme denetiminin içeriğinin değiştirilip değiştirilmediğini belirten bir iç bayrak tutar. Düzenleme denetimi ilk oluşturulduğunda bu bayrak temizlenir ve SetModify üye işlevi çağrılarak da temizlenebilir.
Daha fazla bilgi için bkz . Windows SDK'sında EM_GETMODIFY .
Örnek
// Reset the modified state only if my edit has been modified.
if (m_myEdit.GetModify())
m_myEdit.SetModify(FALSE);
CEdit::GetPasswordChar
Kullanıcı metin girdiğinde düzenleme denetiminde görüntülenen parola karakterini almak için bu işlevi çağırın.
TCHAR GetPasswordChar() const;
Dönüş Değeri
Kullanıcının yazdığı karakter yerine görüntülenecek karakteri belirtir. Hiçbir parola karakteri yoksa dönüş değeri NULL olur.
Açıklamalar
Düzenleme denetimini ES_PASSWORD stiliyle oluşturursanız, denetimi destekleyen DLL varsayılan parola karakterini belirler. Bildirim veya InitCommonControlsEx yöntemi hangi DLL'nin düzenleme denetimini desteklediğini belirler. user32.dll düzenleme denetimini destekliyorsa, varsayılan parola karakteri ASTERISK ('*', U+002A) olur. comctl32.dll sürüm 6 düzenleme denetimini destekliyorsa, varsayılan karakter BLACK CIRCLE ('●', U+25CF) karakteridir. Hangi DLL ve sürümün ortak denetimleri desteklediği hakkında daha fazla bilgi için bkz . Kabuk ve Ortak Denetim Sürümleri.
Bu yöntem, Windows SDK'sında açıklanan EM_GETPASSWORDCHAR iletisini gönderir.
Örnek
// Turn on the password mode.
m_myEdit.SetPasswordChar('*');
ASSERT(m_myEdit.GetStyle() & ES_PASSWORD);
ASSERT(m_myEdit.GetPasswordChar() == '*');
CEdit::GetRect
Düzenleme denetiminin biçimlendirme dikdörtgenini almak için bu işlevi çağırın.
void GetRect(LPRECT lpRect) const;
Parametreler
lpRect
Biçimlendirme dikdörtgenini RECT
alan yapıyı gösterir.
Açıklamalar
Biçimlendirme dikdörtgeni, düzenleme denetimi penceresinin boyutundan bağımsız olarak metnin sınırlayıcı dikdörtgenidir.
Çok satırlı düzenleme denetiminin biçimlendirme dikdörtgeni, SetRect ve SetRectNP üye işlevleri tarafından değiştirilebilir.
Daha fazla bilgi için bkz . Windows SDK'sında EM_GETRECT .
Örnek
CEdit::LimitText örneğine bakın.
CEdit::GetSel
Bir düzenleme denetiminde geçerli seçimin (varsa) başlangıç ve bitiş karakter konumlarını almak için dönüş değerini veya parametreleri kullanarak bu işlevi çağırın.
DWORD GetSel() const;
void GetSel(
int& nStartChar,
int& nEndChar) const;
Parametreler
nStartChar
Geçerli seçimdeki ilk karakterin konumunu alacak bir tamsayı başvurusu.
nEndChar
Geçerli seçimin sonundan sonra seçilmemiş ilk karakterin konumunu alacak bir tamsayıya başvuru.
Dönüş Değeri
DWORD döndüren sürüm, düşük sıralı sözcükte başlangıç konumunu ve yüksek sıralı sözcükte seçimin sonundan sonra seçilmeyen ilk karakterin konumunu içeren bir değer döndürür.
Açıklamalar
Daha fazla bilgi için bkz . Windows SDK'sında EM_GETSEL .
Örnek
// Set the selection to be all characters after the current selection.
DWORD dwSel = m_myEdit.GetSel();
m_myEdit.SetSel(HIWORD(dwSel), -1);
CEdit::HideBalloonTip
Geçerli düzenleme denetimiyle ilişkili tüm balon ipucunu gizler.
BOOL HideBalloonTip();
Dönüş Değeri
Bu yöntem başarılı olursa TRUE; aksi takdirde YANLIŞ.
Açıklamalar
Bu işlev, Windows SDK'sında açıklanan EM_HIDEBALLOONTIP iletisini gönderir.
CEdit::LimitText
Kullanıcının düzenleme denetimine girebileceği metnin uzunluğunu sınırlamak için bu işlevi çağırın.
void LimitText(int nChars = 0);
Parametreler
nChars
Kullanıcının girebileceği metnin uzunluğunu (TCHAR cinsinden) belirtir. Bu parametre 0 ise, metin uzunluğu UINT_MAX bayt olarak ayarlanır. Bu varsayılan davranıştır.
Açıklamalar
Metin sınırının değiştirilmesi yalnızca kullanıcının girebileceği metni kısıtlar. Zaten düzenleme denetiminde olan herhangi bir metni etkilemez ve içindeki SetWindowText üye işlevi CWnd
tarafından düzenleme denetimine kopyalanan metnin uzunluğunu etkilemez. Bir uygulama, düzenleme denetimine SetWindowText
çağrısında belirtilenden daha fazla metin yerleştirmek için LimitText
işlevini kullanırsa, kullanıcı düzenleme denetimindeki metinlerden herhangi birini silebilir. Ancak, geçerli seçimin silinmesi metnin metin sınırının altına düşmesine neden olmadığı sürece, metin sınırı kullanıcının var olan metni yeni metinle değiştirmesini engeller.
Not
Win32'de (Windows NT ve Windows 95/98), SetLimitText bu işlevin yerini alır.
Daha fazla bilgi için bkz . Windows SDK'sında EM_LIMITTEXT .
Örnek
// 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
Belirtilen karakter dizinini içeren satırın satır numarasını almak için bu işlevi çağırın.
int LineFromChar(int nIndex = -1) const;
Parametreler
nIndex
Düzenleme denetiminin metninde istenen karakter için sıfır tabanlı dizin değeri veya -1 içerir. nIndex -1 ise, geçerli satırı, yani şapka işaretini içeren çizgiyi belirtir.
Dönüş Değeri
nIndex tarafından belirtilen karakter dizinini içeren satırın sıfır tabanlı satır numarası. nIndex -1 ise, seçimin ilk karakterini içeren satırın sayısı döndürülür. Seçim yoksa, geçerli satır numarası döndürülür.
Açıklamalar
Karakter dizini, düzenleme denetiminin başındaki karakter sayısıdır.
Bu üye işlevi yalnızca birden çok satırlı düzenleme denetimleri tarafından kullanılır.
Daha fazla bilgi için bkz . Windows SDK'sında EM_LINEFROMCHAR .
Örnek
// 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
Çok satırlı düzenleme denetimindeki bir satırın karakter dizinini almak için bu işlevi çağırın.
int LineIndex(int nLine = -1) const;
Parametreler
nLine
Düzenleme denetiminin metninde istenen satırın dizin değerini veya -1 değerini içerir. nLine -1 ise, geçerli satırı, yani şapka işaretini içeren çizgiyi belirtir.
Dönüş Değeri
Belirtilen satır numarası düzenleme denetimindeki satır sayısından büyükse nLine veya -1 içinde belirtilen satırın karakter dizini.
Açıklamalar
Karakter dizini, düzenleme denetiminin başından belirtilen satıra kadar olan karakter sayısıdır.
Bu üye işlevi yalnızca çok satırlı düzenleme denetimleri tarafından işlenir.
Daha fazla bilgi için bkz . Windows SDK'sında EM_LINEINDEX .
Örnek
// 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
Düzenleme denetimindeki bir satırın uzunluğunu alır.
int LineLength(int nLine = -1) const;
Parametreler
nLine
Uzunluğu alınacak satırdaki bir karakterin sıfır tabanlı dizini. Varsayılan değer -1'dir.
Dönüş Değeri
Tek satırlı düzenleme denetimleri için, dönüş değeri düzenleme denetimindeki metnin TCHAR'lardaki uzunluğudur.
Çok satırlı düzenleme denetimleri için, dönüş değeri nLine parametresi tarafından belirtilen satırın TCHAR'lardaki uzunluğudur. ANSI metni için uzunluk, satırdaki bayt sayısıdır; Unicode metni için uzunluk, satırdaki karakter sayısıdır. Uzunluk, satırın sonundaki satır başı karakterini içermez.
nLine parametresi denetimdeki karakter sayısından fazlaysa, dönüş değeri sıfırdır.
nLine parametresi -1 ise, dönüş değeri seçili karakterleri içeren satırlardaki seçilmemiş karakterlerin sayısıdır. Örneğin, seçim bir satırın dördüncü karakterinden sonraki satırın sonundaki sekizinci karaktere kadar uzanıyorsa, dönüş değeri 10 olur. Yani, ilk satırda üç karakter ve sonraki satırda yedi karakter.
TCHAR türü hakkında daha fazla bilgi için Windows Veri Türleri'ndeki tablodaki TCHAR satırına bakın.
Açıklamalar
Bu yöntem, Windows SDK'da açıklanan EM_LINELENGTH iletisi tarafından desteklenir.
Örnek
CEdit::LineIndex örneğine bakın.
CEdit::LineScroll
Çok satırlı düzenleme denetiminin metnini kaydırmak için bu işlevi çağırın.
void LineScroll(
int nLines,
int nChars = 0);
Parametreler
nLines
Dikey olarak kaydıracak satır sayısını belirtir.
nChars
Yatay olarak kaydıracak karakter konumlarının sayısını belirtir. Düzenleme denetimi ES_RIGHT veya ES_CENTER stiline sahipse bu değer yoksayılır.
Açıklamalar
Bu üye işlevi yalnızca çok satırlı düzenleme denetimleriyle işlenir.
Düzenleme denetimi, düzenleme denetimindeki metnin son satırını dikey olarak kaydırmaz. Geçerli satır artı nLines tarafından belirtilen satır sayısı düzenleme denetimindeki toplam satır sayısını aşarsa, düzenleme denetiminin son satırının düzenleme denetimi penceresinin en üstüne kaydırılması için değer ayarlanır.
LineScroll
herhangi bir satırın son karakterini yatay olarak kaydırmak için kullanılabilir.
Daha fazla bilgi için bkz . Windows SDK'sında EM_LINESCROLL .
Örnek
CEdit::GetFirstVisibleLine örneğine bakın.
CEdit::P aste
Pano'dan CEdit
ekleme noktasına veri eklemek için bu işlevi çağırın.
void Paste();
Açıklamalar
Veriler yalnızca Pano CF_TEXT biçimde veri içeriyorsa eklenir.
Daha fazla bilgi için bkz . Windows SDK'sında WM_PASTE .
Örnek
// Replace all of the text with the text in the clipboard.
m_myEdit.SetSel(0, -1);
m_myEdit.Paste();
CEdit::P osFromChar
Bu nesne içindeki belirli bir karakterin konumunu (sol üst köşe) almak için bu CEdit
işlevi çağırın.
CPoint PosFromChar(UINT nChar) const;
Parametreler
nChar
Belirtilen karakterin sıfır tabanlı dizini.
Dönüş Değeri
nChar tarafından belirtilen karakterin sol üst köşesinin koordinatları.
Açıklamalar
Karakter, sıfır tabanlı dizin değeri verilerek belirtilir. nChar, bu CEdit
nesnedeki son karakterin dizininden büyükse, dönüş değeri bu CEdit
nesnedeki son karakterin hemen ötesindeki karakter konumunun koordinatlarını belirtir.
Not
Bu üye işlevi, Windows 95 ve Windows NT 4.0 ile başlayarak kullanılabilir.
Daha fazla bilgi için bkz . Windows SDK'sında EM_POSFROMCHAR .
Örnek
CEdit::LineFromChar örneğine bakın.
CEdit::ReplaceSel
Düzenleme denetimindeki geçerli seçimi lpszNewText tarafından belirtilen metinle değiştirmek için bu işlevi çağırın.
void ReplaceSel(LPCTSTR lpszNewText, BOOL bCanUndo = FALSE);
Parametreler
lpszNewText
Yeni metni içeren null olarak sonlandırılan bir dizeye işaret ediyor.
bCanUndo
Bu işlevin geri alınabileceğini belirtmek için bu parametrenin değerini TRUE olarak ayarlayın. Varsayılan değer YANLIŞ'tır.
Açıklamalar
Düzenleme denetimindeki metnin yalnızca bir bölümünü değiştirir. Metnin tümünü değiştirmek istiyorsanız, CWnd::SetWindowText üye işlevini kullanın.
Geçerli seçim yoksa, yeni metin geçerli imleç konumuna eklenir.
Daha fazla bilgi için bkz . Windows SDK'sında EM_REPLACESEL .
Örnek
CEdit::LineIndex örneğine bakın.
CEdit::SetCueBanner
Denetim boş olduğunda düzenleme denetiminde metin ipucu veya ipucu olarak görüntülenen metni ayarlar.
BOOL SetCueBanner(LPCWSTR lpszText);
BOOL SetCueBanner(
LPCWSTR lpszText,
BOOL fDrawWhenFocused = FALSE);
Parametreler
lpszText
[in] Düzenleme denetiminde görüntülenecek ipucu içeren bir dize işaretçisi.
fDrawWhenFocused
[in] YANLIŞ ise, kullanıcı düzenleme denetimine tıkladığında ve denetime odağı verdiğinde ipucu başlığı çizılmaz.
TRUE ise, denetim odağı olduğunda bile ipucu başlığı çizilir. Kullanıcı denetime yazma başladığında ipucu başlığı kaybolur.
Varsayılan değer YANLIŞ'tır.
Dönüş Değeri
Yöntem başarılı olursa TRUE; aksi takdirde YANLIŞ.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan EM_SETCUEBANNER iletisini gönderir. Daha fazla bilgi için bkz . Edit_SetCueBannerTextFocused makro.
Örnek
Aşağıdaki örnekte CEdit::SetCueBanner yöntemi gösterilmektedir.
m_cedit.SetCueBanner(_T("First, enter text here..."), TRUE);
CEdit::SetHandle
Tutamacı çok satırlı düzenleme denetimi tarafından kullanılacak yerel belleğe ayarlamak için bu işlevi çağırın.
void SetHandle(HLOCAL hBuffer);
Parametreler
hBuffer
Yerel belleğin tanıtıcısını içerir. Bu tanıtıcı, LMEM_MOVEABLE bayrağı kullanılarak LocalAlloc Windows işlevine yapılan önceki bir çağrı tarafından oluşturulmuş olmalıdır. Belleğin null ile sonlandırılan bir dize içerdiği varsayılır. Böyle bir durum söz konusu değilse, ayrılan belleğin ilk baytının 0 olarak ayarlanması gerekir.
Açıklamalar
Düzenleme denetimi daha sonra bu arabelleği kullanarak kendi arabelleği yerine o anda görüntülenen metni depolar.
Bu üye işlevi yalnızca çok satırlı düzenleme denetimleriyle işlenir.
Bir uygulama yeni bir bellek tanıtıcısı ayarlamadan önce, tanıtıcıyı geçerli bellek arabelleğine almak ve Windows işlevini kullanarak LocalFree
bu belleği boşaltmak için GetHandle üye işlevini kullanmalıdır.
SetHandle
geri alma arabelleği ( CanUndo üye işlevi 0 döndürür) ve iç değişiklik bayrağını ( GetModify üye işlevi 0 döndürür) temizler. Düzenleme denetimi penceresi yeniden çizilir.
Bu üye işlevini bir iletişim kutusundaki çok satırlı düzenleme denetiminde yalnızca DS_LOCALEDIT stili bayrağı ayarlanmış bir iletişim kutusu oluşturduysanız kullanabilirsiniz.
Not
GetHandle
, Windows 95/98 ile çalışmaz. Windows 95/98'de çağırırsanız GetHandle
NULL döndürür. GetHandle
, Windows NT, sürüm 3.51 ve üzeri altında belgelendiği gibi çalışır.
Daha fazla bilgi için bkz . Windows SDK'sında EM_SETHANDLE, LocalAlloc ve LocalFree .
Örnek
// 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
Geçerli düzenleme denetiminde görüntülenen metin aralığını vurgular.
void SetHighlight(
int ichStart,
int ichEnd);
Parametreler
ichStart
[in] Vurgulanan metin aralığındaki ilk karakterin sıfır tabanlı dizini.
ichEnd
[in] Vurgulanan metin aralığındaki son karakterin sıfır tabanlı dizini.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan EM_SETHILITE iletisini gönderir. Bu yöntem, Windows SDK'sında açıklanan EM_SETHILITE iletisini gönderir. Hem hem GetHighlight
de SetHighlight
yalnızca UNICODE derlemeleri için etkinleştirilir.
CEdit::SetLimitText
Bu nesnenin metin sınırını ayarlamak için bu CEdit
üye işlevini çağırın.
void SetLimitText(UINT nMax);
Parametreler
nMax
Karakter olarak yeni metin sınırı.
Açıklamalar
Metin sınırı, düzenleme denetiminin kabul edebildiği karakter cinsinden en fazla metin miktarıdır.
Metin sınırının değiştirilmesi yalnızca kullanıcının girebileceği metni kısıtlar. Zaten düzenleme denetiminde olan herhangi bir metni etkilemez ve içindeki SetWindowText üye işlevi CWnd
tarafından düzenleme denetimine kopyalanan metnin uzunluğunu etkilemez. Bir uygulama, düzenleme denetimine SetWindowText
çağrısında belirtilenden daha fazla metin yerleştirmek için LimitText
işlevini kullanırsa, kullanıcı düzenleme denetimindeki metinlerden herhangi birini silebilir. Ancak, geçerli seçimin silinmesi metnin metin sınırının altına düşmesine neden olmadığı sürece, metin sınırı kullanıcının var olan metni yeni metinle değiştirmesini engeller.
Bu işlev, Win32'de LimitText'in yerini alır.
Daha fazla bilgi için bkz . Windows SDK'sında EM_SETLIMITTEXT .
Örnek
CEditView::GetEditCtrl örneğine bakın.
CEdit::SetMargins
Bu düzenleme denetiminin sol ve sağ kenar boşluklarını ayarlamak için bu yöntemi çağırın.
void SetMargins(
UINT nLeft,
UINT nRight);
Parametreler
nLeft
Yeni sol kenar boşluğunun piksel cinsinden genişliği.
nRight
Yeni sağ kenar boşluğunun piksel cinsinden genişliği.
Açıklamalar
Not
Bu üye işlevi, Windows 95 ve Windows NT 4.0 ile başlayarak kullanılabilir.
Daha fazla bilgi için bkz . Windows SDK'sında EM_SETMARGINS .
Örnek
CEditView::GetEditCtrl örneğine bakın.
CEdit::SetModify
Düzenleme denetiminin değiştirilmiş bayrağını ayarlamak veya temizlemek için bu işlevi çağırın.
void SetModify(BOOL bModified = TRUE);
Parametreler
bModified
DOĞRU değeri, metnin değiştirildiğini, YANLIŞ değeri ise değiştirilmediğini gösterir. Varsayılan olarak, değiştirilen bayrak ayarlanır.
Açıklamalar
Değiştirilen bayrak, düzenleme denetimindeki metnin değiştirilip değiştirilmediğini gösterir. Kullanıcı metni her değiştirdiği zaman otomatik olarak ayarlanır. Değeri GetModify üye işleviyle alınabilir.
Daha fazla bilgi için bkz . Windows SDK'sında EM_SETMODIFY .
Örnek
CEdit::GetModify örneğine bakın.
CEdit::SetPasswordChar
Kullanıcı metin yazdığınızda düzenleme denetiminde görüntülenen parola karakterini ayarlamak veya kaldırmak için bu işlevi çağırın.
void SetPasswordChar(TCHAR ch);
Parametreler
Caner
Kullanıcı tarafından yazılan karakterin yerine görüntülenecek karakteri belirtir. Ch 0 ise, kullanıcı tarafından yazılan gerçek karakterler görüntülenir.
Açıklamalar
Parola karakteri ayarlandığında, kullanıcı tarafından girilen her karakter için bu karakter görüntülenir.
Bu üye işlevinin çok satırlı düzenleme denetimi üzerinde hiçbir etkisi yoktur.
SetPasswordChar
Üye işlevi çağrıldığında, CEdit
ch tarafından belirtilen karakteri kullanarak tüm görünür karakterleri yeniden çizer.
Düzenleme denetimi ES_PASSWORD stiliyle oluşturulursa, varsayılan parola karakteri yıldız ( *) olarak ayarlanır. Ch 0 olarak ayarlanmış olarak çağrılırsa SetPasswordChar
bu stil kaldırılır.
Daha fazla bilgi için bkz . Windows SDK'sında EM_SETPASSWORDCHAR .
Örnek
// Turn off the password mode.
m_myEdit.SetPasswordChar(0);
ASSERT(!(m_myEdit.GetStyle() & ES_PASSWORD));
CEdit::SetReadOnly
Düzenleme denetiminin salt okunur durumunu ayarlamak için bu işlevi çağırır.
BOOL SetReadOnly(BOOL bReadOnly = TRUE);
Parametreler
bReadOnly
Düzenleme denetiminin salt okunur durumunun ayarlanıp ayarlanmayacağını veya kaldırılacağını belirtir. TRUE değeri, durumu salt okunur olarak ayarlar; FALSE değeri, durumu okuma/yazma olarak ayarlar.
Dönüş Değeri
İşlem başarılı olursa sıfır olmayan veya hata oluşursa 0.
Açıklamalar
Geçerli ayar, CWnd::GetStyle dönüş değerinde ES_READONLY bayrağını test ederek bulunabilir.
Daha fazla bilgi için bkz . Windows SDK'sında EM_SETREADONLY .
Örnek
// Set the edit control to be read-only.
m_myEdit.SetReadOnly(TRUE);
ASSERT(m_myEdit.GetStyle() & ES_READONLY);
CEdit::SetRect
Belirtilen koordinatları kullanarak dikdörtgenin boyutlarını ayarlamak için bu işlevi çağırın.
void SetRect(LPCRECT lpRect);
Parametreler
lpRect
Biçimlendirme dikdörtgeninin RECT
yeni boyutlarını belirten yapıya veya CRect
nesneye işaret eder.
Açıklamalar
Bu üye yalnızca birden çok satırlı düzenleme denetimleri tarafından işlenir.
Çok satırlı düzenleme denetiminin biçimlendirme dikdörtgenini ayarlamak için kullanın SetRect
. Biçimlendirme dikdörtgeni, düzenleme denetimi penceresinin boyutundan bağımsız olarak metnin sınırlayıcı dikdörtgenidir. Düzenleme denetimi ilk oluşturulduğunda, biçimlendirme dikdörtgeni düzenleme denetimi penceresinin istemci alanıyla aynıdır. Bir uygulama, üye işlevini kullanarak SetRect
biçimlendirme dikdörtgenini düzenleme denetimi penceresinden daha büyük veya daha küçük yapabilir.
Düzenleme denetiminde kaydırma çubuğu yoksa, biçimlendirme dikdörtgeni pencereden büyük yapılmışsa metin kırpılır, kaydırılmaz. Düzenleme denetimi kenarlık içeriyorsa, biçimlendirme dikdörtgeni kenarlık boyutuna göre küçültür. Üye işlevi tarafından döndürülen dikdörtgeni GetRect
ayarlarsanız, dikdörtgeni SetRect
öğesine geçirmeden önce kenarlık boyutunu kaldırmanız gerekir.
Çağrıldığında SetRect
düzenleme denetiminin metni de yeniden biçimlendirilir ve yeniden dağıtılır.
Daha fazla bilgi için bkz . Windows SDK'sında EM_SETRECT .
Örnek
// 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
Çok satırlı düzenleme denetiminin biçimlendirme dikdörtgenini ayarlamak için bu işlevi çağırın.
void SetRectNP(LPCRECT lpRect);
Parametreler
lpRect
Dikdörtgenin yeni boyutlarını belirten bir RECT
yapıya veya CRect
nesneye işaret eder.
Açıklamalar
Biçimlendirme dikdörtgeni, düzenleme denetimi penceresinin boyutundan bağımsız olarak metnin sınırlayıcı dikdörtgenidir.
SetRectNP
, düzenleme denetimi penceresinin SetRect
yeniden çizilmemesi dışında üye işleviyle aynıdır.
Düzenleme denetimi ilk oluşturulduğunda, biçimlendirme dikdörtgeni düzenleme denetimi penceresinin istemci alanıyla aynıdır. Bir uygulama, üye işlevini çağırarak SetRectNP
biçimlendirme dikdörtgenini düzenleme denetimi penceresinden daha büyük veya daha küçük yapabilir.
Düzenleme denetiminde kaydırma çubuğu yoksa, biçimlendirme dikdörtgeni pencereden büyük yapılmışsa metin kırpılır, kaydırılmaz.
Bu üye yalnızca birden çok satırlı düzenleme denetimleri tarafından işlenir.
Daha fazla bilgi için bkz . Windows SDK'sında EM_SETRECTNP .
Örnek
CEdit::SetRect örneğine bakın.
CEdit::SetSel
Düzenleme denetiminde bir karakter aralığı seçmek için bu işlevi çağırın.
void SetSel(
DWORD dwSelection,
BOOL bNoScroll = FALSE);
void SetSel(
int nStartChar,
int nEndChar,
BOOL bNoScroll = FALSE);
Parametreler
dwSelection
Düşük sıralı sözcükte başlangıç konumunu ve yüksek sıralı sözcükte bitiş konumunu belirtir. Düşük sıralı sözcük 0 ve yüksek sıralı sözcük -1 ise, düzenleme denetimindeki tüm metin seçilir. Düşük sıralı sözcük -1 ise, geçerli seçim kaldırılır.
bNoScroll
Şapka işaretinin görünüme kaydırılıp kaydırılmayacağını gösterir. YANLIŞ ise, şapka işareti görünüme kaydırılır. TRUE ise, şapka işareti görünüme kaydırılmaz.
nStartChar
Başlangıç konumunu belirtir. nStartChar 0 ve nEndChar -1 ise, düzenleme denetimindeki tüm metin seçilir. nStartChar -1 ise, geçerli seçim kaldırılır.
nEndChar
Bitiş konumunu belirtir.
Açıklamalar
Daha fazla bilgi için bkz . Windows SDK'sında EM_SETSEL .
Örnek
CEdit::GetSel örneğine bakın.
CEdit::SetTabStops
Çok satırlı düzenleme denetiminde sekme duraklarını ayarlamak için bu işlevi çağırın.
void SetTabStops();
BOOL SetTabStops(const int& cxEachStop);
BOOL SetTabStops(
int nTabStops,
LPINT rgTabStops);
Parametreler
cxEachStop
Sekme duraklarının her cxEachStop iletişim kutusunda ayarlandığını belirtir.
nTabStops
rgTabStops içinde yer alan sekme duraklarının sayısını belirtir. Bu sayı 1'den büyük olmalıdır.
rgTabStops
İletişim birimlerinde sekme duraklarını belirten işaretsiz tamsayılar dizisine işaret eder. İletişim kutusu birimi yatay veya dikey bir uzaklıktır. Yatay bir iletişim kutusu birimi geçerli iletişim kutusu temel genişlik biriminin dörtte birine eşittir ve 1 dikey iletişim kutusu birimi geçerli iletişim kutusu temel yükseklik biriminin sekizde birine eşittir. İletişim kutusu temel birimleri, geçerli sistem yazı tipinin yüksekliğine ve genişliğine göre hesaplanır. GetDialogBaseUnits
Windows işlevi geçerli iletişim kutusu temel birimlerini piksel cinsinden döndürür.
Dönüş Değeri
Sekmeler ayarlandıysa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Metin çok satırlı düzenleme denetimine kopyalandığında, metindeki herhangi bir sekme karakteri bir sonraki sekme durağına kadar boşluk oluşturulmasına neden olur.
Sekme duraklarını varsayılan 32 iletişim birimi boyutuna ayarlamak için bu üye işlevinin parametresiz sürümünü çağırın. Sekme duraklarını 32'den farklı bir boyuta ayarlamak için cxEachStop parametresiyle sürümü çağırın. Sekme duraklarını bir boyut dizisine ayarlamak için iki parametreli sürümü kullanın.
Bu üye işlevi yalnızca çok satırlı düzenleme denetimleri tarafından işlenir.
SetTabStops
düzenleme penceresini otomatik olarak yeniden çizmez. Düzenleme denetiminde bulunan metnin sekme duraklarını değiştirirseniz, düzenleme penceresini yeniden çizmek için CWnd::InvalidateRect'i çağırın.
Daha fazla bilgi için bkz . Windows SDK'sında EM_SETTABSTOPS ve GetDialogBaseUnits .
Örnek
CEditView::SetTabStops örneğine bakın.
CEdit::ShowBalloonTip
Geçerli düzenleme denetimiyle ilişkili bir balon ipucu görüntüler.
BOOL ShowBalloonTip(PEDITBALLOONTIP pEditBalloonTip);
BOOL ShowBalloonTip(
LPCWSTR lpszTitle,
LPCWSTR lpszText,
INT ttiIcon = TTI_NONE);
Parametreler
pEditBalloonTip
[in] Balon ucunu açıklayan bir EDITBALLOONTIP yapısının işaretçisi.
lpszTitle
[in] Balon ucunun başlığını içeren bir Unicode dizesinin işaretçisi.
lpszText
[in] Balon ipucu metnini içeren unicode dize işaretçisi.
ttiIcon
[in] Balon ucuyla ilişkilendirilecek simge türünü belirten INT . Varsayılan değer TTI_NONE. Daha fazla bilgi için bkzttiIcon
. EDITBALLOONTIP yapısının üyesi.
Dönüş Değeri
Bu yöntem başarılı olursa TRUE; aksi takdirde YANLIŞ.
Açıklamalar
Bu işlev, Windows SDK'sında açıklanan EM_SHOWBALLOONTIP iletisini gönderir. Daha fazla bilgi için Edit_ShowBalloonTip makrosna bakın.
Örnek
İlk kod örneği, m_cedit
geçerli düzenleme denetimine erişmek için kullanılan bir değişkeni tanımlar. Bu değişken sonraki örnekte kullanılır.
public:
// Variable to access the edit control.
CEdit m_cedit;
Sonraki kod örneğinde düzenleme denetimi için bir balon ipucu görüntülenir. CEdit::ShowBalloonTip yöntemi bir başlık ve balon ipucu metni belirtir.
m_cedit.ShowBalloonTip(
_T("CEdit Balloon Tip"), // title
_T("Here's a tip!"), // text
TTI_INFO);
CEdit::Undo
Son düzenleme denetimi işlemini geri almak için bu işlevi çağırın.
BOOL Undo();
Dönüş Değeri
Tek satırlı düzenleme denetimi için dönüş değeri her zaman sıfırdan farklı bir değerdir. Çok satırlı düzenleme denetiminde, geri alma işlemi başarılı olursa dönüş değeri sıfır değildir veya geri alma işlemi başarısız olursa 0 olur.
Açıklamalar
Geri alma işlemi de geri alınabilir. Örneğin, ilk çağrısıyla Undo
silinen metni geri yükleyebilirsiniz. Araya bir düzenleme işlemi olmadığı sürece, ikinci bir çağrısıyla Undo
metni yeniden kaldırabilirsiniz.
Daha fazla bilgi için bkz . Windows SDK'sında EM_UNDO .
Örnek
// Undo the last operation, if possible.
if (m_myEdit.CanUndo())
m_myEdit.Undo();
Ayrıca bkz.
MFC Örnek CALCDRIV
MFC Örnek CMNCTRL2
CWnd Sınıfı
Hiyerarşi Grafiği
CWnd Sınıfı
CButton Sınıfı
CComboBox Sınıfı
CListBox Sınıfı
CScrollBar Sınıfı
CStatic Sınıfı
CDialog Sınıfı