Zugriff auf .res Datei



  • error: 'ICON_0' undeclared
    

    [edit]

    HICON LoadIcon(      
        HINSTANCE hInstance,
        LPCTSTR lpIconName
    );
    

    2. != LONG



  • Man lippoliv, lies doch mal de Petzold. Es sollte eine Selbstverständlichkeit sein, daß man sich ERSTMAL gründlich informiert (Literatur gibt es wahrlich genug!) und dann bei Unklarheiten Fragen stellt. Nicht sofort drauf los stürzen, wenn man 0 Ahnung hat, was man da tut. Das nervt mich auch einfach als regelmäßiger Leser des Forums. Es verstößt gegen die Netikette, mit der es in diesem Forum leider alles andere als genau genommen wird. Einen schönen Tag noch.



  • In dem Petzold -der ja sehr bekannt ist- steht also wirklich alles drinn ja?

    Ich habe um Tutorials gebeten, darauf hat keiner angesprochen, ich habe selber gesucht habe immer nur sachen gefunden die mit VC++ oder sonstwas gemacht werden, aber nicht mit C wo man wirklcih alles machen muss (RC Datei selber erstellen, sie irgendwie mitkompilieren und dann noch die Daten raussuchen[hier stimmt es mit den andern sachen überein]) und ich hatte es schon fertig, die BITMAP läuft...

    Jetzt geht der ICON nicht, ich dachte es währe das selbe... Nein es ist nicht das selbe..
    Wenn du mir ein Thread zeigen würdest wo ca. dieses Problem behandelt wird... währ ich dir dankbar, aber verbring nicht zuviel Zeit damit, ich bin mir sicher du findest dazu nichts.

    In den meistenn RCs ist der aufbau "ID_NR ELEMENT_NAME ELEMENT_TYP" und alle haben noch irgendeine resource.h [...]
    Wenn ich sowas nicht habe, alles nichts... ist das dann "gegen die Nettikette" zu fragen?
    Ja klar frage ich viel, aber liegt das evtl daran das "ihr" einfach nur sagt "Neuen Button ins form", "Neuen Dialog im RC" oder "x = image.width" und ich dafür ewig brauche, viel Quellcode und so, da ich soeine Umgebung -noch- nicht nutzen soll...

    Das ist jetzt alles nicht unfreundlich gemeint, nur komm ich mir hier langsam falsch vor, wieso gibt es nicht mal ganz Konkret ein "WinAPI - C" Forum wo wirklich alles getrennt ist, oder ein "tag" für ein Thread wo man einträgt "Programmiersprache: C"... 🙂

    Ich stimme mit deinem Beitrag überein, und ich fühle mich auch nicht gerade super, hier andauernd zu fragen, nur findet man halt zu C nicht viel, zumindest nicht über Google, da alles C++/C# treffer sind. 😞

    Tortzdem danke für deine ehrlichkeit, also wenn jemand noch nen Tut zu diesem Thema hat... Bin dafür gerne offen.

    [edit]ich habe keinen Petzold, werd mir den aber wohl holen müssen.



  • lippoliv schrieb:

    error: 'ICON_0' undeclared
    

    [edit]

    HICON LoadIcon(      
        HINSTANCE hInstance,
        LPCTSTR lpIconName
    );
    

    2. != LONG

    Oops, hast Recht, hab was Falsches gesagt.
    Dein "ICON_0" ist die ID des Icons, das einer Ineger-Zahl entspricht (in Resource.h eingesetzt). Also Du übergibst eine Zahl an einen String-Parameter. MAKEINTRESOURCE löst das Problem.

    Hast Du es mal damit versucht:

    wc.hIcon = LoadIcon(GetModuleHandle(NULL),
                                    MAKEINTRESOURCE(IDI_QUESTION));
    

    (Lädt ein Standardicon)

    Hier ein Tutorial, wo einiges zu Resourcen steht:
    http://pronix.linuxdelta.de/C/win32/win32_4.shtml



  • #define IDI_0 1000
    
    #define IDB_0 1001
    

    *.rc

    1000 ICON
    MOVEABLE PURE LOADONCALL DISCARDABLE
    LANGUAGE LANG_NEUTRAL, 0
    
    //und
    
    1001 BITMAP
    MOVEABLE PURE LOADONCALL DISCARDABLE
    LANGUAGE LANG_NEUTRAL, 0
    

    (er bennent die automatisch um, dann hab ich das #inlcude wieder rausgenommen)

    if(  NULL != (myRes = FindResource( GetModuleHandle(NULL), MAKEINTRESOURCE( IDB_0 ), RT_BITMAP ) ) &&
    		 NULL != (logo = LoadBitmap( GetModuleHandle(NULL), MAKEINTRESOURCE( IDB_0 ) ) ) )
    

    und

    if(  NULL != ( myRes = FindResource( GetModuleHandle(NULL), MAKEINTRESOURCE( IDI_0 ), RT_ICON ) ) &&
    			 NULL != ( myIcon = LoadIcon( GetModuleHandle(NULL), MAKEINTRESOURCE( IDI_0 ) ) ) )
    

    das IDB wird angezeigt, das IDI nicht... verrückt?
    Immernoch Fehler 1814

    [edit]war ein fehler meinerseits.. egal ist gelöst!


Anmelden zum Antworten