Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    C++ - Problema utilizzo LoadImage

    Buongiorno,
    il mio progetto deve stampare direttamente delle forme geometriche. Dimensioni, colori e sfondi sono letti da un file che viene a sua volta scritto da un programma esterno.
    Per il rettangolo possono essere applicati dei pattern. Essendo interni all'applicativo esterno che viene richiamato, abbiamo deciso di creare delle bpm che vanno a simulare quelli scelti e poi questi verranno mandati in stampa.

    codice:
    hPen = CreatePen (PS_SOLID, penWidth, clrBlack);
        if (hPen == NULL)
            stat_code = GetLastError();
        SelectObject (hdcPrint, hPen);
        wcscpy(patternPath, L"Pattern1.bmp");
    
        hPattern = (HBITMAP) LoadImage (NULL, patternPath, IMAGE_BITMAP, 0, 0, 
                                        LR_CREATEDIBSECTION | LR_LOADFROMFILE); 
    
        SelectObject (hdcPrint, hPattern);
       
        pennello = CreatePatternBrush (hPattern);
       
        SelectObject (hdcPrint, pennello);
        
        esito = Rectangle (hdcPrint, rettangolo.left, rettangolo.top,    rettangolo.right, rettangolo.bottom);
        if (!esito) 
            stat_code = GetLastError();
        return;
    Questo codice funziona. Ma se volessi inserire le bpm all'interno Resource Files?
    ho provato a togliere il parametro LR_LOADFROMFILE , ma non funziona.

    Cosa sbaglio?

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    bmp non bpm ...

    Se � nelle risorse, devi indicare l'ID della risorsa

    HBITMAP hBitmap = LoadBitmap(NULL, MAKEINTRESOURCE(IDC_YOURBITMAPID), IMAGE_BITMAP, 0, 0, 0);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Sì scusa errore battitura.
    Provo subito.

  4. #4
    Scusami ma IDC_YOURBITMAPID dove devo dichiararlo?

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da MaledettoC Visualizza il messaggio
    Scusami ma IDC_YOURBITMAPID dove devo dichiararlo?
    E'l'identificativo della tua risorsa. E' un esempio, ovviamente, tu puoi usare quello che vuoi nelle risorse.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Scusami ma non ho capito.
    Dovrà essere dichiarato come? In un file .rc? e Nel file rc dovrò indicare il path di dove si trova la bmp?
    Dove posso trovare un es?

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da MaledettoC Visualizza il messaggio
    Scusami ma non ho capito.
    Dovr� essere dichiarato come? In un file .rc? e Nel file rc dovr� indicare il path di dove si trova la bmp?
    Dove posso trovare un es?
    Se usi Visual Studio, puoi aggiungere la risorsa nella finestra del progetto tra le Risorse.

    Esempi sono ovunque su Internet (google)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Scusami,
    io ho caricato la bmp tra le risorse.
    Poi nel .h ho definito
    #define IDB_BACKGROUND 2001
    nel .rc
    #include <windows.h>
    #include "resource3.h"

    IDB_BACKGROUND BITMAP "Pattern1.bmp";

    mentre nel mio cpp
    hPattern = (HBITMAP) LoadImage (GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_BACKGROUND), IMAGE_BITMAP, 0, 0,
    LR_CREATEDIBSECTION);

    ma nel compilare mi dà errore
    Error 31 error RC1004: unexpected end of file found C:\APM\proveStampa-prove di franco - Copia\resource3.h 2 1 proveStampa

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.