Flimmern beim resizen?
-
Poste mal den Code.
-
wc.hIcon = LoadIcon(NULL,IDI_ICON1);

oder muss lich das so auf ganz kompl. mit findResource und Loadresource machen?
-
Du darfst nicht NULL beim hInstance Parameter angeben, weil das nur bei typischen Systemressourcen erlaubt ist (w.z.B. Pfeil-Mauszeiger). Wenn du eine gültige hInstance Variable übergibst sollte es funktionieren.
-
int WINAPI WinMain (HINSTANCE hI, HINSTANCE hPrI, PSTR szCmdLine, int iCmdShow) { char szName[] = "Fensterklasse"; WNDCLASS wc; //HICON hIcon = (HICON) LoadImage(hI,"IDI_ICON1", IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR); wc.style = NULL;//CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hI; wc.hIcon = LoadIcon(hI,IDI_ICON1); //[...]-> Fehler IDI_ICON1 nichdeklarierter bezeichener oO
-
Inkludierst du eh ganz brav die resource.h Headerdatei in deinem Projekt?
-
Übrigens: Wenn du einer Ressource als Bezeichnung eine Zahl zuweist statt einem String, dann musst das MAKEINTRESOURCE() Makro verwenden damit es klappt.
z.B.: LoadIcon(hI, MAKEINTRESOURCE(IDI_ICON1));
-
hüstel ^^
naja wenn ichse include dann hab isch immernochn problem:--------------------Konfiguration: test - Win32 Debug-------------------- Kompilierung läuft... main.cpp D:\Programme\C++ files\MSDev98\MyProjects\test\main.cpp(20) : error C2664: 'LoadIconA' : Konvertierung des Parameters 2 von 'const int' in 'const char *' nicht moeglich Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat Fehler beim Ausführen von cl.exe. test.exe - 1 Fehler, 0 Warnung(en)ah aziz da is ja die anwort ^^
JUHU ES KLAPPT ^^
danke danke danke!
-
Ich bin der Zukunft voraus

-
eheheh
kannste mir sagen wann ich meine erste chat anwendung geschrieben hab?
das wird nähmlich meine nächste übung...hoffentlich reize ich die CGI limits des forums nicht ganz alleine aus 
-
pixartist schrieb:
eheheh
kannste mir sagen wann ich meine erste chat anwendung geschrieben hab?
das wird nähmlich meine nächste übung...Willst Du eine realistische, ehrliche Antwort oder eher eine, die Du gerne hören willst?

-
hm danke fürs mutmachen...sind sockets so kompliziert oder soll das ne anspielung sein, ich sei zu dumm?
-
Das ist ein Hinweis darauf, das Du endlich mal entweder ein Buch über die WinAPI (z. B. den Petzold) oder eins der vielen unzähligen Tutorials im Internet durchackern sollst.
Vorher jedoch, und da sehe ich viel gravierendere Mängel, nimm Dir ein Buch über "C" bzw. "C++" vor. Bei allen deinen Postings entdeckt man fantastische Lücken im Grundlagenwissen...
Sachen wie z. B.
char *err = new char; itoa(GetLastError(),err,36);, da stehen mir die Haare zu Berge (was hättest Du da eigentlich gemacht, wenn die Zahl zweistellig wäre? Schließlich reservierst Du Dir da nur Platz für 1 Stelle, kannst also maximal die Ziffern 0-9 in err speichern)... oder hier:
wc.hIcon = LoadIcon(hI,IDI_ICON1);. Ganz klarer Fall von "irgendwo Code fürs laden eines Standard-Icons gefunden, dann einfach mal rumprobiert". Oder bei dem ReadFile() Problem, wo Dein Char-Array 5 Elemente hatte und Du regelmäßig auf ein nicht vorhandenes sechstes zugreifen wolltest...
Dabei steht in der MSDN:
MSDN schrieb:
hInstance
[in] Handle to an instance of the module whose executable file contains the icon to be loaded. This parameter must be NULL when a standard icon is being loaded.
lpIconName
[in]
Pointer to a null-terminated string that contains the name of the icon resource to be loaded. Alternatively, this parameter can contain the resource identifier in the low-order word and zero in the high-order word. Use the MAKEINTRESOURCE macro to create this value.To use one of the predefined icons, set the hInstance parameter to NULL and the lpIconName parameter to one of the following values.
Was nützt es Dir, wenn wir Dir hier regelmäßig Code für Copy&Paste liefern? Lernst Du was dabei? Nein! Du kannst zwar sagen "Ja, das Programm hab ich geschrieben", kannst aber nicht jede einzelne Zeile erklären (was sie macht, WARUM sie das macht usw.). Oder kannst Du das etwa doch? Würde mich sehr wundern...
Also, lerne doch erstmal die Grundlagen der Programmiersprache und danach die WinAPI...
-
@Hepi: Es funktioniert nicht einmal wenn die Zahl einstellig ist! Den Grund darfst du dir jetzt in einem Grundlagenbuch suchen :p;)
MfG SideWinder
-
also erstmal hatte ich keine ahnung, dass das die basis sein soll bei itoa...leider kannte ich den englischen begriff für basis nicht. zu
wc.hIcon = LoadIcon(hI,IDI_ICON1);
natürlich war das rumprobiert...das hat aber auch nichts mit den grundlagen der programmiersprache zu tun, sondern ist ein ganz spezieller funktionsaufruf.
und zu der array geschichte...das hatte ich aus irgend nem tut wo das einer gemacht hat. mir ist schon klar, dass ein array[10] von 0-9 geht...hast du schonmal was vom try&error gehört. Oder hast du grad rausgefunden, das man über try and error garnichts lernen kann und alle tiere alle verhaltensweisen angeboren haben???
ich hab mir ja schon ein paar tuts durchgeguckt. aber entweder machen die zu grosse sprünge von einem thema ins nächste oder sie behandeln nur einen winzigen themenbereich. Ich möchste ausserdem nicht wissen wie teuer Gute c++/c/winAPI bücher sind. Wie kommst du darauf das ich nichts lerne wenn ihr mir hier weiterhelft? Versteh ich nicht deine annahme. Natürlich hab ich ein paar überflüssige fragen gestellt, aber ich hab ja auch grad erst mit c++ angefangen...
-
pixartist schrieb:
Wie kommst du darauf das ich nichts lerne wenn ihr mir hier weiterhelft? Versteh ich nicht deine annahme.
Weil Du in deinem Code, den Du da mittlerweile zusammengebastelt hast nicht bei jeder Zeile sagen kannst, was sie macht und warum sie das macht!
Du kopierst Da Sachen in Deinen Code ohne die Hintergründe zu kennen. Dein Code sieht für Dich doch aus wie lauter BlackBoxen... Du weißt nicht, was innen drin passiert, aber irgendwas wird schon passieren... Nennst Du das "volle Kontrolle" über Dein Programm? Wie willst Du denn da mit dem Debugger nach Bugs suchen?
Meinst Du nicht das Du, als Programmierer, in jeder Zeile wissen solltest was Dein Programm macht?
Wenn nicht Du, wer soll das denn dann wissen?
pixartist schrieb:
natürlich war das rumprobiert...das hat aber auch nichts mit den grundlagen der programmiersprache zu tun, sondern ist ein ganz spezieller funktionsaufruf.
...der ausreichend in der MSDN beschrieben ist (siehe mein Zitat aus der MSDN hier im Thread weiter oben)!
SideWinder schrieb:
@Hepi: Es funktioniert nicht einmal wenn die Zahl einstellig ist! Den Grund darfst du dir jetzt in einem Grundlagenbuch suchen
Der fehlende Platz für die terminierende 0, bzw die Tatsache, das itoa einen Zeiger auf ein char-array erwartet, ist mir schon aufgefallen, keine Sorge...