Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Jvrichedit - wieviel Bilder in JvRichedit? (https://www.delphipraxis.net/152716-jvrichedit-wieviel-bilder-jvrichedit.html)

Chefx 2. Jul 2010 21:26

Jvrichedit - wieviel Bilder in JvRichedit?
 
Hallo DPs,

mein Problem is das ich herausfinden will welche Bilder in den geschriebenen Text sind und wie man die position heraus bekommen kann.
Ich hab schon gegoogelt aber kam nix richtiges dabei raus. Hat jemand ne idee ?

danke im vorraus
MfG
Chefx

mkinzler 2. Jul 2010 22:11

AW: Jvrichedit - wieviel Bilder in JvRichedit?
 
Was meinst du mit "Bilder im Text"?

Chefx 2. Jul 2010 22:41

AW: Jvrichedit - wieviel Bilder in JvRichedit?
 
Naja, man kann ja mit Jvrichedit bilder in ein richedit hineinfügen mit re.InsertGraphic(..);
man kann ja alles speichern wie viele und wo gleich beim erstellen aber wenn man z.B. das bild löscht ist es ja dann wieder nicht auf den neusten stand.
von daher müsste man ja eine anschließende prüfung machen welche noch da sind.
und das is halt mein problem :lol:

toms 3. Jul 2010 06:40

AW: Jvrichedit - wieviel Bilder in JvRichedit?
 
Hallo

Stichwörter: Hier im Forum suchenIRichEditOle GetObjectCount

Chefx 3. Jul 2010 22:31

AW: Jvrichedit - wieviel Bilder in JvRichedit?
 
Hey,

okay danke, also mit den code funzt es bloß er springt nicht auf das zweite bild.
Hab auch das hier probiert funktioniert auch irgendwie nicht richtig:
Delphi-Quellcode:
procedure ..
var
  u: IUnknown;
  reole: IRichEditOle;
  i, n: Integer;
  obj: TREObject;
begin
  FillChar(obj, SizeOf(obj), 0);
  obj.cbStruct := SizeOf(obj);
  with re do //mein jvrichedit
  begin
    Perform(EM_GETOLEINTERFACE, 0, Integer(@u));
    if Succeeded(u.QueryInterface(IID_IRICHEDITOLE, reole)) then
    begin
      n := reole.GetObjectCount;
      ShowMessage(Format('%d objects found', [n]));
      for i := 0 to Pred(n) do
      begin
        reole.GetObject(i, obj, REO_GETOBJ_ALL_INTERFACES);
        SelStart := obj.cp;
        SelLength := 1;
        SelText := Format('<object %d>', [Succ(i)]);
        ShowMessage('yikes');
      end;
    end;
  end;
end;
Beispiel was da rauskommt:
[Bild1]
texttexttext
[Bild2]
wird ersetzt:
<object 2><object 1>
texttexttext
hab auch das mit REO_GETOBJ_NO_INTERFACES probiert.
funktioniert auch leider nicht.
Hat einer eine Ahnung warum das nicht funktioniert?
danke im voraus;-)

MfG
Chefx

toms 4. Jul 2010 04:06

AW: Jvrichedit - wieviel Bilder in JvRichedit?
 
Hallo,

So geht es bei mir:
Delphi-Quellcode:
    for i := Pred(n) downto 0 do

Chefx 4. Jul 2010 17:16

AW: Jvrichedit - wieviel Bilder in JvRichedit?
 
Ah Okay danke toms;-):thumb::thumb::thumb:
Hier noch der komplette funktionierende code:
Delphi-Quellcode:
procedure ...;
var
  u: IUnknown;
  reole: IRichEditOle;
  i, n: Integer;
  obj: TREObject;
begin
  FillChar(obj, SizeOf(obj), 0);
  obj.cbStruct := SizeOf(obj);
  with re do //mein jvrichedit
  begin
    Perform(EM_GETOLEINTERFACE, 0, Integer(@u));
    if Succeeded(u.QueryInterface(IID_IRICHEDITOLE, reole)) then
    begin
      n := reole.GetObjectCount;
      ShowMessage(Format('%d objects found', [n]));
      for i := Pred(n) downto 0 do
      begin
        reole.GetObject(i, obj, REO_GETOBJ_ALL_INTERFACES);
        SelStart := obj.cp;
        SelLength := 1;
        SelText := Format('<object %d>', [Succ(i)]);
      end;
    end;
  end;
end;
Ich danke nochmal für die Hilfe ;-)

MfG
Chefx


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:50 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