Komponente und Resourcen



  • hi,

    ich habe mir ne komponente gebastelt und will mit dieser komponente aus ner resourcen-datei mehrere bitmaps laden. bloss komm ich da nicht weiter. wie binde ich denn die *.res datei in der komponente ein und lade dann daraus die bitmaps?

    wenn ich es mit pragma link versuche bekomme ich:

    [Linker Fehler] 'C:\RS\PROJEKTE\HM\TMP\SHELLRESOURCE.RES' contains invalid OMF record, type 0x00

    coff2omf.exe hilft auch nix.



  • Hi Sunday (Heute ist doch erst Mittwoch???)

    Ich hab' sowas auch mal gemacht mit Bild fuer'n Button:

    #pragma resource "Volume_Ctrl_Symbols"//Symboldatei einbinden

    OnOff->Glyph->LoadFromResourceName((int)HInstance,"VOLSPEAKERS");//Laden aus Resource

    Die Symbole (Bitmaps) hab' ich in 'ner Extra RES- Datei!!! nicht in der von Komponente!

    In der Kompo- RES- Datei wollte das nicht klappen.



  • Hi,
    1. erstell eine *.rh- Datei
    Beispiel: Components.rh

    #ifndef COMPONENTS_RH
    #define COMPONENTS_RH
    
    // StyledButton
    #define ID_STYLEDBUTTON_BLUESTYLE_A   6000
    #define ID_STYLEDBUTTON_ORANGE_A      6029
    #define ID_STYLEDBUTTON_AQUA_A        6030
    

    2.erstell eine *.rc- Datei

    Beispiel: Components.rc

    #include "Components.rh"
    
    // StyledButton
    ID_STYLEDBUTTON_BLUESTYLE_A    BITMAP   "C:\IT_Development\ML Repository\Components\Images\StyledButton_BlueStyle.bmp"
    ID_STYLEDBUTTON_ORANGE_A      BITMAP   "C:\IT_Development\ML Repository\Components\Images\StyledButton_BlueStyle.bmp"
    ID_STYLEDBUTTON_AQUA_A        BITMAP   "C:\IT_Development\ML Repository\Components\Images\StyledButton_BlueStyle.bmp"
    

    alles einbinden und wie von Altenburger beschrieben laden



  • hm... ich hab das so, aber klappen tuts trotzdem nicht...

    wenn ich das meiner komponente direkt zu füge, kommt beim ausprobieren: Resource XYZ nicht gefunden.

    // ShellResource.rc 
    #include "ShellResource.rh"
    
    ARROWDOWN BITMAP "sort_down.bmp"
    ARROWUP   BITMAP "sort_up.bmp"
    
    // ShellResource.rh
    #ifndef SHELLRESOURCE_RH
    #define SHELLRESOURCE_RH
    
    #define  ARROWUP    1000
    #define  ARROWDOWN  1001
    
    #endif
    

    ich hab auch ne kompilierte .res datei aus dem bildeditor.

    // quellcode der kompo
    #define NO_WIN32_LEAN_AND_MEAN
    
    //---------------------------------------------------------------------------
    #include <shlobj.h>
    #include <vcl.h>
    //---------------------------------------------------------------------------
    #pragma hdrstop
    //---------------------------------------------------------------------------
    #include "ShellListView.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    
    #pragma resource "ShellResource"
    
    // bringt alles nix
    //USERC("ShellResource.rc");
    //USERES("ShellResource.res");
    //#include "ShellResource.rh"
    
    // konstruktor
    __fastcall TShellListView::TShellListView(TComponent* Owner) : TCustomListView(Owner)
    {
      LastNode = NULL;
    
      bmpSortUp   = new Graphics::TBitmap();
      bmpSortDown = new Graphics::TBitmap();
    
      // hier kommt meldung:
      // Resource ARROWUP nicht gefunden...
      bmpSortUp->LoadFromResourceName(DWORD(HInstance), "ARROWUP");
      bmpSortDown->LoadFromResourceName(DWORD(HInstance), "ARROWDOWN");
    
      bmpSortUp->Transparent   = true;
      bmpSortDown->Transparent = true;
    }
    


  • musste einfache LoadFromResourceID nehmen..



  • wär das was für die FAQ? 😕


Anmelden zum Antworten