CEdit sınıfının üye fonksiyonları edit box kontrolüne EM_XXX mesajları göndererek işlemlerini yapar.
CEdit::GetLine FonksiyonuBu fonksiyon EM_GETLINE mesajını edit kontrolüne göndererek belirli bir satırdaki yazıyı elde eder. GetLine fonksiyonunun iki biçimi vardır:
int CEdit::GetLine(int nIndex, LPTSTR lpszBuffer) const;
int CEdit::GetLine(int nIndex, LPTSTR lpszBuffer, int nMaxLength) const;
Her iki fonksiyon da NULL karakteri dizinin sonuna eklemez. Her iki fonksiyonun da geri dönüş değeri buffer’a yerleştirilen karakter sayısıdır. Fonksiyonların ilk parametresi hangi satırdaki yazının alınacağını belirtir. Tek satırlı edit kontrolü için bu parametre ihmal edilebilir. API programlamada bu işlem tipik olarak şöyle yapılmaktadır:
*(WORD *)buf = n;
count = SendMessage(hEdit, EM_GETLINE, line, (LONG)buf);
buf[count] = ‘\0′;
Görüldüğü gibi yazının çekileceği dizinin ilk WORD elemanı dizi uzunluğunu içermektedir. CEdit::GetLine fonksiyonunun ikinci biçiminde bu otomatik olarak yapılır. Bu durumda örneğin edit box içerisindeki satır şöyle elde edilebilir:
char buf[SIZE];
int n;
n = pEdit->GetLine(0, buf, SIZE - 1);
buf[n] = ‘\0′;
Edit kontrolü içerisindeki yazının tümü GetWindowText API fonksiyonuyla alınabilir. Bu API fonksiyonunun CWnd::GetWindowText biçimi de vardır. Anımsanacağı gibi GetWindowText API fonksiyonu şöyledir:
int CWnd::GetWindowText(HWND hWnd, LPTSTR lpstring, int nMaxCount);
CWnd::GetWindowText ise şöyledir:
int CWnd::GetWindowText(LPTSTR lpszStringBuf, int nMaxCount) const;
Bu durumda edit box içerisindeki tüm yazı şöyle alınabilir:
char buf[SIZE];
pEdit->GetWindowText(buf, SIZE - 1);
