Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

mystery

Treue Seele

Beiträge: 180

Wohnort: Schwarzwald

Beruf: Entwickler/Programmierer

  • Private Nachricht senden

11

03.10.2009, 21:44

Hallo Sebastian92,

das braucht nicht unbedingt .NET kann aber jeder machen wie er will. Es gibt eine Klasse CDialogBar funktionierte schon in Visual C++ 6.0 bekannt als Visual Studio 6.
Dazu musst du eine Dialogleiste mit dem Resourcen-Editor erstellen. Die Formateigenschaften dafür sollten so aussehen:

Format = Untergeordnet
Rand = Keine
Sichtbar = deaktiviert

So kannst du eine Horizontale Leisten am Rand oben, unten oder auch Rechts sowie Links am Rand des Rahmenfensters anordnen.

Dann sollte man Code zur Erstellung des CDialogBar-Objektes in die Member-Funktion von OnCreate der Hauptrahmenfensterklasse einfügen.

Quellcode

1
CDialogBar m_wndMyBar;


Dann braucht man auch noch Code für die Erstellung des CDialogBar-Objektes und fügt ihn in die Member-Funktion OnCreate Ihrer Hauptrahmenfentserklasse ein.

Dazu ein kleines Beispiel:

Quellcode

1
2
3
4
5
if (!m_wndMyBar.Create(this, IDD_MY_BAR, CBRS_TOP, ID_MY_BAR))
{
    TRACE("Dialogleiste konnte nicht erstellt werden\n");
    return -1;
}


IDD_MY_BAR ist die Dialogressourcen-ID die im Resourcen-Editor zugewiesen worden ist. Mit dem Parameter CBRS_TOP aus unserem kleinen Beispiel wird in unserer Anwendung angegeben dass die Dialogleiste am oberen Rand des Rahmenfensters angezeigt werden soll.


Hier ein Auszug von dem was man an der Position von CBRS_TOP alles einsetzen kann als Alignment:

[list]CBRS_TOP Control Bar ist oben am Rand des Rahmenfensters.
CBRS_BOTTOM Control Bar ist unten am Rand des Rahmenfensters.
CBRS_LEFT Control Bar ist links am Rand des Rahmenfensters.
CBRS_RIGHT Control Bar ist rechts am Rand des Rahmenfensters. [/list]
Ein Parameter fehlt der aber für dich im Moment nicht so wichtig ist.

Natürlich gibt es wie immer viele Wege die nach Rom führen dies ist einer davon, den ich bisher erfolgreich eingesetzt habe. Jetzt noch einen Dialog dazu und fertig. Ich hoffe dass es dir hilft.

MfG
mystery
Wer Rechtschreibfehler findet darf sie für seine Sammlung behalten.
Es gibt keine Probleme, nur Lösungen.

Sebastian92

Frischling

  • »Sebastian92« ist der Autor dieses Themas

Beiträge: 33

Wohnort: Wesel

Beruf: Azubi (Fachinformatiker für Anwendungsentwicklung)

  • Private Nachricht senden

12

06.10.2009, 17:46

Hi,

leider ist das was du geschrieben hast (mystery) MFC oder nicht?
Ich nutze reine WinAPI.
Also nichts mit CDialogBar usw.

Nochmal ne Frage an chriss:
Sollen die Werte den den Objeckt-Definitionen zugewisen werden können oder besser jedem einzelnen Objeckt auf der Karte? Oder beides?
Und was ist mit templates gemeint?

Gruß
Sebastian

mystery

Treue Seele

Beiträge: 180

Wohnort: Schwarzwald

Beruf: Entwickler/Programmierer

  • Private Nachricht senden

13

06.10.2009, 17:57

Ja es ist MFC da hast du Recht. Dann mußt du einen der anderen Wege Suchen.
Wer Rechtschreibfehler findet darf sie für seine Sammlung behalten.
Es gibt keine Probleme, nur Lösungen.

14

06.10.2009, 18:45

Zitat von »"Sebastian92"«

Nochmal ne Frage an chriss:
Sollen die Werte den den Objeckt-Definitionen zugewisen werden können oder besser jedem einzelnen Objeckt auf der Karte? Oder beides?
Und was ist mit templates gemeint?

Wenn ich dich richtig verstehe, ist deine Objektdefinition das, was ich mir unter einem Template vorstelle.
Einmal erstellen, alle Schlüssel vorgeben (am besten mit Standardwerten) und es mehrfach auf der Karte platzieren.

Anschließend sollte es möglich sein, für jedes platzierte Objekt individuelle Werte festzulegen (basierend auf den Schlüsseln der Objektdefinition).

Gruß Chriss

Werbeanzeige