Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Biedt de functionaliteit van een Besturingselement voor Windows-bewerking.
Syntaxis
class CEdit : public CWnd
Leden
Openbare constructors
| Naam | Description |
|---|---|
| CEdit::CEdit | Maakt een CEdit besturingselementobject. |
Openbare methoden
| Naam | Description |
|---|---|
| CEdit::CanUndo | Bepaalt of een bewerking voor bewerkingen ongedaan kan worden gemaakt. |
| CEdit::CharFromPos | Haalt de lijn- en tekenindexen op voor het teken dat zich het dichtst bij een opgegeven positie bevindt. |
| CEdit::Clear | Hiermee verwijdert u (wist) de huidige selectie (indien van toepassing) in het besturingselement bewerken. |
| CEdit::Copy | Kopieert de huidige selectie (indien aanwezig) in het besturingselement Bewerken naar het Klembord in CF_TEXT indeling. |
| CEdit::Maken | Hiermee maakt u het besturingselement Bewerken van Windows en koppelt u het aan het CEdit object. |
| CEdit::Knippen | Hiermee verwijdert u de huidige selectie (indien aanwezig) in het bewerkingsbesturingselement en kopieert u de verwijderde tekst naar het Klembord in CF_TEXT indeling. |
| CEdit::EmptyUndoBuffer | Hiermee wordt de vlag ongedaan maken van een besturingselement voor bewerken opnieuw ingesteld (gewist). |
| CEdit::FmtLines | Hiermee stelt u de opname van vloeiende regeleindetekens in of uit binnen een besturingselement voor bewerken met meerdere regels. |
| CEdit::GetCueBanner | Hiermee haalt u de tekst op die wordt weergegeven als de teksthint of tip, in een besturingselement bewerken wanneer het besturingselement leeg is en geen focus heeft. |
| CEdit::GetFirstVisibleLine | Bepaalt de bovenste zichtbare regel in een besturingselement bewerken. |
| CEdit::GetHandle | Hiermee haalt u een ingang op voor het geheugen dat momenteel is toegewezen voor een besturingselement voor bewerken met meerdere regels. |
| CEdit::GetHighlight | Hiermee haalt u de indexen op van de begin- en eindtekens in een tekstbereik dat is gemarkeerd in het huidige besturingselement voor bewerken. |
| CEdit::GetLimitText | Hiermee haalt u de maximale hoeveelheid tekst op die deze CEdit kan bevatten. |
| CEdit::GetLine | Hiermee haalt u een tekstregel op uit een besturingselement voor bewerken. |
| CEdit::GetLineCount | Hiermee haalt u het aantal regels op in een besturingselement voor bewerken met meerdere regels. |
| CEdit::GetMargins | Hiermee haalt u de linker- en rechtermarges op.CEdit |
| CEdit::GetModify | Bepaalt of de inhoud van een besturingselement voor bewerken is gewijzigd. |
| CEdit::GetPasswordChar | Hiermee wordt het wachtwoordteken opgehaald dat wordt weergegeven in een besturingselement bewerken wanneer de gebruiker tekst invoert. |
| CEdit::GetRect | Hiermee haalt u de opmaakrechthoek van een besturingselement voor bewerken op. |
| CEdit::GetSel | Hiermee haalt u de eerste en laatste tekenposities van de huidige selectie op in een besturingselement bewerken. |
| CEdit::HideBalloonTip | Hiermee verbergt u een ballontip die is gekoppeld aan het huidige bewerkingsbesturingselement. |
| CEdit::LimitText | Hiermee beperkt u de lengte van de tekst die de gebruiker in een besturingselement voor bewerken kan invoeren. |
| CEdit::LineFromChar | Hiermee wordt het regelnummer opgehaald van de regel die de opgegeven tekenindex bevat. |
| CEdit::LineIndex | Haalt de tekenindex van een regel op binnen een besturingselement voor bewerking met meerdere regels. |
| CEdit::LineLength | Hiermee wordt de lengte van een regel in een besturingselement voor bewerken opgehaald. |
| CEdit::LineScroll | Hiermee schuift u de tekst van een besturingselement voor bewerken met meerdere regels. |
| CEdit::P aste | Hiermee voegt u de gegevens van het Klembord in het bewerkingsbesturingselement in op de huidige cursorpositie. Gegevens worden alleen ingevoegd als het Klembord gegevens bevat in CF_TEXT indeling. |
| CEdit::P osFromChar | Haalt de coördinaten op van de linkerbovenhoek van een opgegeven tekenindex. |
| CEdit::ReplaceSel | Vervangt de huidige selectie in een besturingselement bewerken door de opgegeven tekst. |
| CEdit::SetCueBanner | Hiermee stelt u de tekst in die wordt weergegeven als teksthint of tip, in een besturingselement bewerken wanneer het besturingselement leeg is en geen focus heeft. |
| CEdit::SetHandle | Hiermee stelt u de ingang in op het lokale geheugen dat wordt gebruikt door een besturingselement voor bewerken met meerdere regels. |
| CEdit::SetHighlight | Hiermee wordt een tekstbereik gemarkeerd dat wordt weergegeven in het huidige besturingselement voor bewerken. |
| CEdit::SetLimitText | Hiermee stelt u de maximale hoeveelheid tekst in die deze CEdit kan bevatten. |
| CEdit::SetMargins | Hiermee stelt u de linker- en rechtermarges in.CEdit |
| CEdit::SetModify | Hiermee stelt u de wijzigingsvlag voor een besturingselement voor bewerken in of wist u deze. |
| CEdit::SetPasswordChar | Hiermee stelt u een wachtwoordteken in of verwijdert dat wordt weergegeven in een bewerkingsbesturingselement wanneer de gebruiker tekst invoert. |
| CEdit::SetReadOnly | Hiermee stelt u de alleen-lezenstatus van een besturingselement voor bewerken in. |
| CEdit::SetRect | Hiermee stelt u de opmaakrechthoek van een besturingselement voor meerdere regels bewerken in en werkt u het besturingselement bij. |
| CEdit::SetRectNP | Hiermee stelt u de opmaakrechthoek van een besturingselement voor meerdere regels bewerken in zonder het besturingselementvenster opnieuw te tekenen. |
| CEdit::SetSel | Hiermee selecteert u een bereik met tekens in een besturingselement voor bewerken. |
| CEdit::SetTabStops | Hiermee stelt u de tabstops in een besturingselement voor meerdere regels bewerken in. |
| CEdit::ShowBalloonTip | Geeft een ballontip weer die is gekoppeld aan het huidige besturingselement voor bewerken. |
| CEdit::Ongedaan maken | Hiermee wordt de laatste bewerking voor bewerkingen omgekeerd. |
Opmerkingen
Een besturingselement voor bewerken is een rechthoekig onderliggend venster waarin de gebruiker tekst kan invoeren.
U kunt een besturingselement voor bewerken maken op basis van een dialoogvenstersjabloon of rechtstreeks in uw code. Roep in beide gevallen eerst de constructor CEdit aan om het CEdit object samen te stellen en roep vervolgens de functie Lid maken aan om het Besturingselement bewerken van Windows te maken en deze aan het CEdit object te koppelen.
Constructie kan een proces in één stap zijn in een klasse die is afgeleid van CEdit. Schrijf een constructor voor de afgeleide klasse en roep Create aan vanuit de constructor.
CEdit neemt belangrijke functionaliteit over van CWnd. Als u tekst van een CEdit object wilt instellen en ophalen, gebruikt u de CWnd lidfuncties SetWindowText en GetWindowText, die de volledige inhoud van een besturingselement voor bewerken instellen of ophalen, zelfs als het een besturingselement met meerdere regels is. Tekstregels in een besturingselement met meerdere regels worden gescheiden door tekenreeksen\r\n. Als een besturingselement voor bewerken meerdere regels is, kunt u ook een deel van de tekst van het besturingselement ophalen en instellen door de CEdit lidfuncties GetLine, SetSel, GetSel en ReplaceSel aan te roepen.
Als u Windows-meldingsberichten wilt verwerken die door een besturingselement worden verzonden naar het bovenliggende besturingselement (meestal een klasse afgeleid van CDialog), voegt u voor elk bericht een berichttoewijzingsvermelding en de lidfunctie van de berichtenhandler toe aan de bovenliggende klasse.
Elke berichtkaartvermelding heeft het volgende formulier:
ON_NOTIFICATION(id,memberFxn)
waarbij id de id van het onderliggende venster wordt opgegeven van het besturingselement bewerken dat de melding verzendt en memberFxn de naam is van de bovenliggende lidfunctie die u hebt geschreven om de melding te verwerken.
Het prototype van de functie van de bovenliggende functie is als volgt:
afx_msg void memberFxn ( );
Hieronder volgt een lijst met mogelijke berichtenoverzichtvermeldingen en een beschrijving van de gevallen waarin ze naar het bovenliggende item worden verzonden:
ON_EN_CHANGE De gebruiker heeft een actie ondernomen die mogelijk tekst heeft gewijzigd in een besturingselement voor bewerken. In tegenstelling tot het EN_UPDATE meldingsbericht, wordt dit meldingsbericht verzonden nadat windows de weergave heeft bijgewerkt.
ON_EN_ERRSPACE Het besturingselement bewerken kan onvoldoende geheugen toewijzen om te voldoen aan een specifieke aanvraag.
ON_EN_HSCROLL De gebruiker klikt op de horizontale schuifbalk van een besturingselement. Het bovenliggende venster wordt gewaarschuwd voordat het scherm wordt bijgewerkt.
ON_EN_KILLFOCUS Het bewerkingsbesturingselement verliest de invoerfocus.
ON_EN_MAXTEXT De huidige invoeging heeft het opgegeven aantal tekens voor het besturingselement voor bewerken overschreden en is afgekapt. Ook verzonden wanneer een besturingselement voor bewerken niet de stijl ES_AUTOHSCROLL heeft en het aantal tekens dat moet worden ingevoegd, groter is dan de breedte van het besturingselement bewerken. Ook verzonden wanneer een besturingselement voor bewerken niet de stijl ES_AUTOVSCROLL heeft en het totale aantal regels dat het resultaat is van een tekstinvoeging, de hoogte van het besturingselement voor bewerken overschrijdt.
ON_EN_SETFOCUS Verzonden wanneer een besturingselement voor bewerken de invoerfocus ontvangt.
ON_EN_UPDATE Het besturingselement bewerken staat op het punt om gewijzigde tekst weer te geven. Verzonden nadat het besturingselement de tekst heeft opgemaakt, maar voordat deze de tekst controleert, zodat de venstergrootte indien nodig kan worden gewijzigd.
ON_EN_VSCROLL De gebruiker klikt op de verticale schuifbalk van een besturingselement. Het bovenliggende venster wordt gewaarschuwd voordat het scherm wordt bijgewerkt.
Als u een CEdit object in een dialoogvenster maakt, wordt het CEdit object automatisch vernietigd wanneer de gebruiker het dialoogvenster sluit.
Als u een CEdit object maakt op basis van een dialoogvensterresource met behulp van de dialoogvenstereditor, wordt het CEdit object automatisch vernietigd wanneer de gebruiker het dialoogvenster sluit.
Als u een CEdit object in een venster maakt, moet u het mogelijk ook vernietigen. Als u het CEdit object op de stapel maakt, wordt het automatisch vernietigd. Als u het CEdit object op de heap maakt met behulp van de new functie, moet u het object aanroepen delete om het te vernietigen wanneer de gebruiker het Besturingselement voor Bewerken van Windows beëindigt. Als u geheugen in het CEdit object toewijst, overschrijft u destructor CEdit om de toewijzingen te verwijderen.
Als u bepaalde stijlen in een besturingselement wilt wijzigen (zoals ES_READONLY), moet u specifieke berichten verzenden naar het besturingselement in plaats van ModifyStyle te gebruiken. Zie Besturingselementstijlen bewerken in de Windows SDK.
Zie Besturingselementen voor meer informatie.CEdit
Overnamehiërarchie
CEdit
Requirements
Koptekst: afxwin.h
CEdit::CanUndo
Roep deze functie aan om te bepalen of de laatste bewerking ongedaan kan worden gemaakt.
BOOL CanUndo() const;
Retourwaarde
Niet-nul als de laatste bewerking ongedaan kan worden gemaakt door een aanroep naar de Undo lidfunctie; 0 als deze niet ongedaan kan worden gemaakt.
Opmerkingen
Zie EM_CANUNDO in de Windows SDK voor meer informatie.
Example
Zie het voorbeeld voor CEdit::Undo.
CEdit::CEdit
Maakt een CEdit object.
CEdit();
Opmerkingen
Gebruik Maken om het besturingselement Windows-bewerking samen te stellen.
Example
// Declare a local CEdit object.
CEdit myEdit;
// Declare a dynamic CEdit object.
CEdit *pmyEdit = new CEdit;
CEdit::CharFromPos
Roep deze functie aan om de op nul gebaseerde lijn- en tekenindexen op te halen van het teken dat het dichtst bij het opgegeven punt in dit CEdit besturingselement staat
int CharFromPos(CPoint pt) const;
Parameterwaarden
Pt
De coördinaten van een punt in het clientgebied van dit CEdit object.
Retourwaarde
De tekenindex in word met lage volgorde en de regelindex in word met hoge volgorde.
Opmerkingen
Opmerking
Deze lidfunctie is beschikbaar vanaf Windows 95 en Windows NT 4.0.
Zie EM_CHARFROMPOS in de Windows SDK voor meer informatie.
Example
// 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
Roep deze functie aan om de huidige selectie (indien aanwezig) te verwijderen (indien aanwezig) in het besturingselement bewerken.
void Clear();
Opmerkingen
De verwijdering die wordt Clear uitgevoerd, kan ongedaan worden gemaakt door de functie Lid ongedaan maken aan te roepen.
Als u de huidige selectie wilt verwijderen en de verwijderde inhoud op het Klembord wilt plaatsen, roept u de functie Lid knippen aan.
Zie WM_CLEAR in de Windows SDK voor meer informatie.
Example
// Delete all of the text.
m_myEdit.SetSel(0, -1);
m_myEdit.Clear();
CEdit::Copy
Roep deze functie aan om de huidige selectie (indien aanwezig) in het besturingselement bewerken te koppelen aan het Klembord in CF_TEXT indeling.
void Copy();
Opmerkingen
Zie WM_COPY in de Windows SDK voor meer informatie.
Example
// Copy all of the text to the clipboard.
m_myEdit.SetSel(0, -1);
m_myEdit.Copy();
CEdit::Maken
Hiermee maakt u het besturingselement Bewerken van Windows en koppelt u het aan het CEdit object.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameterwaarden
dwStyle
Hiermee geeft u de stijl van het besturingselement bewerken. Pas een combinatie van bewerkingsstijlen toe op het besturingselement.
Rect
Hiermee geeft u de grootte en positie van het besturingselement bewerken. Dit kan een CRect object of RECT structuur zijn.
pParentWnd
Hiermee geeft u het bovenliggende venster van het besturingselement (meestal een CDialog). Deze mag niet NULL zijn.
nID
Hiermee geeft u de id van het besturingselement bewerken.
Retourwaarde
Niet-nul als initialisatie is geslaagd; anders 0.
Opmerkingen
U maakt een CEdit object in twee stappen. Roep eerst de CEdit constructor aan en roep Createvervolgens het Besturingselement bewerken van Windows aan en koppelt het aan het CEdit object.
Wanneer Create windows wordt uitgevoerd, worden de berichten WM_NCCREATE, WM_NCCALCSIZE, WM_CREATE en WM_GETMINMAXINFO verzonden naar het besturingselement bewerken.
Deze berichten worden standaard verwerkt door de functies OnNcCreate, OnNcCalcSize, OnCreate en OnGetMinMaxInfo in de CWnd basisklasse. Als u de standaardverwerking van CEditberichten wilt uitbreiden, leidt u een klasse af, voegt u een berichttoewijzing toe aan de nieuwe klasse en overschrijft u de bovenstaande berichtenhandlerlidfuncties. Overschrijven OnCreate, bijvoorbeeld om de benodigde initialisatie voor de nieuwe klasse uit te voeren.
Pas de volgende vensterstijlen toe op een besturingselement bewerken.
altijd WS_CHILD
WS_VISIBLE meestal
WS_DISABLED zelden
WS_GROUP Besturingselementen groeperen
WS_TABSTOP Besturingselement bewerken opnemen in de tabvolgorde
Example
// 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::Knippen
Roep deze functie aan om de huidige selectie (indien aanwezig) in het bewerkingsbesturingselement te verwijderen (indien aanwezig) en de verwijderde tekst te kopiëren naar het Klembord in CF_TEXT indeling.
void Cut();
Opmerkingen
De verwijdering die wordt Cut uitgevoerd, kan ongedaan worden gemaakt door de functie Lid ongedaan maken aan te roepen.
Als u de huidige selectie wilt verwijderen zonder de verwijderde tekst in het Klembord te plaatsen, roept u de functie Lid wissen aan.
Zie WM_CUT in de Windows SDK voor meer informatie.
Example
// Delete all of the text and copy it to the clipboard.
m_myEdit.SetSel(0, -1);
m_myEdit.Cut();
CEdit::EmptyUndoBuffer
Roep deze functie aan om de vlag ongedaan maken van een bewerkingsbesturingselement opnieuw in te stellen (wissen).
void EmptyUndoBuffer();
Opmerkingen
Het bewerkingsbesturingselement kan nu de laatste bewerking niet ongedaan maken. De vlag ongedaan maken wordt ingesteld wanneer een bewerking in het bewerkingsbesturingselement ongedaan kan worden gemaakt.
De vlag ongedaan maken wordt automatisch gewist wanneer de functies SetWindowText of SetHandle-lidCWnd worden aangeroepen.
Zie EM_EMPTYUNDOBUFFER in de Windows SDK voor meer informatie.
Example
// Clear the undo buffer.
if (m_myEdit.CanUndo())
{
m_myEdit.EmptyUndoBuffer();
ASSERT(!m_myEdit.CanUndo());
}
CEdit::FmtLines
Roep deze functie aan om het opnemen van vloeiende regeleindetekens in of uit te schakelen binnen een besturingselement voor bewerking met meerdere regels.
BOOL FmtLines(BOOL bAddEOL);
Parameterwaarden
bAddEOL
Hiermee geeft u op of zachte regeleindetekens moeten worden ingevoegd. Met een waarde van TRUE worden de tekens ingevoegd; met de waarde FALSE worden ze verwijderd.
Retourwaarde
Niet-nul als er opmaak optreedt; anders 0.
Opmerkingen
Een zacht regeleinde bestaat uit twee regelterugloopen en een regelinvoer die is ingevoegd aan het einde van een regel die is verbroken vanwege tekstterugloop. Een vaste regeleinde bestaat uit één regelterugloop en een regelinvoer. Regels die eindigen op een vast regeleinde, worden niet beïnvloed door FmtLines.
Windows reageert alleen als het CEdit object een besturingselement met meerdere regels is.
FmtLines is alleen van invloed op de buffer die wordt geretourneerd door GetHandle en de tekst die door WM_GETTEXT wordt geretourneerd. Dit heeft geen invloed op de weergave van de tekst in het besturingselement bewerken.
Zie EM_FMTLINES in de Windows SDK voor meer informatie.
Example
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
Hiermee haalt u de tekst op die wordt weergegeven als teksthint of tip, in een besturingselement bewerken wanneer het besturingselement leeg is.
BOOL GetCueBanner(
LPWSTR lpszText,
int cchText) const;
CString GetCueBanner() const;
Parameterwaarden
lpszText
[uit] Een aanwijzer naar een tekenreeks die de aanwijzingstekst bevat.
cchText
[in] Het aantal tekens dat kan worden ontvangen. Dit getal bevat het afsluitende NULL-teken.
Retourwaarde
Voor de eerste overbelasting GELDT TRUE als de methode is geslaagd; anders ONWAAR.
Voor de tweede overbelasting, een CString die de cue-tekst bevat als de methode is geslaagd; anders, de lege tekenreeks ("").
Opmerkingen
Met deze methode wordt het EM_GETCUEBANNER bericht verzonden, dat wordt beschreven in de Windows SDK. Zie de macro Edit_GetCueBannerText voor meer informatie.
CEdit::GetFirstVisibleLine
Roep deze functie aan om de bovenste zichtbare regel in een besturingselement te bepalen.
int GetFirstVisibleLine() const;
Retourwaarde
De op nul gebaseerde index van de bovenste zichtbare lijn. Voor besturingselementen voor bewerkingen met één regel is de retourwaarde 0.
Opmerkingen
Zie EM_GETFIRSTVISIBLELINE in de Windows SDK voor meer informatie.
Example
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
Roep deze functie aan om een ingang op te halen voor het geheugen dat momenteel is toegewezen voor een besturingselement voor bewerken met meerdere regels.
HLOCAL GetHandle() const;
Retourwaarde
Een lokale geheugengreep die de buffer identificeert die de inhoud van het besturingselement bewerken bevat. Als er een fout optreedt, zoals het verzenden van het bericht naar een besturingselement voor bewerken met één regel, is de retourwaarde 0.
Opmerkingen
De ingang is een lokale geheugengreep en kan worden gebruikt door een van de lokale Windows-geheugenfuncties die een lokale geheugengreep als parameter gebruiken.
GetHandle wordt alleen verwerkt door besturingselementen voor bewerken met meerdere regels.
Aanroepen GetHandle voor een besturingselement voor meerdere regels bewerken in een dialoogvenster alleen als het dialoogvenster is gemaakt met de DS_LOCALEDIT stijlvlag. Als de stijl DS_LOCALEDIT niet is ingesteld, krijgt u nog steeds een niet-nul retourwaarde, maar kunt u de geretourneerde waarde niet gebruiken.
Opmerking
GetHandle werkt niet met Windows 95/98. Als u in Windows 95/98 belt GetHandle , wordt NULL geretourneerd.
GetHandle werkt zoals beschreven in Windows NT, versie 3.51 en hoger.
Zie EM_GETHANDLE in de Windows SDK voor meer informatie.
Example
HLOCAL h = m_myEdit.GetHandle();
LPCTSTR lpszText = (LPCTSTR)::LocalLock(h);
// Dump the text of the edit control.
AFXDUMP(lpszText);
::LocalUnlock(h);
CEdit::GetHighlight
Hiermee haalt u de indexen op van de eerste en laatste tekens in een tekstbereik dat is gemarkeerd in het huidige besturingselement voor bewerken.
BOOL GetHighlight(
int* pichStart,
int* pichEnd) const;
Parameterwaarden
pichStart
[uit] Op nul gebaseerde index van het eerste teken in het tekstbereik dat is gemarkeerd.
pichEnd
[uit] Op nul gebaseerde index van het laatste teken in het tekstbereik dat is gemarkeerd.
Retourwaarde
WAAR als deze methode is geslaagd; anders, ONWAAR.
Opmerkingen
Met deze methode wordt het EM_GETHILITE bericht verzonden, dat wordt beschreven in de Windows SDK. Beide SetHighlight en GetHighlight zijn momenteel alleen ingeschakeld voor UNICODE-builds.
CEdit::GetLimitText
Roep deze lidfunctie aan om de tekstlimiet voor dit CEdit object op te halen.
UINT GetLimitText() const;
Retourwaarde
De huidige tekstlimiet, in TCHARs, voor dit CEdit object.
Opmerkingen
De tekstlimiet is de maximale hoeveelheid tekst, in TCHARs, die het besturingselement bewerken kan accepteren.
Opmerking
Deze lidfunctie is beschikbaar vanaf Windows 95 en Windows NT 4.0.
Zie EM_GETLIMITTEXT in de Windows SDK voor meer informatie.
Example
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
Roep deze functie aan om een tekstregel op te halen uit een besturingselement voor bewerken en deze in lpszBuffer te plaatsen.
int GetLine(
int nIndex,
LPTSTR lpszBuffer) const;
int GetLine(
int nIndex,
LPTSTR lpszBuffer,
int nMaxLength) const;
Parameterwaarden
nIndex
Hiermee geeft u het regelnummer op dat moet worden opgehaald uit een besturingselement voor bewerken met meerdere regels. Regelnummers zijn gebaseerd op nul; een waarde van 0 geeft de eerste regel aan. Deze parameter wordt genegeerd door een besturingselement voor bewerken met één regel.
lpszBuffer
Verwijst naar de buffer die een kopie van de regel ontvangt. Het eerste woord van de buffer moet het maximum aantal TCHA's opgeven dat naar de buffer kan worden gekopieerd.
nMaxLength
Hiermee geeft u het maximum aantal TCHAR-tekens op dat naar de buffer kan worden gekopieerd.
GetLine plaatst deze waarde in het eerste woord van lpszBuffer voordat u de aanroep naar Windows doet.
Retourwaarde
Het aantal tekens dat daadwerkelijk is gekopieerd. De retourwaarde is 0 als het regelnummer dat is opgegeven door nIndex groter is dan het aantal regels in het bewerkingsbesturingselement.
Opmerkingen
De gekopieerde regel bevat geen null-beëindigingsteken.
Zie EM_GETLINE in de Windows SDK voor meer informatie.
Example
Zie het voorbeeld voor CEdit::GetLineCount.
CEdit::GetLineCount
Roep deze functie aan om het aantal regels in een besturingselement met meerdere regels op te halen.
int GetLineCount() const;
Retourwaarde
Een geheel getal met het aantal regels in het besturingselement voor bewerken met meerdere regels. Als er geen tekst is ingevoerd in het besturingselement bewerken, is de retourwaarde 1.
Opmerkingen
GetLineCount wordt alleen verwerkt door besturingselementen voor bewerken met meerdere regels.
Zie EM_GETLINECOUNT in de Windows SDK voor meer informatie.
Example
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
Roep deze lidfunctie aan om de linker- en rechtermarges van dit besturingselement voor bewerken op te halen.
DWORD GetMargins() const;
Retourwaarde
De breedte van de linkermarge in de lage volgorde van WORD en de breedte van de rechtermarge in de hoge volgorde van WORD.
Opmerkingen
Marges worden gemeten in pixels.
Opmerking
Deze lidfunctie is beschikbaar vanaf Windows 95 en Windows NT 4.0.
Zie EM_GETMARGINS in de Windows SDK voor meer informatie.
Example
Zie het voorbeeld voor CEditView::GetEditCtrl.
CEdit::GetModify
Roep deze functie aan om te bepalen of de inhoud van een besturingselement voor bewerken is gewijzigd.
BOOL GetModify() const;
Retourwaarde
Niet-nul als de inhoud van het besturingselement bewerken is gewijzigd; 0 als ze ongewijzigd zijn gebleven.
Opmerkingen
Windows onderhoudt een interne vlag die aangeeft of de inhoud van het besturingselement voor bewerken is gewijzigd. Deze vlag wordt gewist wanneer het bewerkingsbesturingselement voor het eerst wordt gemaakt en kan ook worden gewist door de functie SetModify-lid aan te roepen.
Zie EM_GETMODIFY in de Windows SDK voor meer informatie.
Example
// Reset the modified state only if my edit has been modified.
if (m_myEdit.GetModify())
m_myEdit.SetModify(FALSE);
CEdit::GetPasswordChar
Roep deze functie aan om het wachtwoordteken op te halen dat wordt weergegeven in een besturingselement voor bewerken wanneer de gebruiker tekst invoert.
TCHAR GetPasswordChar() const;
Retourwaarde
Hiermee geeft u het teken dat moet worden weergegeven in plaats van het teken dat de gebruiker heeft getypt. De retourwaarde is NULL als er geen wachtwoordteken bestaat.
Opmerkingen
Als u het besturingselement voor bewerken maakt met de stijl ES_PASSWORD, bepaalt het DLL-bestand dat het standaardwachtwoordteken ondersteunt. Het manifest of de Methode InitCommonControlsEx bepaalt welke DLL het besturingselement bewerken ondersteunt. Als user32.dll het besturingselement bewerken ondersteunt, is het standaardwachtwoord STERRETJE ('*', U+002A). Als comctl32.dll versie 6 het besturingselement bewerken ondersteunt, is het standaardteken BLACK CIRCLE ('●', U+25CF). Zie Shell en Algemene besturingselementen voor meer informatie over welke DLL en versie de algemene besturingselementen ondersteunt.
Met deze methode wordt het EM_GETPASSWORDCHAR bericht verzonden, dat wordt beschreven in de Windows SDK.
Example
// Turn on the password mode.
m_myEdit.SetPasswordChar('*');
ASSERT(m_myEdit.GetStyle() & ES_PASSWORD);
ASSERT(m_myEdit.GetPasswordChar() == '*');
CEdit::GetRect
Roep deze functie aan om de opmaakrechthoek van een besturingselement voor bewerken op te halen.
void GetRect(LPRECT lpRect) const;
Parameterwaarden
lpRect
Verwijst naar de RECT structuur die de opmaakrechthoek ontvangt.
Opmerkingen
De opmaakrechthoek is de begrenzingsrechthoek van de tekst, die onafhankelijk is van de grootte van het besturingselementvenster voor bewerken.
De opmaakrechthoek van een besturingselement voor bewerken met meerdere regels kan worden gewijzigd door de functies SetRect en SetRectNP-lid .
Zie EM_GETRECT in de Windows SDK voor meer informatie.
Example
Zie het voorbeeld voor CEdit::LimitText.
CEdit::GetSel
Roep deze functie aan om de begin- en eindtekenposities van de huidige selectie (indien aanwezig) op te halen in een bewerkingsbesturingselement, met behulp van de retourwaarde of de parameters.
DWORD GetSel() const;
void GetSel(
int& nStartChar,
int& nEndChar) const;
Parameterwaarden
nStartChar
Verwijzing naar een geheel getal dat de positie van het eerste teken in de huidige selectie ontvangt.
nEndChar
Verwijzing naar een geheel getal dat de positie van het eerste niet-geselecteerde teken voorbij het einde van de huidige selectie ontvangt.
Retourwaarde
De versie die een DWORD retourneert, retourneert een waarde die de beginpositie in het woord met lage volgorde bevat en de positie van het eerste niet-geselecteerde teken na het einde van de selectie in het woord in hoge volgorde.
Opmerkingen
Zie EM_GETSEL in de Windows SDK voor meer informatie.
Example
// Set the selection to be all characters after the current selection.
DWORD dwSel = m_myEdit.GetSel();
m_myEdit.SetSel(HIWORD(dwSel), -1);
CEdit::HideBalloonTip
Hiermee verbergt u een ballontip die is gekoppeld aan het huidige bewerkingsbesturingselement.
BOOL HideBalloonTip();
Retourwaarde
WAAR als deze methode is geslaagd; anders, ONWAAR.
Opmerkingen
Met deze functie wordt het EM_HIDEBALLOONTIP bericht verzonden, dat wordt beschreven in de Windows SDK.
CEdit::LimitText
Roep deze functie aan om de lengte te beperken van de tekst die de gebruiker kan invoeren in een besturingselement bewerken.
void LimitText(int nChars = 0);
Parameterwaarden
nChars
Hiermee geeft u de lengte (in TCHARs) van de tekst die de gebruiker kan invoeren. Als deze parameter 0 is, wordt de tekstlengte ingesteld op UINT_MAX bytes. Dit is het standaardgedrag.
Opmerkingen
Als u de tekstlimiet wijzigt, beperkt u alleen de tekst die de gebruiker kan invoeren. Het heeft geen effect op tekst die al in het bewerkingsbesturingselement staat en heeft ook geen invloed op de lengte van de tekst die is gekopieerd naar het bewerkingsbesturingselement door de functie SetWindowText-lid in CWnd. Als een toepassing de SetWindowText functie gebruikt om meer tekst in een besturingselement te plaatsen dan is opgegeven in de aanroep LimitText, kan de gebruiker een van de tekst in het besturingselement bewerken verwijderen. De tekstlimiet voorkomt echter dat de gebruiker de bestaande tekst vervangt door nieuwe tekst, tenzij het verwijderen van de huidige selectie ervoor zorgt dat de tekst onder de tekstlimiet valt.
Opmerking
In Win32 (Windows NT en Windows 95/98) vervangt SetLimitText deze functie.
Zie EM_LIMITTEXT in de Windows SDK voor meer informatie.
Example
// 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
Roep deze functie aan om het regelnummer op te halen van de regel die de opgegeven tekenindex bevat.
int LineFromChar(int nIndex = -1) const;
Parameterwaarden
nIndex
Bevat de indexwaarde op basis van nul voor het gewenste teken in de tekst van het besturingselement bewerken of bevat -1. Als nIndex -1 is, wordt de huidige lijn opgegeven, dat wil gezegd, de lijn die de caret bevat.
Retourwaarde
Het regelnummer op basis van nul van de regel met de tekenindex die is opgegeven door nIndex. Als nIndex -1 is, wordt het nummer van de regel met het eerste teken van de selectie geretourneerd. Als er geen selectie is, wordt het huidige regelnummer geretourneerd.
Opmerkingen
Een tekenindex is het aantal tekens vanaf het begin van het besturingselement bewerken.
Deze lidfunctie wordt alleen gebruikt door besturingselementen voor bewerken met meerdere regels.
Zie EM_LINEFROMCHAR in de Windows SDK voor meer informatie.
Example
// 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
Roep deze functie aan om de tekenindex van een regel op te halen binnen een besturingselement voor bewerken met meerdere regels.
int LineIndex(int nLine = -1) const;
Parameterwaarden
nLine
Bevat de indexwaarde voor de gewenste regel in de tekst van het besturingselement bewerken of bevat -1. Als nLine -1 is, geeft deze de huidige lijn op, dat wil gezegd, de lijn die de caret bevat.
Retourwaarde
De tekenindex van de regel die is opgegeven in nLine of -1 als het opgegeven regelnummer groter is dan het aantal regels in het besturingselement bewerken.
Opmerkingen
De tekenindex is het aantal tekens vanaf het begin van het bewerkingsbesturingselement tot de opgegeven regel.
Deze lidfunctie wordt alleen verwerkt door besturingselementen voor bewerken met meerdere regels.
Zie EM_LINEINDEX in de Windows SDK voor meer informatie.
Example
// 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
Hiermee wordt de lengte van een regel in een besturingselement voor bewerken opgehaald.
int LineLength(int nLine = -1) const;
Parameterwaarden
nLine
De op nul gebaseerde index van een teken in de regel waarvan de lengte moet worden opgehaald. De standaardwaarde is 1.
Retourwaarde
Voor besturingselementen voor bewerkingen met één regel is de retourwaarde de lengte, in TCHAR's, van de tekst in het besturingselement bewerken.
Voor besturingselementen voor bewerken met meerdere regels is de retourwaarde de lengte, in TCHAR's, van de regel die is opgegeven door de parameter nLine . Voor ANSI-tekst is de lengte het aantal bytes in de regel; voor Unicode-tekst is de lengte het aantal tekens in de regel. De lengte bevat niet het teken voor regelterugloop aan het einde van de regel.
Als de parameter nLine meer is dan het aantal tekens in het besturingselement, is de retourwaarde nul.
Als de parameter nLine -1 is, is de retourwaarde het aantal niet-geselecteerde tekens in de regels die geselecteerde tekens bevatten. Als de selectie bijvoorbeeld uitbreidt van het vierde teken van één regel tot het achtste teken vanaf het einde van de volgende regel, is de retourwaarde 10. Dat wil gezegd: drie tekens op de eerste regel en zeven op de volgende.
Zie de TCHAR-rij in de tabel in Windows-gegevenstypen voor meer informatie over het TCHAR-type.
Opmerkingen
Deze methode wordt ondersteund door het EM_LINELENGTH bericht, dat wordt beschreven in de Windows SDK.
Example
Zie het voorbeeld voor CEdit::LineIndex.
CEdit::LineScroll
Roep deze functie aan om de tekst van een besturingselement met meerdere regels te schuiven.
void LineScroll(
int nLines,
int nChars = 0);
Parameterwaarden
nLines
Hiermee geeft u het aantal regels op om verticaal te schuiven.
nChars
Hiermee geeft u het aantal tekenposities om horizontaal te schuiven. Deze waarde wordt genegeerd als het besturingselement voor bewerken de stijl ES_RIGHT of ES_CENTER heeft.
Opmerkingen
Deze lidfunctie wordt alleen verwerkt door besturingselementen voor bewerken met meerdere regels.
Het besturingselement bewerken schuift niet verticaal voorbij de laatste tekstregel in het besturingselement bewerken. Als de huidige regel plus het aantal regels dat is opgegeven door nLines het totale aantal regels in het bewerkingsbesturingselement overschrijdt, wordt de waarde zodanig aangepast dat de laatste regel van het besturingselement voor bewerken naar de bovenkant van het besturingselement voor bewerken wordt geschoven.
LineScroll kan worden gebruikt om horizontaal voorbij het laatste teken van een willekeurige regel te schuiven.
Zie EM_LINESCROLL in de Windows SDK voor meer informatie.
Example
Zie het voorbeeld voor CEdit::GetFirstVisibleLine.
CEdit::P aste
Roep deze functie aan om de gegevens van het Klembord in te voegen in de CEdit invoegpositie.
void Paste();
Opmerkingen
Gegevens worden alleen ingevoegd als het Klembord gegevens bevat in CF_TEXT indeling.
Zie WM_PASTE in de Windows SDK voor meer informatie.
Example
// Replace all of the text with the text in the clipboard.
m_myEdit.SetSel(0, -1);
m_myEdit.Paste();
CEdit::P osFromChar
Roep deze functie aan om de positie (linkerbovenhoek) van een bepaald teken in dit CEdit object op te halen.
CPoint PosFromChar(UINT nChar) const;
Parameterwaarden
Nchar
De op nul gebaseerde index van het opgegeven teken.
Retourwaarde
De coördinaten van de linkerbovenhoek van het teken dat is opgegeven door nChar.
Opmerkingen
Het teken wordt opgegeven door de indexwaarde op basis van nul te geven. Als nChar groter is dan de index van het laatste teken in dit CEdit object, geeft de retourwaarde de coördinaten op van de tekenpositie net voorbij het laatste teken in dit CEdit object.
Opmerking
Deze lidfunctie is beschikbaar vanaf Windows 95 en Windows NT 4.0.
Zie EM_POSFROMCHAR in de Windows SDK voor meer informatie.
Example
Zie het voorbeeld voor CEdit::LineFromChar.
CEdit::ReplaceSel
Roep deze functie aan om de huidige selectie in een besturingselement te vervangen door de tekst die is opgegeven door lpszNewText.
void ReplaceSel(LPCTSTR lpszNewText, BOOL bCanUndo = FALSE);
Parameterwaarden
lpszNewText
Verwijst naar een door null beëindigde tekenreeks die de vervangende tekst bevat.
bCanUndo
Als u wilt opgeven dat deze functie ongedaan kan worden gemaakt, stelt u de waarde van deze parameter in op TRUE. De standaardwaarde is FALSE.
Opmerkingen
Hiermee wordt slechts een deel van de tekst in een besturingselement voor bewerken vervangen. Als u alle tekst wilt vervangen, gebruikt u de functie CWnd::SetWindowText member .
Als er geen huidige selectie is, wordt de vervangende tekst ingevoegd op de huidige cursorlocatie.
Zie EM_REPLACESEL in de Windows SDK voor meer informatie.
Example
Zie het voorbeeld voor CEdit::LineIndex.
CEdit::SetCueBanner
Hiermee stelt u de tekst in die wordt weergegeven als teksthint of tip in een bewerkingsbesturingselement wanneer het besturingselement leeg is.
BOOL SetCueBanner(LPCWSTR lpszText);
BOOL SetCueBanner(
LPCWSTR lpszText,
BOOL fDrawWhenFocused = FALSE);
Parameterwaarden
lpszText
[in] Wijs een tekenreeks aan die de aanwijzing bevat die moet worden weergegeven in het besturingselement bewerken.
fDrawWhenFocused
[in] Als ONWAAR is, wordt de aanwijzingsbanner niet getekend wanneer de gebruiker in het besturingselement bewerken klikt en het besturingselement de focus krijgt.
Als WAAR is, wordt de aanwijzingsbanner getekend, zelfs wanneer het besturingselement de focus heeft. De aanwijzingsbanner verdwijnt wanneer de gebruiker begint te typen in het besturingselement.
De standaardwaarde is FALSE.
Retourwaarde
WAAR als de methode is geslaagd; anders ONWAAR.
Opmerkingen
Met deze methode wordt het EM_SETCUEBANNER bericht verzonden, dat wordt beschreven in de Windows SDK. Zie de macro Edit_SetCueBannerTextFocused voor meer informatie.
Example
In het volgende voorbeeld ziet u de methode CEdit::SetCueBanner .
m_cedit.SetCueBanner(_T("First, enter text here..."), TRUE);
CEdit::SetHandle
Roep deze functie aan om de ingang in te stellen op het lokale geheugen dat wordt gebruikt door een besturingselement voor meerdere regels bewerken.
void SetHandle(HLOCAL hBuffer);
Parameterwaarden
hBuffer
Bevat een ingang voor het lokale geheugen. Deze ingang moet zijn gemaakt door een eerdere aanroep naar de functie LocalAlloc Windows met behulp van de vlag LMEM_MOVEABLE. Het geheugen wordt verondersteld een tekenreeks met null-beëindiging te bevatten. Als dit niet het geval is, moet de eerste byte van het toegewezen geheugen worden ingesteld op 0.
Opmerkingen
Het bewerkingsbesturingselement gebruikt deze buffer vervolgens om de momenteel weergegeven tekst op te slaan in plaats van een eigen buffer toe te wijzen.
Deze lidfunctie wordt alleen verwerkt door besturingselementen voor bewerken met meerdere regels.
Voordat een toepassing een nieuwe geheugengreep instelt, moet deze de functie GetHandle-lid gebruiken om de ingang naar de huidige geheugenbuffer te krijgen en dat geheugen vrij te maken met behulp van de LocalFree Windows-functie.
SetHandle wist de buffer ongedaan maken (de functie CanUndo-lid retourneert vervolgens 0) en de interne wijzigingsvlag (de functie GetModify-lid retourneert vervolgens 0). Het besturingselementvenster wordt opnieuw getekend.
U kunt deze lidfunctie alleen gebruiken in een besturingselement voor bewerken met meerdere regels in een dialoogvenster als u het dialoogvenster hebt gemaakt met de DS_LOCALEDIT stijlvlag.
Opmerking
GetHandle werkt niet met Windows 95/98. Als u in Windows 95/98 belt GetHandle , wordt NULL geretourneerd.
GetHandle werkt zoals beschreven in Windows NT, versie 3.51 en hoger.
Zie EM_SETHANDLE, LocalAlloc en LocalFree in de Windows SDK voor meer informatie.
Example
// 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
Hiermee wordt een tekstbereik gemarkeerd dat wordt weergegeven in het huidige besturingselement voor bewerken.
void SetHighlight(
int ichStart,
int ichEnd);
Parameterwaarden
ichStart
[in] Op nul gebaseerde index van het eerste teken in het tekstbereik dat moet worden gemarkeerd.
ichEnd
[in] Op nul gebaseerde index van het laatste teken in het tekstbereik dat moet worden gemarkeerd.
Opmerkingen
Met deze methode wordt het EM_SETHILITE bericht verzonden, dat wordt beschreven in de Windows SDK. Met deze methode wordt het EM_SETHILITE bericht verzonden, dat wordt beschreven in de Windows SDK. Beide SetHighlight en GetHighlight zijn alleen ingeschakeld voor UNICODE-builds.
CEdit::SetLimitText
Roep deze lidfunctie aan om de tekstlimiet voor dit CEdit object in te stellen.
void SetLimitText(UINT nMax);
Parameterwaarden
nMax
De nieuwe tekstlimiet, in tekens.
Opmerkingen
De tekstlimiet is de maximale hoeveelheid tekst, in tekens, die het besturingselement bewerken kan accepteren.
Als u de tekstlimiet wijzigt, beperkt u alleen de tekst die de gebruiker kan invoeren. Het heeft geen effect op tekst die al in het bewerkingsbesturingselement staat en heeft ook geen invloed op de lengte van de tekst die is gekopieerd naar het bewerkingsbesturingselement door de functie SetWindowText-lid in CWnd. Als een toepassing de SetWindowText functie gebruikt om meer tekst in een besturingselement te plaatsen dan is opgegeven in de aanroep LimitText, kan de gebruiker een van de tekst in het besturingselement bewerken verwijderen. De tekstlimiet voorkomt echter dat de gebruiker de bestaande tekst vervangt door nieuwe tekst, tenzij het verwijderen van de huidige selectie ervoor zorgt dat de tekst onder de tekstlimiet valt.
Deze functie vervangt LimitText in Win32.
Zie EM_SETLIMITTEXT in de Windows SDK voor meer informatie.
Example
Zie het voorbeeld voor CEditView::GetEditCtrl.
CEdit::SetMargins
Roep deze methode aan om de linker- en rechtermarges van dit bewerkingsbesturingselement in te stellen.
void SetMargins(
UINT nLeft,
UINT nRight);
Parameterwaarden
nLeft
De breedte van de nieuwe linkermarge, in pixels.
nRight
De breedte van de nieuwe rechtermarge, in pixels.
Opmerkingen
Opmerking
Deze lidfunctie is beschikbaar vanaf Windows 95 en Windows NT 4.0.
Zie EM_SETMARGINS in de Windows SDK voor meer informatie.
Example
Zie het voorbeeld voor CEditView::GetEditCtrl.
CEdit::SetModify
Roep deze functie aan om de gewijzigde vlag voor een besturingselement bewerken in of uit te schakelen.
void SetModify(BOOL bModified = TRUE);
Parameterwaarden
bModified
Een waarde van TRUE geeft aan dat de tekst is gewijzigd en een waarde onwaar aangeeft dat deze ongewijzigd is. De gewijzigde vlag is standaard ingesteld.
Opmerkingen
De gewijzigde vlag geeft aan of de tekst in het besturingselement bewerken al dan niet is gewijzigd. Deze wordt automatisch ingesteld wanneer de gebruiker de tekst wijzigt. De waarde ervan kan worden opgehaald met de functie GetModify-lid .
Zie EM_SETMODIFY in de Windows SDK voor meer informatie.
Example
Zie het voorbeeld voor CEdit::GetModify.
CEdit::SetPasswordChar
Roep deze functie aan om een wachtwoordteken in te stellen of te verwijderen dat wordt weergegeven in een bewerkingsbesturingselement wanneer de gebruiker tekst typt.
void SetPasswordChar(TCHAR ch);
Parameterwaarden
Ch
Hiermee geeft u het teken op dat moet worden weergegeven in plaats van het teken dat door de gebruiker is getypt. Als ch 0 is, worden de werkelijke tekens weergegeven die door de gebruiker zijn getypt.
Opmerkingen
Wanneer een wachtwoordteken is ingesteld, wordt dat teken weergegeven voor elk teken dat de gebruiker typt.
Deze lidfunctie heeft geen effect op een besturingselement voor meerdere regels bewerken.
Wanneer de SetPasswordChar lidfunctie wordt aangeroepen, CEdit worden alle zichtbare tekens opnieuw getekend met behulp van het teken dat is opgegeven door ch.
Als het besturingselement voor bewerken wordt gemaakt met de stijl ES_PASSWORD , wordt het standaardwachtwoordteken ingesteld op een sterretje ( *). Deze stijl wordt verwijderd als SetPasswordChar wordt aangeroepen met ch ingesteld op 0.
Zie EM_SETPASSWORDCHAR in de Windows SDK voor meer informatie.
Example
// Turn off the password mode.
m_myEdit.SetPasswordChar(0);
ASSERT(!(m_myEdit.GetStyle() & ES_PASSWORD));
CEdit::SetReadOnly
Roept deze functie aan om de alleen-lezenstatus van een besturingselement voor bewerken in te stellen.
BOOL SetReadOnly(BOOL bReadOnly = TRUE);
Parameterwaarden
bReadOnly
Hiermee geeft u op of de status Alleen-lezen van het besturingselement bewerken moet worden ingesteld of verwijderd. Een waarde van TRUE stelt de status in op alleen-lezen; een waarde van FALSE stelt de status in op lezen/schrijven.
Retourwaarde
Niet-nul als de bewerking is geslaagd of 0 als er een fout optreedt.
Opmerkingen
De huidige instelling vindt u door de vlag ES_READONLY te testen in de retourwaarde van CWnd::GetStyle.
Zie EM_SETREADONLY in de Windows SDK voor meer informatie.
Example
// Set the edit control to be read-only.
m_myEdit.SetReadOnly(TRUE);
ASSERT(m_myEdit.GetStyle() & ES_READONLY);
CEdit::SetRect
Roep deze functie aan om de afmetingen van een rechthoek in te stellen met behulp van de opgegeven coördinaten.
void SetRect(LPCRECT lpRect);
Parameterwaarden
lpRect
Verwijst naar de RECT structuur of CRect het object dat de nieuwe dimensies van de rechthoek met opmaak aangeeft.
Opmerkingen
Dit lid wordt alleen verwerkt door besturingselementen voor bewerken met meerdere regels.
Hiermee SetRect stelt u de opmaakrechthoek van een besturingselement voor meerdere regels bewerken in. De opmaakrechthoek is de begrenzingsrechthoek van de tekst, die onafhankelijk is van de grootte van het besturingselementvenster voor bewerken. Wanneer het bewerkingsbesturingselement voor het eerst wordt gemaakt, is de rechthoek met opmaak hetzelfde als het clientgebied van het venster besturingselement bewerken. Met behulp van de SetRect lidfunctie kan een toepassing de opmaakrechthoek groter of kleiner maken dan het besturingselementvenster bewerken.
Als het besturingselement voor bewerken geen schuifbalk heeft, wordt tekst geknipt, niet verpakt als de opmaakrechthoek groter is dan het venster. Als het besturingselement voor bewerken een rand bevat, wordt de opmaakrechthoek verkleind door de grootte van de rand. Als u de rechthoek die wordt geretourneerd door de GetRect lidfunctie aanpast, moet u de grootte van de rand verwijderen voordat u de rechthoek doorgeeft aan SetRect.
Wanneer SetRect wordt aangeroepen, wordt de tekst van het besturingselement ook opnieuw opgemaakt en opnieuw weergegeven.
Zie EM_SETRECT in de Windows SDK voor meer informatie.
Example
// 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
Roep deze functie aan om de opmaakrechthoek van een besturingselement voor bewerken met meerdere regels in te stellen.
void SetRectNP(LPCRECT lpRect);
Parameterwaarden
lpRect
Verwijst naar een RECT structuur of CRect object dat de nieuwe dimensies van de rechthoek aangeeft.
Opmerkingen
De opmaakrechthoek is de begrenzingsrechthoek van de tekst, die onafhankelijk is van de grootte van het besturingselementvenster voor bewerken.
SetRectNP is identiek aan de SetRect lidfunctie, behalve dat het bewerkingsbesturingselementvenster niet opnieuw wordt getekend.
Wanneer het bewerkingsbesturingselement voor het eerst wordt gemaakt, is de rechthoek met opmaak hetzelfde als het clientgebied van het venster besturingselement bewerken. Door de SetRectNP lidfunctie aan te roepen, kan een toepassing de opmaakrechthoek groter of kleiner maken dan het besturingselementvenster bewerken.
Als het besturingselement voor bewerken geen schuifbalk heeft, wordt tekst geknipt, niet verpakt als de opmaakrechthoek groter is dan het venster.
Dit lid wordt alleen verwerkt door besturingselementen voor bewerken met meerdere regels.
Zie EM_SETRECTNP in de Windows SDK voor meer informatie.
Example
Zie het voorbeeld voor CEdit::SetRect.
CEdit::SetSel
Roep deze functie aan om een bereik van tekens te selecteren in een besturingselement voor bewerken.
void SetSel(
DWORD dwSelection,
BOOL bNoScroll = FALSE);
void SetSel(
int nStartChar,
int nEndChar,
BOOL bNoScroll = FALSE);
Parameterwaarden
dwSelection
Hiermee geeft u de beginpositie in het woord met lage volgorde en de eindpositie in het woord in hoge volgorde op. Als het woord met lage volgorde 0 is en het woord in hoge volgorde -1 is, wordt alle tekst in het besturingselement bewerken geselecteerd. Als het woord met lage volgorde -1 is, wordt een huidige selectie verwijderd.
bNoScroll
Hiermee wordt aangegeven of de caret in beeld moet worden geschoven. Als ONWAAR, wordt de caret in beeld geschoven. Als WAAR is, wordt de caret niet in beeld geschoven.
nStartChar
Hiermee geeft u de beginpositie. Als nStartChar 0 is en nEndChar -1 is, wordt alle tekst in het besturingselement bewerken geselecteerd. Als nStartChar -1 is, wordt een huidige selectie verwijderd.
nEndChar
Hiermee geeft u de eindpositie.
Opmerkingen
Zie EM_SETSEL in de Windows SDK voor meer informatie.
Example
Zie het voorbeeld voor CEdit::GetSel.
CEdit::SetTabStops
Roep deze functie aan om de tabstops in te stellen in een besturingselement voor bewerken met meerdere regels.
void SetTabStops();
BOOL SetTabStops(const int& cxEachStop);
BOOL SetTabStops(
int nTabStops,
LPINT rgTabStops);
Parameterwaarden
cxEachStop
Hiermee geeft u op dat tabstops moeten worden ingesteld bij elke cxEachStop-dialoogvensters .
nTabStops
Hiermee geeft u het aantal tabstops in rgTabStops. Dit getal moet groter zijn dan 1.
rgTabStops
Verwijst naar een matrix met niet-ondertekende gehele getallen waarmee de tabstops in dialoogvensters worden opgegeven. Een dialoogvenstereenheid is een horizontale of verticale afstand. Eén horizontale dialoogvenstereenheid is gelijk aan een vierde van de huidige eenheid voor de basisbreedte van het dialoogvenster en 1 verticale dialoogvenstereenheid is gelijk aan één-achtste van de huidige basishoogteeenheid van het dialoogvenster. De dialoogvensterbasiseenheden worden berekend op basis van de hoogte en breedte van het huidige systeemlettertype. De GetDialogBaseUnits Windows-functie retourneert de huidige dialoogvensterbasiseenheden in pixels.
Retourwaarde
Niet-nul als de tabbladen zijn ingesteld; anders 0.
Opmerkingen
Wanneer tekst naar een besturingselement met meerdere regels wordt gekopieerd, zorgt een tabteken in de tekst ervoor dat er ruimte wordt gegenereerd tot aan de volgende tabstop.
Als u tabstops wilt instellen op de standaardgrootte van 32 dialoogvensters, roept u de parameterloze versie van deze lidfunctie aan. Als u tabstops wilt instellen op een andere grootte dan 32, roept u de versie aan met de parameter cxEachStop . Als u tabstops wilt instellen op een matrix met grootten, gebruikt u de versie met twee parameters.
Deze lidfunctie wordt alleen verwerkt door besturingselementen voor bewerken met meerdere regels.
SetTabStops het bewerkingsvenster wordt niet automatisch opnieuw getekend. Als u de tabstops wijzigt voor tekst die al in het bewerkbesturingselement staat, roept u CWnd::InvalidateRect aan om het bewerkingsvenster opnieuw te tekenen.
Zie EM_SETTABSTOPS en GetDialogBaseUnits in de Windows SDK voor meer informatie.
Example
Zie het voorbeeld voor CEditView::SetTabStops.
CEdit::ShowBalloonTip
Geeft een ballontip weer die is gekoppeld aan het huidige besturingselement voor bewerken.
BOOL ShowBalloonTip(PEDITBALLOONTIP pEditBalloonTip);
BOOL ShowBalloonTip(
LPCWSTR lpszTitle,
LPCWSTR lpszText,
INT ttiIcon = TTI_NONE);
Parameterwaarden
pEditBalloonTip
[in] Wijs een EDITBALLOONTIP-structuur aan die de ballontip beschrijft.
lpszTitle
[in] Wijs een Unicode-tekenreeks aan die de titel van de ballontip bevat.
lpszText
[in] Wijs een Unicode-tekenreeks aan die de tekst van de ballontip bevat.
ttiIcon
[in] Een INT die het type pictogram aangeeft dat moet worden gekoppeld aan de ballontip. De standaardwaarde is TTI_NONE. Zie het ttiIcon lid van de structuur EDITBALLOONTIP voor meer informatie.
Retourwaarde
WAAR als deze methode is geslaagd; anders, ONWAAR.
Opmerkingen
Met deze functie wordt het EM_SHOWBALLOONTIP bericht verzonden, dat wordt beschreven in de Windows SDK. Zie de macro Edit_ShowBalloonTip voor meer informatie.
Example
In het eerste codevoorbeeld wordt een variabele gedefinieerd, m_ceditdie wordt gebruikt voor toegang tot het huidige besturingselement voor bewerken. Deze variabele wordt gebruikt in het volgende voorbeeld.
public:
// Variable to access the edit control.
CEdit m_cedit;
In het volgende codevoorbeeld wordt een ballontip weergegeven voor een bewerkingsbesturingselement. De methode CEdit::ShowBalloonTip geeft een titel- en ballontiptekst op.
m_cedit.ShowBalloonTip(
_T("CEdit Balloon Tip"), // title
_T("Here's a tip!"), // text
TTI_INFO);
CEdit::Ongedaan maken
Roep deze functie aan om de laatste bewerking voor bewerkingen ongedaan te maken.
BOOL Undo();
Retourwaarde
Voor een besturingselement voor bewerking met één regel is de retourwaarde altijd niet-nul. Voor een besturingselement voor bewerking met meerdere regels is de retourwaarde nietzero als de bewerking ongedaan maken is geslaagd of 0 als de bewerking ongedaan maken mislukt.
Opmerkingen
Een ongedaan maken kan ook ongedaan worden gemaakt. U kunt bijvoorbeeld verwijderde tekst herstellen met de eerste aanroep naar Undo. Zolang er geen tussenliggende bewerking is, kunt u de tekst opnieuw verwijderen met een tweede aanroep naar Undo.
Zie EM_UNDO in de Windows SDK voor meer informatie.
Example
// Undo the last operation, if possible.
if (m_myEdit.CanUndo())
m_myEdit.Undo();
Zie ook
MFC-voorbeeld CALCDRIV
MFC-voorbeeld CMNCTRL2
CWnd-klasse
Hiërarchiegrafiek
CWnd-klasse
CButton-klasse
CComboBox-klasse
CListBox-klasse
CScrollBar-klasse
CStatic-klasse
CDialog-klasse