Single Document Interface



  • hallo,

    nachdem ich durch googlen von "winapi single document interface" und gewisser abwandlungen zu keinem Ergebnis gekommen bin, frag ich jetzt hier mal^^

    für einen kleinen Editor habe ich einmal ein MDI in WinAPI geschireben,
    daher weiß ich, dass dafür spezielle Fensterklassen (keine C++-Klassen ;-)) und Funktionen vorliegen, um das MDI zu verarbeiten.

    nun ist mir Martin Richter's Blogeintrag von der "Unsitte dialogbasierte Anwendungen zu programmieren" (oder so ähnlich) ins Auge gesprungen.
    Hier weist er daraufhin, dass SDI Funktionen bietet, die in einem Dialog umständlich einzubauen wären.
    Dazu sei bemerkt, dass er hier auch bezug auf die Klassen CDialog usw. nahm,
    welche bekannstlich Teil der MFC sind.

    Somit wird SDI unter WinAPI wahrscheinlich genauso umständlich sein, wie ein einafcher Dialog, schätze ich mal.

    Was ich mich jetzt eben frage, und wozu ich leider nichts finden konnte:
    Woraus besteht ein SDI?

    Im C++-Magazin werden ja auch nur die Zusammenhänger der MDC-Klassen erklärt, aber nicht, was da im Hintergrund abläuft.

    Also meine Idee, was SDI ist, wäre folgendes:
    Ein selbst von Hand per CreateWindow erstelltes Fenster
    -> mit ToolBar (aus Resource oder von Hand)
    -> mit Menü (aus Resource oder von Hand)
    -> mit StatusBar (von Hand, KA, ob das über Resource geht :p)
    -> mit Shortcuts/Accelerator (Resource)

    Das View-Window wäre in dem Fall einfach der Rest vom Client-Bereich des Hauptfensters, der nicht durch Menü usw. belegt ist.

    kommt das so hin?
    oder gibt es evtl. wie bei MDI spezielle Funktionen?
    (wobei ich in der MSDN kein finden konnte)

    Und die nächste Frage:
    Wie würde man in einer WinAPI-SDI solche Leisten wie im Visual Studio (oder auch anderen Programmen, is jetzt nur ein Beispiel) die Projekteinstellungen usw. umsetzen.
    also, dass die dann auch verschiebbar, andockbar sind usw.
    gleich dazu noch:
    weiß zufällig jmd, was das für ein Control ist, was in VS für die Ausgabe genutzt wird? ist das eine einfache ListBox?

    schonmal danke für eure Hilfe

    MfG DrakoXP



  • hat echt keiner eine Ahnung? O.o


Anmelden zum Antworten