AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bilder in Richedit

Ein Thema von Knotti2005 · begonnen am 26. Jan 2006 · letzter Beitrag vom 27. Jan 2006
Antwort Antwort
Seite 1 von 2  1 2      
Knotti2005

Registriert seit: 10. Nov 2005
275 Beiträge
 
#1

Bilder in Richedit

  Alt 26. Jan 2006, 21:35
Jaja ich hatte das Thema schon mehrmals angeschnitten, nach langen probieren scheint mir das hier...

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  jvrichedit1.lines.add( edit1.Text);
end;

procedure TForm1.JvRichEdit1Change(Sender: TObject);
var
 Bitmap: TBitmap;
 Pos: Integer;
begin
  Pos := jvrichedit1.FindText(':-)', 0, Length(JvRichEdit1.Text), []);

  if Pos = -1 then
    exit;

  Bitmap := TBitmap.Create;

  try
    ImageList1.GetBitmap(0, Bitmap);

    JvRichEdit1.SetSelection(Pos, Pos + 3, true);
    JvRichEdit1.InsertGraphic(Bitmap, false);
    JvRichEdit1.SelStart := Length(JvRichEdit1.Text);
  finally
    Bitmap.Free;
  end;
   end;
Als eine gute Lösung oder? Allerdings ist des nur für ein Bild [] in der ImageList wie muss ich den Code ändern für mehere Bilder []?


Ich habe immer viele Ideen.
Meine Ideen = Dinge die die Welt nicht braucht
  Mit Zitat antworten Zitat
Knotti2005

Registriert seit: 10. Nov 2005
275 Beiträge
 
#2

Re: Bilder in Richedit

  Alt 26. Jan 2006, 21:36
@EDIT


Ich habe immer viele Ideen.
Meine Ideen = Dinge die die Welt nicht braucht
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Bilder in Richedit

  Alt 26. Jan 2006, 21:41
Dass du Beiträge editieren kannst, weißt du?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Knotti2005

Registriert seit: 10. Nov 2005
275 Beiträge
 
#4

Re: Bilder in Richedit

  Alt 26. Jan 2006, 21:59
Ja weis ich jetzt müsste ich nur noch wissen wie ich es bei mehreren Bilder machen kann


Ich habe immer viele Ideen.
Meine Ideen = Dinge die die Welt nicht braucht
  Mit Zitat antworten Zitat
Knotti2005

Registriert seit: 10. Nov 2005
275 Beiträge
 
#5

Re: Bilder in Richedit

  Alt 27. Jan 2006, 15:56
Keiner eine Idee`?


Ich habe immer viele Ideen.
Meine Ideen = Dinge die die Welt nicht braucht
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Bilder in Richedit

  Alt 27. Jan 2006, 15:58
wie wärs mit:

den selben code mehrmals ausführen?

etwa so:


Delphi-Quellcode:
procedure TForm1.JvRichEdit1Change(Sender: TObject);
var
  Bitmap: TBitmap;
  i,rep,pos :integer;
const
  smileys:array of [0..1] string = (':-(',':-)'); //Hier Smileys speichern. [:-(] in Element 0 der Imagelist, [:-)] in Element 1 der Imagelist usw...
begin
  for i:=low(smileys) to high(smileys) do begin
    rep:=0;
    pos:=0;
    while pos<>-1 do begin
      Pos := jvrichedit1.FindText(smileys[i], rep, Length(JvRichEdit1.Text), []);
      rep:=rep+1
      if Pos <> -1 then
      begin
        Bitmap := TBitmap.Create;
        ImageList1.GetBitmap(i, Bitmap);
        JvRichEdit1.SetSelection(Pos, Pos + length(smileys[i]), true);
        JvRichEdit1.InsertGraphic(Bitmap, false);
        JvRichEdit1.SelStart := Length(JvRichEdit1.Text);
        Bitmap.free;
      end;
    end;
  end;
(ungetestet)
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Knotti2005

Registriert seit: 10. Nov 2005
275 Beiträge
 
#7

Re: Bilder in Richedit

  Alt 27. Jan 2006, 16:04
Wie meinst du das ja ich hab schon 2 BIlder in der Imagelist und damidt auch 2 Indizien..


Ich habe immer viele Ideen.
Meine Ideen = Dinge die die Welt nicht braucht
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#8

Re: Bilder in Richedit

  Alt 27. Jan 2006, 16:06
hab gerade bearbeitet, jetzt ist ein Code da.
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Knotti2005

Registriert seit: 10. Nov 2005
275 Beiträge
 
#9

Re: Bilder in Richedit

  Alt 27. Jan 2006, 16:10
Zitat:
[Fehler] Unit1.pas(442): Typ erwartet, aber '[' gefunden
[Fehler] Unit1.pas(442): ')' erwartet, aber ',' gefunden
[Fehler] Unit1.pas(444): Anweisung erwartet, aber 'DO' gefunden
[Fehler] Unit1.pas(448): Inkompatible Typen: 'String' und 'Integer'
[Fehler] Unit1.pas(448): Inkompatible Typen
[Fehler] Unit1.pas(450): Operator oder Semikolon fehlt
[Fehler] Unit1.pas(454): Operator oder Semikolon fehlt
[Fehler] Unit1.pas(454): Inkompatible Typen
[Fehler] Unit1.pas(455): Operator oder Semikolon fehlt
[Fehler] Unit1.pas(456): Operator oder Semikolon fehlt
[Fehler] Unit1.pas(456): Inkompatible Typen
[Fehler] Unit1.pas(460): ';' erwartet, aber '.' gefunden
[Fehler] Unit1.pas(462): Deklaration erwartet, aber Dateiende gefunden
[Fataler Fehler] Project1.dpr(7): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden


Ich habe immer viele Ideen.
Meine Ideen = Dinge die die Welt nicht braucht
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Bilder in Richedit

  Alt 27. Jan 2006, 16:11
Das sind Delphi-Grundkenntnisse (Array deklarieren etc).

Etwas Eigeninitiative wäre schon wünschenswert ...

Hier ist es korrekt:

Delphi-Quellcode:
procedure TForm2.JvRichEdit1Change(Sender: TObject);
var
  Bitmap: TBitmap;
  i,rep,pos :integer;
const
  smileys:array [0..1] of string = (':-(', ':-)');
begin
  for i := low(smileys) to high(smileys) do
  begin
    rep := 0;
    pos := 0;
    while pos <> - 1 do
    begin
      Pos := jvrichedit1.FindText(smileys[i], rep, Length(JvRichEdit1.Text), []);
      rep:=rep + 1;
      if Pos <> -1 then
      begin
        Bitmap := TBitmap.Create;
        ImageList1.GetBitmap(i, Bitmap);
        JvRichEdit1.SetSelection(Pos, Pos + length(smileys[i]), true);
        JvRichEdit1.InsertGraphic(Bitmap, false);
        JvRichEdit1.SelStart := Length(JvRichEdit1.Text);
        Bitmap.free;
      end;
    end;
  end;
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:58 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