Solved

Load file .BMP to my window

Posted on 1998-10-22
10
264 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
Comment Utility
use LoadImage instead.

0
 
LVL 10

Expert Comment

by:RONSLOW
Comment Utility
there is an flag setting to say to load from an external file.

0
 

Expert Comment

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

Expert Comment

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

Expert Comment

by:andla
Comment Utility
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
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 1

Expert Comment

by:andla
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

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…
Written by John Humphreys C++ Threading and the POSIX Library This article will cover the basic information that you need to know in order to make use of the POSIX threading library available for C and C++ on UNIX and most Linux systems.   [s…
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

771 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

13 Experts available now in Live!

Get 1:1 Help Now