|
Thanks For ur response..
Could u plz tell me what is m_bitmap.GetBitmap(&bm) does. Becose I am getting assertion error at that line while running .
|
|
|
|
|
It's getting some general properties for the bitmap. In this case we are interested in the size of the image bmWidth and bmHeight members of the BITMAP struct, to be able to know how much to stretch the image.
If you get an ASSERT it could be because you have not loaded any bitmap yet. I assume m_bitmap is of type CBitmap and that it is declared as a member of CMyProgrssCtrl .
In the constructor (or Create and PreSubclassWindow ) do m_bitmap.LoadBitmap(IDB_BITAMP) where IDB_BITMAP is the bitmap you have in your resources.
|
|
|
|
|
Thanks dear..
I have done it with Image class and its working fine, only I hv to do some modification..
Thanks a lot...
|
|
|
|
|
|
AbhiHcl wrote: Becose I am getting assertion error at that line while running .
What line of what file is asserting?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
When I compile my project, it shows the following linker error.
fatal error C1900: Il mismatch between 'P1' version '20080116' and 'P2' version '20070207'
How do I resolve this error?
|
|
|
|
|
Reinstall your development environment. It look like it's using a mixture of two tool-set versions.
Steve
|
|
|
|
|
Reinstalling VC++ didn't work.
|
|
|
|
|
The error message is explained here[^]. Can you quote the exact message?
Steve
|
|
|
|
|
C1900 is not a linker error, but a compiler error. Have you tried Googling for C1900?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
I am attempting to document my code and its turning into a huge mess. The syntax for doxygen is making my code look terrible as theirs so many commenting styles now and I have parts of the code that the user does not need to be aware of that doxygen automatically adds. For example I have a structure and even with no commenting it shows up on the modules page and variables.
I also dislike how the functions are in random order, their should be a way to define their order as having the init() 3rd from the bottom makes no since.
Can anyone recommend a site that shows an empty source file and section by section they add the commenting and go over how to include/exclude variables & functions and how to modify the generated HTML layout?
Documentation is a project onto itself isn't it...
|
|
|
|
|
Just pass the headers to your interfaces through Doxygen - then only things that matter to the users of your code will be documented. Things like internal implementation details won't show up. Then you can concentrate on presenting your interfaces using Doxygen and you won't have to worry about any dirty implementation details.
Cheers,
Ash
|
|
|
|
|
I like to have clean header files that just give the relevant data and functions to the user, I use to just block document the header but figured as things got more complex I should use doxygen as then I can give examples and everything is in a organized place. Do you guys usually keep a copy of the header with all the doxygen markups and then include a clean unmarked copy with the library or something as my header looks like confetti.
|
|
|
|
|
To be honest I don't tend to use Doxygen anymore - I find a decent set of unit tests usually works better to describe how to use something. However when I did use it a couple of years ago everything got piled in a single copy of the interface files. I've never tried it but I can imagine things getting a bit hairy and hard to keep synched if you keep two versions of things.
Cheers,
Ash
|
|
|
|
|
|
Thanks for that link, I just discovered Natural Docs. It was created with exactly what I had in mind, generate help files from human readable in code comments!
Doxygen comments where cryptic to read in code with all its //! \bried /** */ stuff going on but Natural Docs has a very natural layout. I changed a few wordings in my existing comments and I got nice clean output. Also it has a proper walk through which is nice.
I recommend you guys check it out.
http://www.naturaldocs.org/[^]
|
|
|
|
|
Hi,
I have bitmap with a white background and a yellow arrow I would like to convert the background to gray
So I have the following code
CBitmap *bm = new CBitmap;
bm->LoadBitmap((UINT) IDD_BITMAP);
CDC *cdcwindow = this->GetDC();
CDC cdcimage;
cdcimage.CreateCompatibleDC(cdcwindow);
CBitmap *oldbit = cdcimage.SelectObject(bm);
cdcimage1.CreateCompatibleDC(&cdcimage);
cdcimage1.SelectObject(bm);
cdctrans.CreateCompatible(&cdcimage);
CBitmap bmask;
bmask.CreateBitmap(bm_struct.bmWidth,bm_struct.bmHeight,1,1,NULL);
cdctrans.SelectObject(&bmask);
COLORREF clr = cdcimage1.GetPixel(0,0);
cdcimage1.SetBkColor(clr);
cdctrans.BitBlt(0,0,bm_struct.bmWidth,bm_struct.bmHeight,&cdcimage1,0,0,SRCCOPY);
cdcimage.SetBkColor(RGB(125,125,125));
cdcimage.SetTextColor(RGB(255,255,0));
cdcimage.BitBlt(0,0,bm_struct.bmWidth,bm_struct.bmHeight,&cdctrans,0,0,SRCCOPY);
stgm.hBitmap = (HBITMAP)*bm; get bit map handle
later on when I use the bit map handle in "OLE" it sets the bitmap as all yellow
|
|
|
|
|
Would not CDC::FloodFill() be easier to use?
Select your image into a device context, FloodFill it, unselect it from DC.
|
|
|
|
|
unchaged still has white background
here is my code
CBitmap *bm = new CBitmap;
bm->LoadBitmap((UINT) IDD_BITMAP);
CDC *cdcwindow = this->GetDC();
CDC cdcimage;
cdcimage.CreateCompatibleDC(cdcwindow);
CBitmap *oldbit = cdcimage.SelectObject(bm);
cdcimage.SetDCBrushColor(RGB(125,125,125));
COLORREF cr = cdcimage.GetPixel(0,0);
cdcimage.FloodFill(0,0,cr);
bm = cdcimage.SelectObject(oldbit);
later stgm.hBitmap = (HBITMAP)*bm;
|
|
|
|
|
You are filling it with the color you had at (0, 0). That will change nothing.
The color (last arg in FloodFill) should be the new color value. As far as I see, you dont need the GetPixel() call at all.
|
|
|
|
|
Thought it filled it with the Brush okay thankx
|
|
|
|
|
How does it know How much to fill I only want to fill the BackGround
|
|
|
|
|
It will fill every pixel adjacent to the given pixel that has the same original color recursively. It will not touch pixels containing other colors, and not groups of pixels not 'connected' to the original 'pixel group'.
|
|
|
|
|
Thakx I appreciate your help
|
|
|
|
|
Filled the entire bitmap all white
from the MSDN doc says that area will be filled with the current brush till the color boudry
I would think boudry is the RGB of the yellow arrow
Here is the code
CBitmap *bm = new CBitmap;
bm->LoadBitmap((UINT) IDD_BITMAP);
CDC *cdcwindow = this->GetDC();
CDC cdcimage;
cdcimage.CreateCompatibleDC(cdcwindow);
CBitmap *oldbit = cdcimage.SelectObject(bm);
cdcimage.SetDCBrushColor(RGB(125,125,125));
clr = RGB(125,125,125);
cdcimage.FloodFill(0,0,clr);
bm = cdcimage.SelectObject(oldbit);
MFC Library Reference
CDC::FloodFill
Fills an area of the display surface with the current brush.
Copy
BOOL FloodFill(
int x,
int y,
COLORREF crColor
);
Parameters
x
Specifies the logical x-coordinate of the point where filling begins.
y
Specifies the logical y-coordinate of the point where filling begins.
crColor
Specifies the color of the boundary.
reading the doc on MSDN for Flood fill says it will fill the Color with the Current
brush
|
|
|
|