Solved

Load file .BMP to my window

Posted on 1998-10-22
10
265 Views
Last Modified: 2008-02-01
Can you show me how to load a file .BMP to my program(my window) because LoadBitmap() API function can not load a file .BMP, it is only load a resource file in VC 5.0 ?
0
Comment
Question by:e9404732
  • 5
  • 2
  • 2
  • +1
10 Comments
 
LVL 10

Accepted Solution

by:
RONSLOW earned 0 total points
ID: 1175811
use LoadImage instead.

0
 
LVL 10

Expert Comment

by:RONSLOW
ID: 1175812
there is an flag setting to say to load from an external file.

0
 

Expert Comment

by:hlava
ID: 1175813
try
  image->Pictures->LoadFromFile(".\\001.bmp");
if exist this
0
 
LVL 10

Expert Comment

by:RONSLOW
ID: 1175814
that doesn't sound like MFC or API .. what is it?
0
 
LVL 1

Expert Comment

by:andla
ID: 1175815
HANDLE LoadImage(
    HINSTANCE hinst,       // handle of the instance that contains the image
    LPCTSTR lpszName,      // name or identifier of image
    UINT uType,      // type of image
    int cxDesired,      // desired width
    int cyDesired,      // desired height
    UINT fuLoad      // load flags
   );

hinst=0
uLoad=LR_LOADFROMFILE
Windows NT: LR_LOADFROMFILE is not supported.
lpszName="c:\\images\\mypic.bmp"

The second problem how do you show the file??????
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 1

Expert Comment

by:andla
ID: 1175816
uType
Specifies the type of image to be loaded. This parameter can be one of the following values:
Value      Meaning
IMAGE_BITMAP      Loads a bitmap.
IMAGE_CURSOR      Loads a cursor.
IMAGE_ICON      Loads an icon.
0
 
LVL 1

Expert Comment

by:payn
ID: 1175817
I'm not sure if andla's comment was an answer or another question. How do you show the file?

Well, once you've loaded the file, you have a CBitmap. There are many ways to show the file, depending on where you want to show it. In general terms, you're either going to want to select it into a DC, or use SetDIBits (or StretchDIBits if you want to scale it to fit the target window). Is this part of the question? If so, we need more details--unless you're completely lost and want help choosing an implementation (e.g., if you're using a dialog template, place a static control in your template, create a class derived from CStatic that uses LoadImage and calls SetDIBits on WM_PAINT, and attach an object of that class to the control).

0
 
LVL 10

Expert Comment

by:RONSLOW
ID: 1175818
Do you want to know how to display the bitmap as well?
once its into you CBitmap you can do what you want with it (BitBlt to windows etc)
Have you worked out how to load with LoadImage yet?
Or would you like some code?
0
 
LVL 10

Expert Comment

by:RONSLOW
ID: 1175819
I derive a class from CBitmap and do this...
bool CMyBitmap::LoadBitmapFromFile(LPCTSTR lpszName) {
 HINSTANCE hinst = ::AfxGetResourceHandle();
 HBITMAP hbitmap = (HBITMAP)::LoadImage(hinst,lpszName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
 return Attach(hbitmap) != 0;
}
0
 
LVL 1

Expert Comment

by:payn
ID: 1175820
I don't have the docs or VC in front of me, but are you sure you need to pass an HINSTANCE when you're loading from file?

But I like the idea of writing a class to wrap the loading code. It may only be a couple of lines, but I always find myself looking up help for LoadImage (or copying and pasting) whenever I need it. It'd be nice if MFC had this built in, of course.

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Often, when implementing a feature, you won't know how certain events should be handled at the point where they occur and you'd rather defer to the user of your function or class. For example, a XML parser will extract a tag from the source code, wh…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now