tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
1017
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Kyrius
    Kyrius Kyrius ist offline Mitglied Gold
    Registriert seit
    Jan 2004
    Beiträge
    218
    Wie entferne ich die Titelleiste (bei Windoof der blaue Balken mit dem Programmnamen, heißt ja Titeleiste, oder?) bzw wie zwinge ich einen User, über einen Beenden-Button das Programm zu beenden?

    Oder, alternativ dazu: Wie kann ich bestimmte Anweisungen ausführen lassen, wenn das Programm über den Beenden-Knopf in der Titelleiste beendet wird?
     
    optimistischer Code:
    Grundsätzlich keine Fehler erwarten
    if(erfolgreich) ... else ....
    pesimistischer Code:
    Grundsätzlich Fehler erwarten
    if(nicht erfolgreich) ... else ...
    realistischer Code:
    Ohne If-Else Abfrage grundsätzlich eine Fehlermeldung ausgeben

  2. #2
    jackie05 jackie05 ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    293
    hi
    ich hoffe ich kann dir weiter helfen, du möchtest wenn du auf den Button knopf oben rechts
    drauf klickst das dann eine meldung erscheint mit ja, nein und Abbrechen, wenn du auf nein oder auf Abbrechen klickst das dan das Formular geöffnet bleibt, und wenn du auf ja klickst das dann das gesamte Formular geschlossen wird.
    Also das kann man folgender maßen anstellen.
    1. Aktiviere das Haupt Formular inden du einmal drauf klickst
    2. Gehe zum Objektinspector und klicke auf Ereignisse
    3. Und suche dann "OnCloseQuery" und klicke doppelt drauf
    und gebe an der Curser position den folgende Quelltext ein.

    int Knopf;
    Knopf = Application->MessageBox ("Wollen sie wirklich das Programm beenden!", "Achtung", 3+48);
    if ((Knopf == IDCANCEL) || (Knopf == IDNO))
    CanClose = false;

    if (Knopf == IDYES)
    {
    CanClose = true;
    Application->Terminate();
    }


    damit müsste dein Problem gelößt sein, wenn du fehlermeldung bekommst schreib einfach, und ich helfe dir!
    MFG Christian
    Geändert von jackie05 (18.06.05 um 12:47 Uhr)
     

  3. #3
    Avatar von BadMourning
    BadMourning BadMourning ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    158
    Wenn du in den Eigenschaften des Formulars BorderStyle auf 'bsNone' setzt,
    dann hat dein Fenster überhaupt keinen Rahmen mehr. Man kann das Fenster
    aber trotzdem mit Alt-F4 schließen.

    Jackie05's Lösung ist definitiv die sicherere, oder beides zusammen...

    BadMourning
     

  4. #4
    Avatar von Kyrius
    Kyrius Kyrius ist offline Mitglied Gold
    Registriert seit
    Jan 2004
    Beiträge
    218
    eine Sicherheitsabfrage ist eher zweitrangig.

    Vorm Beenden des Programms sollen aber noch eingige Befehle abgehandelt werden. Über einen Button "Beenden" kein Problem, nur benutz den nicht jeder, solange es in der Titelleiste halt das Kreuz gibt, bzw die Tastenkombination Alt+F4 funktioniert.

    Daher meine Frage, wie ich entweder den User über meinen Beenden-Button zwinge, oder die Befehle an das Kreuz hänge.
     
    optimistischer Code:
    Grundsätzlich keine Fehler erwarten
    if(erfolgreich) ... else ....
    pesimistischer Code:
    Grundsätzlich Fehler erwarten
    if(nicht erfolgreich) ... else ...
    realistischer Code:
    Ohne If-Else Abfrage grundsätzlich eine Fehlermeldung ausgeben

  5. #5
    Avatar von BadMourning
    BadMourning BadMourning ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    158
    Ah ja, dann hilft dir vielleicht Folgendes:

    1. Eigenschaften des Formulars:
    (wenn du nicht maximieren/minimieren brauchst)
    BorderIcons - biSystemMenu = FALSE (Titelleiste enthält nur Caption)
    BorderStyle = bsSingle (keine Scrollbars)

    2. Bei Klick auf deinen Beenden Button am Ende der Routine
    entweder Close() oder die härtere Methode Application->Terminate()
    rufen

    BadMourning
     

  6. #6
    jackie05 jackie05 ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    293
    hi Kyrius
    also, ich verstehe nicht ganz was dein Problem ist,
    kannst du es vieleicht ein bisschen deutlicher formulieren, vieleicht kann ich dir weiter helfen.
    MFG Christian
     

  7. #7
    Avatar von Kyrius
    Kyrius Kyrius ist offline Mitglied Gold
    Registriert seit
    Jan 2004
    Beiträge
    218
    Zitat Zitat von BadMourning
    Ah ja, dann hilft dir vielleicht Folgendes:

    1. Eigenschaften des Formulars:
    (wenn du nicht maximieren/minimieren brauchst)
    BorderIcons - biSystemMenu = FALSE (Titelleiste enthält nur Caption)
    BorderStyle = bsSingle (keine Scrollbars)

    2. Bei Klick auf deinen Beenden Button am Ende der Routine
    entweder Close() oder die härtere Methode Application->Terminate()
    rufen

    BadMourning
    Close(); war mir schon klar aber danke, ich werde es bei Zeiten ausprobieren (im Moment sitze ich an einem anderen Ort)
     
    optimistischer Code:
    Grundsätzlich keine Fehler erwarten
    if(erfolgreich) ... else ....
    pesimistischer Code:
    Grundsätzlich Fehler erwarten
    if(nicht erfolgreich) ... else ...
    realistischer Code:
    Ohne If-Else Abfrage grundsätzlich eine Fehlermeldung ausgeben

  8. #8
    Avatar von BadMourning
    BadMourning BadMourning ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    158
    Ok Kyrius, ich hab das nur der Vollständigkeit hingeschrieben, da
    man hier ja nicht immer weiß, wie viel man voraussetzen kann,
    und was wirklich ein Problem ist. Ich nehms mit einem Grinsen...

    Mit meinen Ausführungen solltest du in jedem Fall weiterkommen,
    ansonsten schließe ich mich Jackie05 an, soll heißen, dann
    würde man schon noch ein bißchen mehr Information benötigen...

    BadMourning
     

  9. #9
    ai-gamecock Tutorials.de Gastzugang
    Hi!
    Das Thema ist inzwischen zwar schon etwas älter, aber ich habe bislang noch nichts von der OnClose-Prozedur gelesen (im Objektinspektor auffindbar), in der man sämtliche vor dem beenden auszuführenden Befehle reinschreiben kann, u.A. auch speichern etc...

    www.ai-gamecock
     

Ähnliche Themen

  1. MDI-Titelleiste
    Von MikeBi im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 10.07.09, 13:35
  2. URL aus Titelleiste entfernen
    Von fixfuchs im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 07.07.06, 07:15
  3. Titelleiste von ChildWindow
    Von SeeSharpNewBee im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 01.08.05, 13:53
  4. titelleiste
    Von thecooper im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 24.08.03, 15:39
  5. "Microsoft ie" aus ie titelleiste entfernen
    Von Scalé im Forum Javascript & Ajax
    Antworten: 8
    Letzter Beitrag: 17.10.01, 15:18