Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir uygulama, zengin düzenleme denetimindeki metinleri almak veya bulmak için iletiler gönderebilir. Seçili metni veya belirtilen metin aralığını alabilirsiniz.
Seçili metni zengin düzenleme denetiminde almak için EM_GETSELTEXT iletisini kullanın. Metin belirtilen karakter dizisine kopyalanır. Dizinin seçili metni ve sonlandırıcı null karakteri tutacak kadar büyük olduğundan emin olmanız gerekir.
Belirtilen metin aralığını almak için EM_GETTEXTRANGE iletisini kullanın. Bu iletiyle birlikte kullanılan TEXTRANGE yapısı, alınacak metin aralığını belirtir ve metni alan bir karakter dizisine işaret eder. Burada da uygulamanın dizinin belirtilen metin için yeterince büyük olduğundan ve sonlandırıcı bir null karakter olduğundan emin olması gerekir.
EM_FINDTEXT veya EM_FINDTEXTEX iletilerini ya da bunların Unicode eşdeğerlerini EM_FINDTEXTW ve EM_FINDTEXTEXWkullanarak zengin düzenleme denetimindeki bir dizeyi arayabilirsiniz. Var olmayan sürümlerle kullanılan FINDTEXT yapısı, aranacak metin aralığını ve aranacak dizeyi belirtir. Genişletilmiş sürümler, aynı bilgileri belirten ve bulunan metnin karakter aralığının başlangıç ve bitiş noktalarını da alan FINDTEXTEX yapısı kullanır. Arama işleminin büyük/küçük harfe duyarlı olup olmadığı gibi seçenekleri de belirtebilirsiniz.
Bilmeniz gerekenler
Teknolojileri
Önkoşullar
- C/C++
- Windows Kullanıcı Arabirimi Programlama
Talimatlar
Zengin Metin Düzenleme İşlemi Kullanma
Aşağıdaki örnek işlev, Unicode destekleyen zengin bir düzenleme denetiminde seçili metin içinde belirtilen metni bulur. Hedef bulunursa yeni seçim olur.
BOOL FindTextInSelection(HWND hRich, WCHAR* target)
{
CHARRANGE selectionRange;
SendMessage(hRich, EM_EXGETSEL, 0, (LPARAM)&selectionRange);
FINDTEXTEX ftex;
ftex.lpstrText = target;
ftex.chrg.cpMin = selectionRange.cpMin;
ftex.chrg.cpMax = selectionRange.cpMax;
LRESULT lr = SendMessage(hRich, EM_FINDTEXTEXW, (WPARAM)FR_DOWN, (LPARAM) &ftex);
if (lr >= 0)
{
LRESULT lr1 = SendMessage(hRich, EM_EXSETSEL, 0, (LPARAM)&ftex.chrgText);
SendMessage(hRich, EM_HIDESELECTION, (LPARAM)FALSE, 0);
return TRUE;
}
return FALSE;
}
Açıklamalar
Microsoft Rich Edit 3.0, bir kullanıcının kısayol tuşlarını kullanarak onaltılık ve Unicode arasında dönüştürme yapmasına olanak tanıyan HexToUnicode Giriş Yöntemi Düzenleyicisi (IME) işlevini de destekler. Daha fazla bilgi için bkz. HexToUnicode IME .
İlgili konular