Frage zu einem resource file mit Icon.



  • Dies ist main.h
    #define ID_ABOUTICON 100
    #define IDC_STATIC 101

    Das Icon ist 32x32.

    Dies ist rsrc.rc
    100 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "images/cmc.ico"

    IDD_ABOUTBOX DIALOGEX 0, 0, 135, 62
    STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_CENTER
    CAPTION "About FileManager"
    FONT 10, " "

    BEGIN
    ICON ID_ABOUTICON, IDC_STATIC, 6,22, 0, 0,SS_ICON
    GROUPBOX "", IDC_STATIC, 4, 3,127,54
    LTEXT "FileManager, Version 1.0",IDC_STATIC,32,16, 90, 8,SS_NOPREFIX
    LTEXT "Copyright (c) cmc 2019", IDC_STATIC,32,28, 90, 8
    DEFPUSHBUTTON "OK",IDOK, 98,43, 20,10,WS_GROUP
    END

    Alles funktioniert, aber warum ist es nicht notwendig/möglich, width und heigth des Icons einzugeben ?

    IDC_STATIC 6,22, 0,0,SS_ICON
    oder
    IDC_STATIC 6,22,some value, some value,SS_ICON

    zeigt die Icone in der gleichen Grösse.

    Irgendetwas falsch ?



  • Ein Static Control ist nichts weiter als ein ziemlich dummes Child-Window. Was Du da im Resource Script angibst sind die Dimensionen des Fensters und nicht die Dimensionen des Icons. Es wäre nett wenn Du in einer Zeile über Deinem Code ``` schreiben würdest und in eine Zeile unter Deinem Code auch.



  • @Swordfish sagte in Frage zu einem resource file mit Icon.:

    Es wäre nett wenn Du in einer Zeile über Deinem Code ``` schreiben würdest und in eine Zeile unter Deinem Code auch.

    ??? Ich verstehe den Sinn dieser Aufforderung überhaupt nicht



  • Und warum meine Frage in "Betriebssystem Winapi" verschoben wurde, ist mir noch unklarer ... Mein Programm ist pure c++ compiled mit dev-cpp



  • @clamicun sagte in Frage zu einem resource file mit Icon.:

    Und warum meine Frage in "Betriebssystem Winapi" verschoben wurde, ist mir noch unklarer ... Mein Programm ist pure c++ compiled mit dev-cpp

    Dann zeig mal die Stelle im C++ Standard, an der Icons definiert werden.



  • @manni66
    Wer redet von Icons ... Es handelt sich um ein eine datei.rc.
    Sie werden auch in c c++ benutzt und verursachen Kompilererrors, wenn was nicht korrekt ist.
    Ich sehe schon, Klagen über den Umgangston in diesem Forum scheinen berechtigt zu sein .
    Und antworten wird eh keiner.



  • @clamicun sagte in Frage zu einem resource file mit Icon.:

    Sie werden auch in c c++ benutzt

    Nein

    Klagen über den Umgangston in diesem Forum scheinen berechtigt zu sein

    Genau, Opfer



  • Die erste Antwort bzgl. ``` bezieht sich auf die Code-Formatierung hier im Forum (dafür ist auch die ComboBox sowie der Button </> da):

    #define ID_ABOUTICON 100
    #define IDC_STATIC 101
    

    Und verschoben wurde dein Beitrag, weil RC-Dateien speziell für Windows sind (und die Elemente dadrin sind ja auch Teil der WinAPI).
    Vllt. ist das nicht offensichtlich, aber bei den Subforen "Betriebssysteme" geht es nicht um generelle Fragen dazu, sondern schon um Fragen zur Programmierung damit.
    Und in das "C++ (alle ISO-Standards)"-Subforum gehören eben nur Fragen zum Standard-C++ (welche also auf allen Betriebssystemen funktionieren). Steht ja auch in dessen Beschreibung:

    Bitte keine Fragen zu Windows/Linux-Programmierung hier posten!



  • Ich kann dir das leider nicht sagen dazu sagen bin jedoch schon neugierig
    was es mit den blöcken auf sich hat. Sieht mir nach Assembler aus. Hab das mal gesehen als ich mir ein tutorial von WinApi angesehen habe.Nur stand da nicht viel zu dem wie ich finde sehr eigenen code. Wäre echt cool wenn mich da jemand aufklären könnte



  • @Abe: Hat nichts mit Assembler zu tun, sondern ist eine einfache "Skriptsprache": Windows Programming/Resource Script Reference



  • @Th69 gut danke hatte schon gegrübeld da ich bei einem opgl tutorial dieses Begin End auch gesehen hatte war jedoch eine alte version



  • @manni66
    Danke manni 666
    Da fühle ich mich gleich wie zu Hause.
    Opfer ist der beliebte Proletenumgangston junger Semialphabeten in unsozialen Medien wie FB.
    Sollte in Foren für Programmierung nicht so sein.
    Und dass files.rc nicht in c benutzt werden, ist eine kühne Theorie.



  • @Th69
    Someone from in an us-american c forum gave me the explanation.
    SS_ICON doesn't accept width and height parameters.
    This restriction can be bypassed using the SS_REALSIZEIMAGE style in addition to SS_ICON.



  • @clamicun sagte in Frage zu einem resource file mit Icon.:

    Und dass files.rc nicht in c benutzt werden, ist eine kühne Theorie.

    Das ist mit Sicherheit keine Theorie. Man kann auch mit Standart-C++ 3ds-files öffnen und darin rumlesen. Das macht 3ds-Max aber nicht zu einem Teil des Sprachstandarts.



  • @clamicun: Ja, dieser Satz stammt original aus Static Control Styles (unter SS_ICON, und dort ist auch SS_REALSIZEIMAGE erklärt).
    Hast du es denn mal ausprobiert: SS_ICON | SS_REALSIZEIMAGE (evtl. noch mit SS_CENTERkombinieren)?

    Möchtest du jedoch das Icon auf die Größe des Static-Controls skalieren (stretch), dann wäre wohl SS_REALSIZECONTROL das passende Flag (beachte aber, daß du dann selber für den "aspect ratio" verantwortlich bist, also das Verhältnis aus Breite zu Höhe).



  • @Th69,
    Ja das funktioniert mit SS_ICON | SS_REALSIZEIMAGE ... Allerdings kanst Du auch damit nicht die Grösse verändern , sondern die tatsächliche Grösse wird geladen. Du musst dann das passende Icon schnitzen



  • Daher auch mein Hinweis bzgl. SS_REALSIZECONTROL.
    Ansonsten erkläre noch mal, was du genau erreichen möchtest.


Log in to reply