|
Yes sir... Weird, huh?
Windows Calculator told me I will die at 28.
|
|
|
|
|
Hi all,
I am having runtime crash with code below
int main(int argc, char** argv)
{
vector<int> iVec;
iVec.push_back(0);
iVec.push_back(10);
iVec.push_back(20);
iVec.push_back(30);
iVec.push_back(40);
iVec.push_back(30);
iVec.push_back(60);
vector<int>::iterator it;
for(it=iVec.begin(); it != iVec.end();++it)
{
if(*it = 30)
{
iVec.erase(it);
}
--it;
}
return 0;
}
How can I get all "30" out?
Thanks!
Yonggoo
|
|
|
|
|
for(it=iVec.begin(); it != iVec.end();++it)
{
if(*it = 30) // May be this is the problem
{
iVec.erase(it);
}
--it;
}
the above if line is the culprit if you typed it so in your code also
it should be
if(*it == 30) // corrected
Tanvon
the brain behind ...
I Blog here
|
|
|
|
|
I'm not getting any crash with your code ?
|
|
|
|
|
I'm trying to set the font in a list box, however, I can't find the documentation that dscribes or lists the fonts. The best I have found is that CWnd::SetFont takes a CFont* parameter. OK. So what does the CFont* point at?
void SetFont(CFont* pFont, BOOL bRedraw = TRUE)
So I wrote:
CFont* ptFont = ?????:
m_ListTrans.SetFont(ptFont, TRUE)
Any guidance is appreciated.?
|
|
|
|
|
First of all create a font then set it for listbox
creation of font is easy through CreateFontIndirect()
1: create a member variable of CFont ( mFont )in your class
2: then create font.
LOGFONT lf;
memset(&lf, 0, sizeof(lf));
lf.lfWeight = FW_NORMAL;
lf.lfQuality = PROOF_QUALITY;
lf.lfWidth = 20;
lf.lfHeight = 24;
mFont.CreateFontIndirect(&lf);
3: Now you can select that font in listbox
CFont* ptFont = &mFont:
m_ListTrans.SetFont(ptFont, TRUE)
Tanvon
the brain behind ...
I Blog here
|
|
|
|
|
|
<br />
CFont m_Font;<br />
m_Font.CreateFont(...);<br />
m_ListTrans.SetFont(&m_Font, TRUE);<br />
|
|
|
|
|
I'm making an appliaction that generates a timeline using open gl to display the graphics. At one time I had open gl do a translation based on the mouse position. However it was not turning out the way I wanted it to, and the project needs to be done by Monday. So i decided to throw it out and just use scroll bars since its only 2D.... and the scroll bars work.... almost.
My problem is that when you drag the scroll bar everything works right, but the second you let go. The bar goes back to 0. I'm curious what i need to add, or change so that the bar keeps its position when you let go of the bar.
C++ using MFC in visual studio 2003. If you need any thing else to help me debug send a line. I'm in the office until 5, so if you need some source code i can have that when i get home Thanks for the help,
Steve
|
|
|
|
|
you probably need to call SetScrollInfo on the scroll bar that moved, to set its position.
|
|
|
|
|
You need to handle the WM_HSCROLL or WM_VSCROLL message and set the thumb position. While you are dragging the thumb you will get SB_THUMBPOSITION notifcation messages, simple set the scroll position when that happens.
Regards,
Alex
|
|
|
|
|
Image distortion algorithms are hard to find, and c/c++ examples are very rare. I am rendering a ripple effect (stone into a pond) onto a bitmap. The algorithm itself is quite easy yet I have noticed an annoyance (and also noticed it in every example I have found.
When the bitmap is distorted the top and bottom is pulled away from the edge, revealing the origional bitmap beneath, also the left and right edges are 'how to say' wrapped around, ie the void space is filled using pixels from the opposit edge. I know that GIMP allows the option of either filling the void with the opposite edge, or filling with a brush. But both of these solutions don't look realistic.
I'm open to suggestions.
|
|
|
|
|
waldermort wrote: But both of these solutions don't look realistic.
what should happen ?
if the source data is being pulled towards the center, it seems odd that it should also be pulled outwards, to fill in holes.
one option is to let the ripple happen as the math demands, but then crop the output to get rid of the problem areas.
in my stuff, i like to fill the blank areas with pixels from the edge of the source.
|
|
|
|
|
you could enlarge the source image by wrapping the opposite edges some ammount of pixels, so that you ripple a larger image, but it will be clipped to the source image size; but you might have some problems with the corners
Attempt to some ASCII art drawing showing what I mean :
source image
+-----------+
| |
| |
| |
| |
+-----------+
enlarge source image
aaaaaaaaaaaaa
aaaaaaaaaaaaa
+-------------+
yy|xx yy|xx
yy|xx yy|xx
yy|xx yy|xx
yy|xx yy|xx
+-------------+
bbbbbbbbbbbbb
bbbbbbbbbbbbb
does that make sense ?
|
|
|
|
|
Both solutions had occured to me, and they both come with drawbacks. Enlarging he area will cause visual problems when the ripples bounce off the edges. Nevertheless, I will try all the solutions. Then settle on the better looking one
|
|
|
|
|
ideally, you could do that enlargement at the same time you're doing the ripple. that way, you only have one interpolation step.
in effect, you output to a larger rectangle than your input. should be a simple matter of scaling the coordinates on one side of the transformation. or, at least that's what it would be in my code - i obviously don't know how you do it
|
|
|
|
|
I could do the enlargment before I even touch into the ripple code, since I'm loading the bitmap and dealing directly with the dibsection. That way I would only need to crop the outpu slighlty. I'm also thinking of adding a depth algorithm to reduce the amount of warping at the edges, but this may cause problems with a ripple after it has bounced.
|
|
|
|
|
waldermort wrote: I could do the enlargment before I even touch into the ripple code
sure. but i think doing them at the same time would be faster (though speed isn't the top priority in all situations).
ex. my code does something like this:
for each output pixel (x,y):
run the ripple calculations backwards to find the source pixel (a,b)
since a and b are fractions
interpolate from multiple source pixels to find the output color
if the source image is 100x100 to scale based on crop rect (10,10, 90,90) (for example), i would do this:
for each output pixel (x,y):
run the ripple calculations backwards to find the source pixel (a,b)
scale a,b from the source rect into the crop/zoom rect
interpolate from a,b ...
just a thought...
|
|
|
|
|
It's worth a try. Since I have a screwdriver in my hand I might aswell give it a try.
|
|
|
|
|
what is best way to share data among classes? such as
CView s & CDocument s ?
what about use static data in stdfx.h?
Best Regards.
MJM.
|
|
|
|
|
mostafa_pasha wrote: what is best way to share data among classes? such as
CView s & CDocument s ?
The document 'tells' the view that data needs to be rendered. The view 'asks' the document for the data that is to be rendered.
mostafa_pasha wrote: what about use static data in stdfx.h?
Why?
"Talent without discipline is like an octopus on roller skates. There's plenty of movement, but you never know if it's going to be forward, backwards, or sideways." - H. Jackson Brown, Jr.
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
mostafa_pasha wrote: what is best way to share data among classes? such as
CView s & CDocument s ?
what about use static data in stdfx.h?
there have inbuilt function for access CView from CDocument and Viceversa.. like GetDocument et
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You
|
|
|
|
|
Hi, thanks i know GetDocument every view belong to one document!
if i wanna use data from two document & alter view what happen!
7 and how can i do that?
i found for that i can use document template & for some data can share
between all of my object i can declare in C...App the use throw my project
with theApp.Data !
is that right?
|
|
|
|
|
Hi, you know under Windows XP you can do fast switch to another user without logging out the current user. So at some point there might be more than one user that have logged in but only one of them is active.
So my question is, how can I detect if there's another user has been logged in. Is there an API that can do this thing?
Thanks!
|
|
|
|
|
try these
NetUserEnum()
NetQueryDisplayInformation()
Tanvon
the brain behind ...
I Blog here
|
|
|
|