Hilfe ! komme nicht mehr weiter!

// 1****** Der Dialog wird über einen Button aufgerugen

void __fastcall TForm1::FettExecute(TObject *Sender)
{
FontDialog1 -> Execute();
}
//---------------------------------------------------------------------------

// 2*****

void __fastcall TForm1::FontDialog1Apply(TObject *Sender, HWND Wnd)
{
if (FontDialog1 -> Execute())
RichEdit1 -> Font = FontDialog1 -> Font;
}

Dieser Teil sollte die gewählte schriftart, größe, efekt und farbe auf den markierten (aufgewählten) Textübertragen werden
Wenn ich bei dem Dialog etwas auswähle und auf „Übernemen“ drücke und danach auf OK bleibt das Programm hängen
Wenn ich bei dem Dialog etwas auswähle und sofort auf OK drücke (Schließt sich der Dialog) aber es werden keine Änderungen sichtbar.

Was mache ich bei der 2**** falsch kann mir bitte jemand helflen??? Ich arbeite mit Borland C++ Builder 5 Professional unter XP Home
Ich bin noch ein zimliger Anfänger aber in dem Tutorial das ich zurZeit durcharbeite steht das man versuchen soll, mit der „Hilfe“ zurecht kommen, aber da komme ich auch nicht mehr weiter.

Vielen Dank im Voraus für eure Hilfe

Grüße Rudolf

Hi Rudolf

nimm doch einfach den ersten funktionsaufruf und die zweite routine. Also so:

void __fastcall TForm1::FettExecute(TObject *Sender)
{
if (FontDialog1 -> Execute())
RichEdit1 -> Font = FontDialog1 -> Font;
}
//---------------------------------------------------------------------------

ich hoffe das die funktion FettExecute eine ButtonClick Ffunktion ist.
Dann müsste es gehen.

MfG Scuba

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Scuba,

void __fastcall TForm1::FettExecute(TObject *Sender)
{
if (FontDialog1 -> Execute())
RichEdit1 -> Font = FontDialog1 -> Font;
}
//---------------------------------------------------------------------------

Ich habe es so gemacht Funktioniert jetzt (leider nicht so wie ich es will), der ganze Text in RichEdit1 wird geändert und ich wollte eigentlich das sich NUR der Markierte Text ändert.

Bitte um deine / eure Hilfe.

MfG Scuba

Grüße Rudolf

Vielen Dank
Vielen Dank für die Hilfe aber die letztere Frage hab ich aus Zufall schon selber raus gefunden.

Lösung:

void __fastcall TForm1::FettExecute(TObject * Sender)
{
if(FontDialog1 -> Execute())
RichEdit -> SelAttributes -> Assign(FontDialog1 -> Font);
}

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]