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.
Zengin düzenleme denetimine veya dışına veri aktarmak için akışları kullanabilirsiniz. Akış, belirli bir arabelleği ve uygulama tanımlı bir geri çağırma fonksiyonunu belirten BIR EDITSTREAM yapısı tarafından tanımlanır.
Verileri zengin bir düzenleme denetimine okumak (yani, verileri içeri akıtmak) için EM_STREAMIN iletisini kullanın. Denetim, tekrar tekrar uygulamanın geri çağırma işlevini çağırır, bu işlev her seferinde verilerin bir bölümünü arabelleğe aktarır.
Zengin bir düzenleme denetiminin içeriğini kaydetmek (yani verilerin akışını yapmak) için EM_STREAMOUT iletisini kullanabilirsiniz. Denetim, arabelleğe tekrar tekrar yazar ve ardından uygulamanın geri çağırma işlevini çağırır. Her çağrı için geri çağırma işlevi arabelleğin içeriğini kaydeder.
Bilmeniz gerekenler
Teknolojileri
Önkoşullar
- C/C++
- Windows Kullanıcı Arayüzü Programlama
Talimatlar
Stream kullanın
Aşağıdaki kod örneği, bir .rtf dosyasının zengin bir düzenleme denetimine nasıl okunduğu gösterilmektedir. Dosya tanıtıcısı, EDITSTREAM yapısının dwCookie üyesi aracılığıyla geri çağırma işlevine geçirilir.
DWORD CALLBACK EditStreamCallback(DWORD_PTR dwCookie,
LPBYTE lpBuff,
LONG cb,
PLONG pcb)
{
HANDLE hFile = (HANDLE)dwCookie;
if (ReadFile(hFile, lpBuff, cb, (DWORD *)pcb, NULL))
{
return 0;
}
return -1;
}
BOOL FillRichEditFromFile(HWND hwnd, LPCTSTR pszFile)
{
BOOL fSuccess = FALSE;
HANDLE hFile = CreateFile(pszFile, GENERIC_READ,
FILE_SHARE_READ, 0, OPEN_EXISTING,
FILE_FLAG_SEQUENTIAL_SCAN, NULL);
if (hFile != INVALID_HANDLE_VALUE)
{
EDITSTREAM es = { 0 };
es.pfnCallback = EditStreamCallback;
es.dwCookie = (DWORD_PTR)hFile;
if (SendMessage(hwnd, EM_STREAMIN, SF_RTF, (LPARAM)&es) && es.dwError == 0)
{
fSuccess = TRUE;
}
CloseHandle(hFile);
}
return fSuccess;
}
İlgili konular
-
Zengin Düzenleme Denetimleri Kullanarak
-
Windows ortak denetimler tanıtımı (CppWindowsCommonControls)