|
Your code is fine, I called it this way:
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
paint_line(hWnd, hdc, 0, 0, 400, 400, 5, RGB(255,0,0));
EndPaint(hWnd, &ps);
break;
and got a beautiful red thick line in my window.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
I m working on a maintanance project which is too big.
the same code which i send to you is been used in my project but its not working .is there any possiblity to set some default thickness of lines throughout the graph.i scare that like that some handling has been done ..
because i even tried till 50...
|
|
|
|
|
thanks pallini
it worked when i gave thickness as 300
thanks a lot for spending time for me...
|
|
|
|
|
Have you set any mapping mode at the DC ?
(did you tried with thickness = 100 ?)
virtual void BeHappy() = 0;
|
|
|
|
|
sorry Eugen
i am a beginer.I am not sure with Mapping Mode
|
|
|
|
|
Could you post your calling context of the function too ?
(it is a function that does call the paint_line(..) function)
virtual void BeHappy() = 0;
|
|
|
|
|
inside paint line this is the portion where i create a pen
hpen = CreatePen(PS_SOLID, thickness, rgb);
i have tried like giving
hpen = CreatePen(PS_SOLID, 0, rgb);
.
.
.
.
.
.
.
.
.
.
.
hpen = CreatePen(PS_SOLID, 50, rgb);
|
|
|
|
|
OK, could you try with 300 only, please ?
virtual void BeHappy() = 0;
|
|
|
|
|
thanks Eugen
its working fine
thanks a lot
why is it so ???
|
|
|
|
|
Probably a special DC Mapping Mode[^]
was set in the calling context...
(For example: Carlo Pallini has given his calling context -
there are no modifications of the DC Mapping Mode there,
so it is possible to "feel" the arguments by 2 or 5 too )
virtual void BeHappy() = 0;
|
|
|
|
|
Eugon
I think i need to learn About setting Modes
its my pleasure to talk with you
thanks a lot
it really helped me
arun
|
|
|
|
|
You are welcome, Arun !
(please observe the function that does call paint_line(..) -
maybe, there is some variable like float fZoomingFactor there,
so you could call the function like paint_line(.., thickness * fZoomingFactor, ..) )
virtual void BeHappy() = 0;
|
|
|
|
|
yup Eugen
Zooming factor is existing
i am adjusting my code according to that ...
|
|
|
|
|
Are you completely sure your thickness parameter's value isn't 0 or 1 when you call your paint_line function? Aside of that i believe what line widths and styles you can use depends on the driver "behind" the DC, are you maybe drawing onto some "special" target, like a PDF writer or -dunno- a plotter machine's printer driver or somesuch?
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Sometimes you just have to hate coding to do it well. <
|
|
|
|
|
thanks for the reply
I have tried from 0 to 50...
but no change in the thickness....
i m plotting line in Wingdi normal graph
|
|
|
|
|
Use the debugger to trace through your function to see what exact value is being passed in the thickness parameter. It is likely that you are not passing this parameter correctly.
txtspeak is the realm of 9 year old children, not developers. Christian Graus
|
|
|
|
|
Place a breakpoint on the beginning of your paint_line method and once it gets hit, check the thickness parameter's value to see if it really is not 0 or 1.
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Sometimes you just have to hate coding to do it well. <
|
|
|
|
|
inside paint line this is the portion where i create a pen
hpen = CreatePen(PS_SOLID, thickness, rgb);
i have tried like giving
hpen = CreatePen(PS_SOLID, 0, rgb);
.
.
.
.
.
.
.
.
.
.
.
hpen = CreatePen(PS_SOLID, 50, rgb);
|
|
|
|
|
it worked when i gave thickness as 300
thanks a lot for spending time for me...
|
|
|
|
|
No probs, here[^] you can find info about the mapping modes as mentioned by someone, try setting the MM_TEXT mapping mode before drawing your line and see what results that produces.
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Sometimes you just have to hate coding to do it well. <
|
|
|
|
|
i m goign through the article
thanks a lot
|
|
|
|
|
//Create pen based on your requirement.
HPEN hPen= CreatePen(PS_SOLID, thickness, RGB(0,0,0));
//Select the created pen in Device context. If you want to capture capture the old pen. Once you are
//done with the drawing select the old pen back and destroy the pen you have created.
HPEN hOldPen = (HPEN) SelectObject(hdc, hPen);
//Do your drawing here.
...
...
...
//Select the old pen back so that the newly created pen will get deselected.
SelectObject(hdc, hOldPen );
//Delete the pen.
DeleteObject(hpen);
Use above mentioned code to draw your line with thickness.
Raj Jaiswal
|
|
|
|
|
hi,
hw can i show japanese characters in MSflexgrid.for example headers in MSFlexGrid?
|
|
|
|
|
Hi,
i m reading value from ini file and reading into CString.values are stored in japanese language in ini file.now when i convert CString into WCHAR it turns into garbage value.any solution?
|
|
|
|
|