Zum Inhalt springen

[MFC] Listbox anzeigen


TDM

Empfohlene Beiträge

Hallo, ich habe ein Frame in dem eine versteckte Listbox ist.

Jetzt wollte ich fragen wie ich es anstelle dass die Listbox bei Klick auf einen Button sichtbar wird.

Ich hatte mir zwar schon das ganze für Buttons angesehen, aber es scheint ich brauch da ein Control auf die Listbox oder ?

Wenn ja würd ich gern wissen wie die Funktion heißt, weil ich find in der MSDN nicht wirklich was brauchbares.

Danke im Vorraus

TDM

Link zu diesem Kommentar
Auf anderen Seiten teilen

hmm danke, das ging

Nächste Frage zum Anzeigen in der Listbox:

Wie kann ich die in Spalten aufteilen und dann in die einzelnen Zellen schreiben ? (ich kenn von VBA her list() aber die scheint es hier nicht zu geben bzw. hab ich die nicht gefunden). Ich habe bisher immer einen String mit "\t" probiert aber da kommt nur ein Viereck

und wie lösch ich dann eine einzelne Zeile ohne gleich die ganzen Zellen durchzugehen ? (cols() und rows() gibts hier nämlich auch nicht :( )

Link zu diesem Kommentar
Auf anderen Seiten teilen

LVS_ICON: Shows large icons for each item in the control

LVS_SMALLICON: Shows small icons for each item in the control

LVS_LIST: Shows a list of items in the control with a small icon for each item

LVS_REPORT: Shows a "Details" of the items where extended item information can be viewed

wobei letzteres sicher das gewünschte ist, da mehrspaltig.

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hast du eine Ressource oder erzeugst du das Steuerelement im Code?

Im ersten Fall kannst du das über die Eigenschaften des Steuerelements im Ressourceneditor einstellen.

Und wo ?

Ich krieg jetzt den Fehler, dass SetView kein Element von CListCtrl ist O.o

hab ich vergessen etwas einzubinden

btw: danke Amstelchen

Link zu diesem Kommentar
Auf anderen Seiten teilen

VS.Net

Welche Version? 2002? 2003? 2005?

Welche Sprache? Deutsch? Englisch?

Ich brauch das nicht ?

gibts da eine andere Funktion oder meinst du, dass du es nicht im quelltext ändern würdest?

Nein, davon rede ich doch die ganze Zeit. Du brauchst doch nur die Detailansicht, warum verbeißt du dich in eine Funktion, die die Ansicht zur Laufzeit umschalten kann, wenn du sie nur einmal beim Start zu setzen brauchst?
Link zu diesem Kommentar
Auf anderen Seiten teilen

2002

Bei mir isses Deutsch... aber die Sprache kann man so und so umschalten

Nein, davon rede ich doch die ganze Zeit. Du brauchst doch nur die Detailansicht, warum verbeißt du dich in eine Funktion, die die Ansicht zur Laufzeit umschalten kann, wenn du sie nur einmal beim Start zu setzen brauchst?

Weil ichs nicht gefunden hab, wo man es umstellt *g*

Außerdem wär es interessant falls ich mal nen Programm schreiben muss, welches dieses während der Laufzeit macht

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bei mir isses Deutsch... aber die Sprache kann man so und so umschalten
Echt? Du kannst die Sprachversion deines Visual Studio umstellen? Sagst du mir, wie?

Eine deutsche Version habe ich hier nicht, in der englischen Version heißt die Eigenschaft "View". Es ist die einzige Eigenschaft des List Control mit 4 Wahlmöglichkeiten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Echt? Du kannst die Sprachversion deines Visual Studio umstellen? Sagst du mir, wie?

Eine deutsche Version habe ich hier nicht, in der englischen Version heißt die Eigenschaft "View". Es ist die einzige Eigenschaft des List Control mit 4 Wahlmöglichkeiten.

Extras -> Umgebung -> Internationale Einstellungen -> Englisch

Ahh... ich habs gefunden *an Kopf klatsch*

Und wie kann ich da jetzt Spalten reinmachen und auf die zugreifen ?

ich hab nur setColoum

Link zu diesem Kommentar
Auf anderen Seiten teilen

Toll... jetzt kommt irgentwas von Debug Assertion Failed :(
Je genauer die Fehlerbeschreibung, desto besser die Hilfe. Bloß weil dir die Meldung nichts sagt, kann sie anderen hier für die Diagnose doch sehr hilfreich sein.

Also bitte: Vollständige Fehlermeldung posten. Außerdem wäre gut zu wissen, wo dieser Code steht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Debug Assertation Failed!

Program: D:\src\C\mfc\AzubiTestMFC_I\Debug\AzubiTestMFC_I.exe

File: winctrl2.cpp

Line: 599

...

Code der Funktion:


void CAzubiTestMFC_IDlg::On_BnOutput_Clicked()

{	


	m_CtrlLbAll.ShowWindow(SW_SHOWNORMAL);

	if (CPerson::s_nCount == 0) 

	{

		m_CtrlLbAll.InsertColumn(0, "Fehler", LVCFMT_LEFT, 289);	

		m_CtrlLbAll.InsertItem(0,"Es wurden keine Datensätze eingegeben."); [COLOR="Red"]// <-- DA[/COLOR]

	}

	else

	{

		m_CtrlLbAll.InsertColumn(0, "Vorname", LVCFMT_LEFT, 72);	

		m_CtrlLbAll.InsertColumn(1, "Name", LVCFMT_LEFT, 72);	

		m_CtrlLbAll.InsertColumn(2, "Gewicht", LVCFMT_LEFT, 72);	

		m_CtrlLbAll.InsertColumn(3, "ÜNÜ", LVCFMT_LEFT, 72);

		CPerson Person(*m_pPerson);

		Person = (m_pPerson -> getFirst());

		m_CtrlLbAll.DeleteAllItems();


		m_CtrlLbAll.InsertItem(Person.getID(), Person.getFName());

		while (Person.getNext() != NULL)

		{

			Person = *(Person.getNext());

			m_CtrlLbAll.SetItemText(Person.getID(), 1, Person.getFName());

			m_CtrlLbAll.SetItemText(Person.getID(), 2, Person.getGewicht());

			m_CtrlLbAll.SetItemText(Person.getID(), 3, Person.getBMI());

		}

	}

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

File: winctrl2.cpp

Line: 599

Da steht bei mir:

void CListCtrl::DrawItem(LPDRAWITEMSTRUCT)
{
ASSERT(FALSE);
}[/code]

Vermutlich hast du dein List Control auf OwnerDraw gestellt, als du mit den Eigenschaften experimentiert hast. Bei einem OwnerDraw-List Control musst du von CListCtrl ableiten und DrawItem überschreiben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...