dann eben ein neuer
-
da ich auf meinen anderen Thread keine antwort mehr bekomme versuche ich es so nochmal
um genauer zu werden ich habe aus dem Bsp. aus der MSDN diesen Teil wo ich eine
Spalte definiere nur weiss ich nicht ganz wo die Überschrift herkommt.// Create columns. lvC.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM; lvC.fmt = LVCFMT_LEFT; lvC.cx = 75; lvC.pszText = szText; // Load the column labels from the resource file. for (index = 0; index < 3; index++) { lvC.iSubItem = index; //der einzige unterschied ist das ich strlen //nicht ARRAYSIZE drin hab kennt mein Kompiler anscheinend nicht ist aber egal LoadString(hInst, IDS_PETS + index, szText, strlen(szText)); if(ListView_InsertColumn(hWndListView, index, &lvC) == -1) return NULL; } //es steht ja "load column labels from the ressource file."nur in der ressource //setzt man doch zur ID ne Nummer und nicht eine Zeichenkette.
[ Dieser Beitrag wurde am 22.01.2003 um 00:44 Uhr von mosta editiert. ]
-
Hi,
sowas macht man nicht! Hol den alten Thread wieder hoch, wenn er dir zu weit unten erscheint, aber mach deswegen keinen neuen auf![ Dieser Beitrag wurde am 22.01.2003 um 00:59 Uhr von WebFritzi editiert. ]
-
Naja, der andere Thread ist schon etwas daneben, ich poste mal hier.
Bei deinem angesprochenen Beispiel (ist doch das Listview1 example oder?) ist auch das .rc-file dabei, also schau einfach rein, denn u.a. steht da:
STRINGTABLE { IDS_PETS, "PET" IDS_BREED, "TYPE" IDS_PRICE, "PRICE" }
Natürlich muss man das ganze nicht über eine Stringtable machen...
-
das habe ich ja gesucht bzw. andauernd überlesen nun aber was anderes normaler weise müsste die ListView erscheinen nachdem ich sie mit CreateWindow erstellt habe oder. Weil bei mir penetrant nichts anzeigen will.
@webfritzi ich habe ihn ja wieder hochgeholt (scrolll mal kurz einbisschen runter)nur da het keiner drauf geantwortet und da dachte ich mir mit
recht "dann eben ein neuer"
-
Dumme Frage, aber hast du auch WS_VISIBLE mit angegeben oder ShowWindow verwendet?
-
Ich denke eher, dass du das .rc-file nicht mit eingebunden hast.
-
warte ich kann ja kurz nachsehen ... da haben wir es ja
HWND ListView = CreateWindow("WC_LISTVIEW","", WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS|LVS_SHOWSELALWAYS, 20,50,446,240, hwnd,(HMENU)ID_LISTVIEW, hInstanceChild, NULL);
was meinst du damit rc file nichteingebunden
[ Dieser Beitrag wurde am 22.01.2003 um 18:45 Uhr von mosta editiert. ]
-
bei dem gedownloadeten beispiel ist ein ressource-file dabei (HELLO.RC), das musst du deinem projekt hinzufügen.
-
ich nutze doch nicht das Projekt sondern schreibe anhand dessen eine eigene ListView sag lieber was rein soll nett wer noch sowas wie wieso das rein muss
-
ich hab selber nachgekuckt aber daran kann es nicht liegen ich muss doch keine icons oder spaltenüberschriften definieren um eine ListView anzeigen zu lassen ich meine es ist schon sinvoll spalten reinzubringen aber um erstmal ein anzeigen zu lassen nicht unbedingt.(erklärung sparen hab selber nachgekuckt)
-
wenns dein eigenes projekt ist, kann man nicht soviel zu sagen, gibts viele fehlerquellen. versuche mal den fehler einzugrenzen und poste dann das relevante zeugs hier. (ich selbst kanns aber ers morgen anschaun)
kannst auch ne mail schicken... kwoTx@gmx.de[ Dieser Beitrag wurde am 22.01.2003 um 20:29 Uhr von kwoTx editiert. ]
-
also sieht bei mir zur zeit die funkion CreateListView aus ID_BETRAG sind bei mir zahlen also erstmal sekundär der Überschrifttext.
HWND CreateListView(HWND hwnd) { HWND ListView = CreateWindow("WC_LISTVIEW","", WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS|LVS_SHOWSELALWAYS, 20,50,446,240, hwnd,(HMENU)ID_LISTVIEW, hInstanceChild, NULL); //Erstellen der Spalten LV_COLUMN lvC; TCHAR szText[50]; lvC.mask = LVCF_FMT|LVCF_WIDTH|LVCF_TEXT|LVCF_SUBITEM; lvC.fmt = LVCFMT_LEFT; lvC.cx = 75; lvC.pszText = szText; //Laden der Spaltennamen aus der ressource Datei for (int zae= 0;zae<3;zae++) { lvC.iSubItem = zae; LoadString(hInst, ID_BETRAG+zae,szText,strlen(szText)); if(ListView_InsertColumn(ListView,zae,&lvC)== -1)return NULL; }
vielleicht liegt es daran das er die comctl32.lib nicht richtig linked weil das bei mir öfters zu fehlern führt.
-
Klappt denn das Einfügen von Spaltenüberschriften ohne LoadString, also wenn du die Überschrift direkt angibst?
-
na ich wollte erstmal nur die Darstellung der Listview hinkriegen weil bei mir nichts angezeigt wird. Die spalten sind jetzt sekundär da ich erstmal das erscheinen der Listview generell hinkriegen möchte ich kann dir ja ein bild schicken wo zu sehen ist das dort nichts angezeigt wird wo normalerweise die ListView dargestellt werden sollte.
-
Liefert denn CreateWindow(...) ein gültiges Handle zurück?
-
Hi,
mach doch einfach mal, was die erfahrenen Leute Dir sagen bzw. an Tips geben. Der eine hatte Dir doch gesagt, dass wahrscheinlich Deine Resource-Datei fehlt mit den Spalten in Deinem Projekt, also: ausprobieren. Wenn Flenders Dir sagt, dass man auch direkt Spaltenüberschriften angeben kann, dann versuche das doch mal. Probieren geht über Studieren und wenn alles nichts hilft, dann such mal unter Google nach Willemers Informatikecke, da gibt es unter WinAPI auch ein Dokument zu Listviews, damit habe ich es gelernt. Deine "Ich will aber Haltung" kann einen schon auf die Palme bringen und irgendwann haben die Leute auch vielleicht keine Lust mehr jemandem zu helfen, der nicht auf die Tips hören will. Solltest Du mal überlegen.
Gruß
Oliver
-
oh da hab ich woll zu früh STRG+C gedrückt es fehlt ja noch
return (ListView); }
das meintest du doch oder
-
Nein, ich meint, ob vielleicht
HWND ListView = CreateWindow("WC_LISTVIEW","", WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS|LVS_SHOWSELALWAYS, 20,50,446,240, hwnd,(HMENU)ID_LISTVIEW, hInstanceChild, NULL);
kein gültiges Handle zurückliefert - GetLastError()
-
@oj0169 aka Oliver das Problem ist ich sitzte nicht vor meinem rechner mit dem Compiler ich hab zwar das Program auf Diskette dabei aber kann es deswegen nicht ausprobieren, aber ich wollte die Sache jetzt klären bevor ich an meinen gehe.Also nicht böse seien
ach es wäre noch zu erwähnen das ich an dem kein internet anschluss habe da mein Netzwerk zur zeit im ***** ist
[ Dieser Beitrag wurde am 22.01.2003 um 21:44 Uhr von mosta editiert. ]
-
also meinst du soll ich das hier reinbringen
MessageBox(hMDIClient, GetLastError, "Fehler",MB_ICONEXCLAMATION | MB_OK);
sorry Newbie
[ Dieser Beitrag wurde am 22.01.2003 um 22:06 Uhr von mosta editiert. ]