Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - MDI-Problem


Wolf4u - Mo 09.12.02 20:41
Titel: MDI-Problem
Hallo,
Ich habe in mein Mainform eine Toolbar eingefügt (mit Schaltflächen für Fett, Kursiv, Ausrichten, Drucken ,....) und in der Toolbar auch eine Combobox (wo man später die Schriftart für das RichEdit ändern kann)
Ich habe eigentlich die Eigenschaften und Aktionen für die jeweiligen Felder richtig Programmiert ... bin zwar mit Fett, ... noch nicht ganz fertig aber da wird das selbe Problem geben:

Immer wenn ich das Programm ausführ und die Schriftart änder bricht das Programm ab :(
Obwohl ich die "Schriftart-Procedure" eigentlich ordentlich geschrieben habe. Ich denke das es daran liegt das die Zurordnung eventl. nicht richtig gelesen werden kann.

Meine MDI Anwendung ist wie folgt aufgebaut:
- Mainform vonwo die MDIChilds aufgerufen werden.


Tino - Di 10.12.02 00:27

Hallo Wolf,

dann poste doch mal den Sourcecode Deiner "Schriftart-Procedure". Ich denke sonst können wir Dir nicht helfen!

Gruß
TINO


Wolf4u - Di 10.12.02 00:58

Ups ganz vergessen :?

Hier ist meine kleine Procedure:

Quelltext
1:
2:
3:
4:
procedure TMainform.ComboBox2Click(Sender: TObject);
begin
  Editor.RichEdit1.font.name:= combobox2.items[combobox2.itemindex];
end;

Zur Erklärung:
Mainform ist das Hauptfenster und Editor ist das ChildFenster. Das RichEdit-Feld hab ich im ChildFenster (Editor) eingefügt. Und beim Klicken auf die Schriftarten sollte es die Schriftart im RichEdit-Feld anpassen.

Die Combobox hab ich im Hauptfenster in eine Toolbar verankert.

Tschüss und thx

(10.12. 09:25 Tino) Code-Tags hinzugefügt.


opfer.der.genauigkeit - Di 10.12.02 10:24

Mich würde nur kurz interessieren, wie du dein Child erstellst, also wie deine procedure dafür aussieht. Vielleicht liegt da der Fehler.


LCS - Di 10.12.02 11:57

Hi
ich würde das auf jeden Fall mal so abändern:

Quelltext
1:
2:
3:
4:
5:
procedure TMainform.ComboBox2Click(Sender: TObject); 
begin 
  if ActiveMDIChild <> nil then
     TEditor(ActiveMDIChild).RichEdit1.font.name:= combobox2.items[combobox2.itemindex]; 
end;


Gruss Lothar


Wolf4u - Di 10.12.02 20:06

Hallo,
vielen Dank!!

TEditor(ActiveMDIChild). <-- das war Gold wert :)
Daran hatte ich gar nicht gedacht.


Tschüss und DANKE