JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=4c634fc97f4b1ea9d3821df8a2c491b8Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

ListView Problem
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 22.07.2007, 09:42    Titel: ListView Problem Antworten mit Zitat

Hi,

also ich habe vor mir so ein ListView-Control zu machen, so wie es hier in der msdn auch erklärt wurde:
http://msdn2.microsoft.com/en-us/library/ms670559.aspx

Der Code:
http://nopaste.de/p/aFDnLhOvq

Allerdings kennt mein Compiler irgendwie nicht die typedef, Structuren flags ect..
Zitat:
------ Erstellen gestartet: Projekt: test win32, Konfiguration: Release Win32 ------
Kompilieren...
main.cpp
.\main.cpp(13) : error C2065: 'INITCOMMONCONTROLSEX': nichtdeklarierter Bezeichner
.\main.cpp(13) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'icex'
.\main.cpp(13) : error C2065: 'icex': nichtdeklarierter Bezeichner
.\main.cpp(46) : error C2228: Links von ".dwSize" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
.\main.cpp(46) : error C2070: ''unknown-type'': Ungültiger sizeof-Operand
.\main.cpp(47) : error C2228: Links von ".dwICC" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
.\main.cpp(47) : error C2065: 'ICC_LISTVIEW_CLASSES': nichtdeklarierter Bezeichner
.\main.cpp(4Cool : error C3861: "InitCommonControlsEx": Bezeichner wurde nicht gefunden.
.\main.cpp(61) : error C2065: 'WC_LISTVIEW': nichtdeklarierter Bezeichner
.\main.cpp(61) : error C2065: 'LVS_REPORT': nichtdeklarierter Bezeichner
.\main.cpp(61) : error C2065: 'LVS_EDITLABELS': nichtdeklarierter Bezeichner
.\main.cpp(61) : error C2065: 'ID_LISTVIEW': nichtdeklarierter Bezeichner
.\main.cpp(76) : warning C4244: 'return': Konvertierung von 'WPARAM' in 'int', möglicher Datenverlust
Das Buildprotokoll wurde unter "file://e:\Sicherung\projecte\c++\test win32\test win32\Release\BuildLog.htm" gespeichert.
test win32 - 12 Fehler, 1 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Muss ich da evtl noch eine header datei einbinden??
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 22.07.2007, 10:51    Titel: Antworten mit Zitat

Na ok ein Problem habe ich gelöst:
Ich musste die commctrl.h noch includieren.

Aber jetzt habe ich einen Fehler den ich mir überhaupt nicht erkleren kann:
Zitat:
------ Erstellen gestartet: Projekt: test win32, Konfiguration: Release Win32 ------
Kompilieren...
main.cpp
Verknüpfen...
main.obj : error LNK2001: Nicht aufgelöstes externes Symbol "__imp__InitCommonControlsEx@4".
E:\Sicherung\projecte\c++\test win32\Release\test win32.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
Das Buildprotokoll wurde unter "file://e:\Sicherung\projecte\c++\test win32\test win32\Release\BuildLog.htm" gespeichert.
test win32 - 2 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========



Hier der Source Code:
http://nopaste.de/p/a2ljvCazib

edit://
Könnte evtl daran liegen das ich die ID (mal wieder) für ID_LISTVIEW falsch zugewiesen habe.
Denn wenn ich das
CPP:
#define ID_LISTVIEW 11001

auskommentiere, kommt nur der Fehler:
Zitat:
------ Erstellen gestartet: Projekt: test win32, Konfiguration: Release Win32 ------
Kompilieren...
main.cpp
.\main.cpp(64) : error C2065: 'ID_LISTVIEW': nichtdeklarierter Bezeichner
Das Buildprotokoll wurde unter "file://e:\Sicherung\projecte\c++\test win32\test win32\Release\BuildLog.htm" gespeichert.
test win32 - 1 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Also ich habe bei CreateWindow den neunten Parameter (HMENU hMenu) noch nie genutzt, das mache ich bei dem Projekt zum ersten mal, aber ich weiß eigentlich nicht wofür der gut ist.

Der Source Code:
http://nopaste.de/p/aSCtsGvsqb
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
51m0n
JLI'ler


Alter: 32
Anmeldedatum: 06.01.2006
Beiträge: 167
Wohnort: Erkelenz
Medaillen: Keine

BeitragVerfasst am: 22.07.2007, 12:09    Titel: Antworten mit Zitat

Hi
Hast du zu deinem Projekt die "comctl32.lib" hinzugefügt?
_________________
Teigwaren
heißen Teigwaren,
weil sie früher einmal Teig waren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 22.07.2007, 12:16    Titel: Antworten mit Zitat

HAMA jetzt wo ich diese lib datei includiert habe kommen keine Fehler!
Aber jetzt habe ich ein leeres Fenster ohne so ein ListView Control Confused

http://nopaste.de/p/alebOvALb
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 22.07.2007, 12:27    Titel: Antworten mit Zitat

RebornX hat Folgendes geschrieben:
HAMA jetzt wo ich diese lib datei includiert habe kommen keine Fehler!
Aber jetzt habe ich ein leeres Fenster ohne so ein ListView Control Confused

http://nopaste.de/p/alebOvALb


Omg... Sowas solltest du doch langsam wissen oder? Im übrigen ist die .lib zu inkludieren der falsche Weg. Du musst sie entweder über die Projekteinstellungen, oder über #pragma comment( lib, "comctl32.lib" ) dem Projekt bekanntgeben.

Zum Problem: WS_VISIBLE in die Styleflags mit reinnehmen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 22.07.2007, 12:34    Titel: Antworten mit Zitat

David hat Folgendes geschrieben:

Omg... Sowas solltest du doch langsam wissen oder? Im übrigen ist die .lib zu inkludieren der falsche Weg. Du musst sie entweder über die Projekteinstellungen, oder über #pragma comment( lib, "comctl32.lib" ) dem Projekt bekanntgeben.


Ja ich habe es auch nicht "includiert" sondern mit
CPP:
#pragma comment( lib, "comctl32.lib" )

dem Projekt beigefügt^^
Ich wusste nur kein anderes Wort für "dem Projekt beigefügt" und habe dann einfach "includieren" geschrieben XD

Zitat:
Zum Problem: WS_VISIBLE in die Styleflags mit reinnehmen.


Hatte ich schon ausprobiert, bringt aber nichts..

Der Code:
http://nopaste.de/p/acMxiFPaeb
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 22.07.2007, 14:40    Titel: Antworten mit Zitat

Das Problem ist, dass dein ListView Größe 0 beträgt. Du benutzt zwar
CPP:
hListView = CreateWindow(WC_LISTVIEW,
                                                                "",
                                                                WS_CHILD | WS_VISIBLE | LVS_REPORT | LVS_EDITLABELS,
                                                                0,
                                                                0,
                                                                rcl.right - rcl.left,
                                                                rcl.bottom - rcl.top,
                                                                hWnd,
                                                                (HMENU)ID_LISTVIEW,
                                                                hInstance,
                                                                NULL);

aber du weist rcl keine Werte zu. Versuch mal ein
CPP:
GetClientRect( hWnd, &rcl );
unter InitCommonControlsEx zu setzen, dann wirst du dein ListView sehen Wink

btw: Diese LNK1120 Fehler kommen meistens bei API-Funktionen (wie WinAPI oder DX) wenn du die entsprechenden Libs nicht eingebunden (<- auch ein Wort dafür Razz ) hast. Welche Libs das sind, findest du in der MSDN bei der entsprechenden Funktion ganz unten; da stehen benötigte Header / Libs.

Gruß DXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 22.07.2007, 16:12    Titel: Antworten mit Zitat

JO jetzt klappts, ich habe die RECT Structur jetzt ganz weggelassen und die Daten direkt in CreateWindow geschrieben, denn ich will ja kein full screen von ListView in dem Fenster.

Also jetzt wollt ich weiter kommen da in der msdn
http://msdn2.microsoft.com/en-us/library/ms670559.aspx

Aber jetzt steht da was von image und icons, doch das will ich erstmal gar nicht.
Ich will das erstmal so wie auf dem Bild:


ohne Bilder und icons ich will da nur erstmal irgendwelche Dateien oder so auflisten.
Wie muss ich jetzt weiter vorgehen?
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 22.07.2007, 20:31    Titel: Antworten mit Zitat

RebornX hat Folgendes geschrieben:
ich will da nur erstmal irgendwelche Dateien oder so auflisten.
Wie muss ich jetzt weiter vorgehen?

genau so wie es in der MSDN beschrieben steht. Du kannst das mit den Icons ja überspringen und dann hier weiter machen. Wenn du spezielle Fragen hast, die dort nicht beschrieben stehen, dann kannst du die hier ja fragen

Gruß DXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 23.07.2007, 23:11    Titel: Antworten mit Zitat

Ohh ne....

Das ist zu viel auf einmal!
Jetzt steht da auf einmal was mit LoadString oder ListView_InsertColumn...
Und in den nächsten Kapiteln ist ja noch mehr von diesen verwirrenden Funktionen, Structuren ect.

Ich glaube ich geh die Sache voll falsch an...
Ich glaube ich fang das Haus von oben an -.-
Ich glaube ich muss in der winapi mal mit etwas einfacherem anfangen, aber ich weiß nicht was Sad

Ich überlege mir nicht ob ich mir doch ein extra Buch für WinApi kaufe.
Kennt ihr ein gutes Buch über die Winapi ?

Jaa ich weiß ich bin schon wieder vom thema abgekommen, aba in meinem Kopf stellen sich soo viele fragen... WinApi ist kein leichtes Thema
-.-, Aber verdammt ich will das können!! Obwohl ich gar keine Informatiker Ausbildung oder sowas mache (Ich bin nach den Sommerferien in der 11 Klasse wo andere schon ausbildung machen-.-)

Ich finde Programmieren einfach klasse und das will ich zu einen (!) meiner Hobby's machen!
Aber nicht das ihr denkt das ich jetzt so ein Pc Freak bin, ich habe auch Real Life!

Ach man ich bin schon wieder vom Thema abgekommen-.-
Verdammt ist schon Null Uhr, ich klick jetzt einfach auf absenden -.-
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 23.07.2007, 23:29    Titel: Antworten mit Zitat

na endlich ;) Soo schwer ist die WinAPI gar nicht, du fängst nur, wie du sagst, von oben an ;P Aber trotzdem, du hast einen verdammt großen Ehrgeiz, sonst hättest du schon aufgegeben. Naja, aber von unten anfangen ist die beste Lösung; wenn du nämlich erstmal das Grundkonzept verstanden hast, kommst du auch mühelos mit solchen Themen klar. und das WinAPI-Programmieren macht noch dann viel mehr Spaß, weil man das Gefühl hat, alles genau zu verstehen, was man macht. Also:

RebornX hat Folgendes geschrieben:

Ich überlege mir nicht ob ich mir doch ein extra Buch für WinApi kaufe.
Kennt ihr ein gutes Buch über die Winapi ?

ja, und nur eins: Windows-Programmierung von Charles Petzold Es ist zwar sehr dick, umfassend und (leider) in C, aber man muss auch nur die anfangskapitel machen und kann dieses Buch eher als Nachschlagewerk und Hintergrund-Informationsbombe nutzen. Also man kann so in der Mitte / am Ende ruhig das ein oder andere Kapitel überspringen und auch zwischendurch Textabschnitte; wenn du nämlich was bestimmtes suchst hilft dir das große Stichwortverzeichnis. Das einzig unschöne an dem Buch ist, dass es in C geschrieben ist. Aber mit genug C++-Kenntnissen kann man das für eigene Projekte ohne Probleme konvertieren.

Gruß DXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 24.07.2007, 11:15    Titel: Antworten mit Zitat

Ok ich glaube ich kaufe mir das Buch.

Ist zwar alles in C.. aber nagut. Das Buch hat 4 ein halb von 5 Sternen XD

Aber welche ISBN Nummer soll ich nehmen??
Da sind 2??

ISBN-10: 3860631888
ISBN-13: 978-3860631881

ist wahrscheinlich eine dumme Frage aber ich bestell mir nicht so oft Bücher XD
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 24.07.2007, 11:23    Titel: Antworten mit Zitat

hmm, ich mach das immer so wenn ich was dazu nicht verstehe:

1. vergleichen (sind dieselben bis auf die 1. 3)
2. wikipedia befragen
3. folgendes finden:
Zitat:
  • Die Internationale Standardbuchnummer (International Standard Book Number), abgekürzt ISBN, ist eine eindeutige 10- bzw. seit 1. Januar 2007[1] 13-stellige Nummer zur Kennzeichnung von Büchern
  • Das Präfix ist für ISBN-13 je nach Buch 978 oder 979. Bei ISBN-10 ist es wegzulassen
  • diesen Artikel lesen für Hintergrund informationen


Dann kommst du darauf, dass es egal ist, welche du nimmst Razz Du solltest nur dem Buchhandel (oder wo du es auch immer bestellst) sagen, welche es ist, sofern er fragt. Normalerweise kennen die sich damit aus.

Razz
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 24.07.2007, 11:59    Titel: Antworten mit Zitat

DirectXer hat Folgendes geschrieben:
Es ist zwar sehr dick, umfassend und (leider) in C


C++ wäre meiner Meinung nach auch total fehl am Platz, in diesem Fall! Smile Das Buch ist aber klasse, sehr gut und leserlich geschrieben und der Stoff wird sehr schön behandelt. Kann ich jedem der mit der WinAPI beginnen möchte empfehlen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
valentin_
Mini JLI'ler


Alter: 33
Anmeldedatum: 16.07.2006
Beiträge: 28
Wohnort: Graz
Medaillen: Keine

BeitragVerfasst am: 25.07.2007, 06:06    Titel: Antworten mit Zitat

Zitat:
Auch wenn die Win32-API mittlerweile wohl als veraltet bezeichnet werden kann..

Entschuldigt mir diese Frage, aber wieseo sollte win32-api veraltet sein? gibt es irgendwas neueres? ich dachte das damit die meisten Dialoge gebastelt werden?!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum