AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Library: VCL / WinForms / Controls Delphi Datei in RichEdit-Control laden (via Handle & Message)
Thema durchsuchen
Ansicht
Themen-Optionen

Datei in RichEdit-Control laden (via Handle & Message)

Ein Thema von Daniel · begonnen am 2. Jan 2004
Antwort Antwort
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#1

Datei in RichEdit-Control laden (via Handle & Message)

  Alt 2. Jan 2004, 18:19
Von unserem User "Assarbad":




Laden einer RTF-Datei in ein RichEdit control:

Delphi-Quellcode:
function LoadRichEditByFileName(hWnd: HWND; FileName: string): Boolean;
var
  hFile: THandle;
  fsize,
    readbytes: DWORD;
  Buffer: Pointer;
begin
  Result := False;
  hFile := CreateFile(@FileName[1], GENERIC_READ, FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
  if hFile <> INVALID_HANDLE_VALUE then
  try
    fsize := GetFileSize(hFile, nil);
    Buffer := GetMemory(fsize + 1);
    if Buffer <> nil then
    begin
      ZeroMemory(Buffer, fsize + 1);
      if ReadFile(hFile, Buffer^, fsize, readbytes, nil) then
        if fsize = readbytes then
        begin
          SendMessage(hwnd, WM_SETTEXT, 0, LPARAM(Buffer));
          SendMessage(hwnd, EM_SETSEL, 0, 0);
          SendMessage(hwnd, EM_SCROLLCARET, 0, 0);
        end;
      FreeMemory(Buffer);
    end;
  finally
    CloseHandle(hFile);
  end;
end;
Funktioniert unter NT immer tadellos, unter Win9x hingegen ist die Groesse der zu ladenden Datei auf 64k ($FFFF-1 Zeichen) beschraenkt.
Daniel R. Wolf
  Mit Zitat antworten Zitat
Antwort Antwort

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz