Texteditor mit Hintergrundbild programmieren

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
engeldimo
Beiträge: 2
Registriert: Fr 15. Jul 2011, 22:46

Texteditor mit Hintergrundbild programmieren

Beitrag von engeldimo »

Hello,

ich versuche einen Texteditor mit Lazarus zu erstellen, bei dem aber, wenn ich ihn öffne, erst mal ein Hintergrundbild sehen will und erst nach
dem Drücken der "Datei -> Neu Taste" die Memobox bzw. das Dateischreibfenster sich öffnet. Also ungefähr so wie bei der IDE von Freepascal. Jetzt habe ich so gut wie alles ausprobiert und bin einfach nicht erfolgreich gewesen.

Ich würde mich freuen, wenn mir einer ein bisschen helfen könnte.

Bis jetzt habe ich folgenden Programmcode:

Code: Alles auswählen

unit Unit1; 
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus,
  StdCtrls, Buttons, EditBtn, DbCtrls, Grids, ExtCtrls, PrintersDlgs,
  SynCompletion;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Image1: TImage;
    Memo1: TMemo;
    Menue: TMainMenu;
    Datei: TMenuItem;
    edit: TMenuItem;
    closebtn: TMenuItem;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    search: TMenuItem;
    searchBtn: TMenuItem;
    redo: TMenuItem;
    undo: TMenuItem;
    save_as: TMenuItem;
    save: TMenuItem;
    open: TMenuItem;
    neu: TMenuItem;
    procedure closebtnClick(Sender: TObject);
    procedure openClick(Sender: TObject);
    procedure saveClick(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end; 
 
var
  Form1: TForm1; 
 
implementation
 
{$R *.lfm}
 
 
{ TForm1 }
 
procedure TForm1.openClick(Sender: TObject);
begin
  openDialog1.execute;
  Memo1.Lines.LoadFromFile(openDialog1.FileName);
end;
 
procedure TForm1.closebtnClick(Sender: TObject);
begin
  close;
end;
 
procedure TForm1.saveClick(Sender: TObject);
begin
  saveDialog1.execute;
  Memo1.Lines.SaveToFile(saveDialog1.FileName);
end;
 
end.
Ich habe das Programm auch als Anhang hochgeladen, damit ihr mal da hinein schauen könnt.

Grüße,
engeldimo
Dateianhänge
Mein Texteditor.zip
(7.61 MiB) 79-mal heruntergeladen
Zuletzt geändert von Lori am Mo 18. Jul 2011, 22:23, insgesamt 1-mal geändert.
Grund: Highlighter

Eclipticon
Beiträge: 292
Registriert: Sa 5. Feb 2011, 20:38
OS, Lazarus, FPC: Windows XP VirtualBox (FPC 2.6.4, Laz 1.2.4)
CPU-Target: 32Bit
Wohnort: Wien

Re: Texteditor mit Hintergrundbild programmieren

Beitrag von Eclipticon »

Ohne dein Programm genauer betrachtet zu haben, wuerde ich mal vorschlagen, die Visible-Eigenschaft der Komponenten Image1 und Memo1 im Ereignis, das von "Neu" ausgeloest wird, entsprechend zu setzen ...

Wenn du aber einen Splash Screen haben willst, wuerde ich mal danach googeln bzw. nachsehen, wie Lazarus das realisiert ...

HTH
Zuletzt geändert von Eclipticon am Sa 16. Jul 2011, 12:31, insgesamt 1-mal geändert.

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Texteditor mit Hintergrundbild programmieren

Beitrag von Maik81ftl »

Schließe mich meinem Vorposter an, ohne genauer über das nachzudenken.

Würde zugegeben auch die das Formular dementsprechend von der Größe mit erzeugen (bei pic ca 200 x 200 px, im Textmodus max. Fullscrean)
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

engeldimo
Beiträge: 2
Registriert: Fr 15. Jul 2011, 22:46

Re: Texteditor mit Hintergrundbild programmieren

Beitrag von engeldimo »

Hello,

danke erstmal für eure Antworten. Werde es mal versuchen.

Grüße

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Texteditor mit Hintergrundbild programmieren

Beitrag von Maik81ftl »

Kein ding.

Hier mal auf der Kalten die Zeilen, die dir helfen könnten.

Code: Alles auswählen

Procedure MainForm.open(sender: Tobject);
begin
  BG_IMG.Visible := toggle(B_Value);
  Memo.Vislible := toggle(B_Value);
end;
dies ist der Grundbau, wie ich das machen würde.

zugegeben toggel(B_Value); ist eine Eigene Function. Könnte auch True bzw False schreiben, aber schreib ich so.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Texteditor mit Hintergrundbild programmieren

Beitrag von pluto »

Schau mal hier: http://www.swissdelphicenter.ch/de/tipresult.php" onclick="window.open(this.href);return false;
Dort findet ihr eine Praktische Möglichkeit. Unter Linux habe ich das vor einiger Zeit nicht zum laufen gebracht. Ich vermute ein BUG in der LCL, bei Botschaften. Aber vielleicht geht es ja jetzt.

Und sonst:Ich glaube nicht, dass du beim Memo die Brush.Style Eigenschaft auf bsClear setzten kannst, ohne das es Grafik Fehler gibt. Vielleicht wäre es Sinnvoller: Du würdest von TCustomMemo(Müsste es geben) Ableiten und dort die entsprechenden Zeichen Methoden überschreiben und selbst Zeichnen. Bei einem Memo ist das ja leicht. Ob das gehen könnte, weiß ich nicht, aber es wäre eine Möglichkeit.

Was sagt denn das RichMemo dazu?
MFG
Michael Springwald

Antworten