|
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?
|
|
|
|
|
|
CString name;
WCHAR disname[100]={0};
name= m_IniReader.getKeyValue(str,"VIEWNAME");;
wcscpy(disname, A2W((LPCSTR)name));
like this?
|
|
|
|
|
Try this
WCHAR disname[100]={0};
CStringW name;
name= m_IniReader.getKeyValue(str,"VIEWNAME");
wcscpy(disname, (LPCWSTR)name.GetBuffer(100));
MessageBoxW(NULL,disname,disname,MB_OK);
name.ReleaseBuffer(100);
|
|
|
|
|
Mohan Ramachandra wrote: wcscpy(disname, (LPCWSTR)name.GetBuffer(100));
No, calling GetBuffer is really a very bad practice. You shouldn't do that, the CString class already provides cast operators so there's no need to call GetBuffer !
And the the case is probably no needed neither, but that depends how the project was compiled (UNICODE or not).
|
|
|
|
|
i heard a lot of time calling GetBuffer a bad practice,
why do so?
Ajayraj
|
|
|
|
|
GetBuffer (as the name suggests) exposes the internal buffer of the CString object.
Moreover you must remember to call ReleaseBuffer when you've done with it. Most of the times, you really don't need to call it.
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]
|
|
|
|
|
Because if you read the documentation of the function, you will see that you get a pointer to the internal buffer of the string and that you HAVE to call ReleaseBuffer afterward (which will be often forgotten). Furthermore, why would you use GetBuffer, while the CString provides a cast operator which returns you the same thing ?
Calling GetBuffer can lead to mistakes if you forget to call ReleaseBuffer.
|
|
|
|
|
Cedric Moonen wrote: No, calling GetBuffer is really a very bad practice. You shouldn't do that, the CString class already provides cast operators so there's no need to call GetBuffer !
Thanks, I didn't know that
|
|
|
|
|
|
Did u check the whether you are getting the japanese text in CString?
And i hope its a UNICODE build.
Величие не Бога может быть недооценена.
|
|
|
|
|
yes i m getting japanese text in CString.
|
|
|
|
|
Please check whether _UNICODE preprocessor is added in your project setting.
Величие не Бога может быть недооценена.
|
|
|
|
|
CString name;
WCHAR disname[100]={0};
name= m_IniReader.getKeyValue(str,"VIEWNAME");;
wcscpy(disname, A2W((LPCWSTR)name));
Use this code. And make sure that your project build support UNICODE.
Raj Jaiswal
|
|
|
|
|
Hi,
My application is a MDI application and looks like,above the frame(mainframe caption bar)one modeless dialog always displaying.
My problem is in order to move the applicaton to secondary monitor,we normally do- Restore down the window,and clicking on the blue caption bar we drag the window and move to secondary monitor.
But my application always having dialog on top,i cannot click on the caption bar,so i cannot move to secondary monitor.
So pls anybody of you kindly explain how can i move that.
Anu
|
|
|
|