|
No bother at all. pDC is a *pointer* to a CDC, which is why you use a -> instead of a . to access it's members. A class can define an operator for a type, so that if a class is passed into a function that is looking for a different type, that type is returned. For example, CPoint wraps a POINT, and also defines operator POINT, so the underlying POINT is returned to functions that require it.
This will only work if you have an object, not a pointer. The way to turn a pointer into an object is to put a * in front of it. For example, if you had a CPoint * called pPoint, you could do this:
CPoint pt = *pPoint;
In the same way, you can do this
Graphics graphics(*pDC);
instead of
Graphics graphics (pDC->m_hDC);
Christian
I have come to clean zee pooollll. - Michael Martin Dec 30, 2001
Picture the daffodil. And while you do that, I'll be over here going through your stuff.
|
|
|
|
|
AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
I just want to hit my haed to the wall.
Still the same porblem
AHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Mazy
Don't Marry a Person You Can Live With...
Marry Someone You Can Not Live Without
|
|
|
|
|
Did you check in the debugger if pDC is a valid object, or if it is 0 ?
Christian
I have come to clean zee pooollll. - Michael Martin Dec 30, 2001
Picture the daffodil. And while you do that, I'll be over here going through your stuff.
|
|
|
|
|
Yes.it's valid and it is not 0,
but as I said m_hDC,and m_hAttribDC of it cannot be evaluated
but they are not 0 too
I didn't change anything in my setting of project
except I add GDI+ support,how can pDC be 0?
oh,I only changed OnDraw(CDC */*pDC*/)to OnDraw(CDC *pDC)
Does it help?
Mazy
Don't Marry a Person You Can Live With...
Marry Someone You Can Not Live Without
|
|
|
|
|
Is this in a Document/View application?
The reason is that OnDraw() is called after the user makes a change through the view (minimizing, maximizing, drawing, resizing). Only when those things have changed *through* the view will it be updated. Simply drawing with code in OnDraw will not be seen until the next WM_PAINT message is thrown which happens on minimizing, maximizing, drawing, resizing, etc..
Then when those conditions are met, the view calls the OnPaint() handler function in response to the WM_PAINT message then a device context is created of class CPaintDC which calls your OnDraw() function. What you can do is call RedrawWindow with the RDW_INTERNALPAINT flag(Which is kind of redundant on each WM_PAINT message) or call the InvalidateRect function which throws a WM_PAINT message (I think is better to do this) or do your application painting in OnPaint() using dc.m_hDC instead of pDC->m_hDC.
If I knew you were using a document class I might be of better help. Sounds to me like your not using a document class in your application. Hope that helps you.
|
|
|
|
|
Thanks for your information Jay,but after I move those code to OnPaint() again every things draw after I minimize or.. it.
And I don't know about another way you said
It is Document/View application,but I didn't use my doc class
thanks
Mazy
Don't Marry a Person You Can Live With...
Marry Someone You Can Not Live Without
|
|
|
|
|
Sorry Mazy, looking through your code it should work as your wrote it. It should work in the OnDraw handler - I even tried your code and it compiled and the application worked well. The OnDraw handler seems to not be getting called on creation or not recieving the WM_PAINT message on creation. For reasons I don't understand. Hopefully some one can help you.
|
|
|
|
|
thanks Jay
Mazy
Don't Marry a Person You Can Live With...
Marry Someone You Can Not Live Without
|
|
|
|
|
Netmeisters,
I've had eVC 3.0 with the PPC SDK installed. I just
installed the PPC 2002 SDK (plus SSCE 1.1). Now when I
start up eVC, I have the choice of "Pocket PC" and "Pocket
PC 2002" platforms. Fine, but when I select the latter,
the only available targets are "Win32 (WCE ARM) Debug"
and "Win32 (WCE ARM) Release". "Win32 (WCE x86em)" does
not appear. An emulator starts up, but of course I get a
message stating that the executable doesn't match the
platform.
Thus I am unable to use the emulator for the PPC 2002 platform.
Since I don't know any other Pocket PC developers, I don't know what
the PPC 2002 SDK is *supposed* to look like. I assume this isn't what
it is supposed to do, but it is hard to see what I could have done
to screw it up, since there were no options during installation.
Your assistance much appreciated.
|
|
|
|
|
AS far as I understand, teh String ARM processor is the only processor that is supported in 2002 and on.
|
|
|
|
|
Have you selected emulator x86 in tools>Platform manager>default device
I think that is the problem.
|
|
|
|
|
Hi,
I would like to send AT command to the serialport.
The command for send to the Serialport is OK.
But when I send the data through the SerialPort, Nothing.
With Hyperterminal when I send the AT command all are OK.
If anyone can help me .
Best Regards
youssef
|
|
|
|
|
Can you tell me, what is API functions for sending AT commands to modem ?
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
I have the all command that I need for extract SMS from a GSM.
When I use the Hyperterminal, I receive an answer from the GSM.
But when I would like to send via the CreateFile, ReadFile,WriteFile
For example : I would like to send AT+CSMS? with serialport. How can I do?
youssef
|
|
|
|
|
I am trying to embed view inside custom tab
More like DiLascia tab.....
http:
So far
SDIFrame
CMyView
CList
CStatic
....
CFolderTab
CView1
CEditN
CView2
.....
Create CView1/CView2
CRect rectDummy(0, 0, 0, 0);
CreateContext cc;
ZeroMemory(&cc, sizeof(cc));
m_pView1 = (CView1 *)RUNTIME_CLASS(CView1)->CreateObject();
if (!m_pView1 ||
!((CWnd *)m_pView1 )->Create(NULL, NULL, WS_CHILD,
rectDummy, m_pFlatTabCtrl, IDC_CONNECTION_G_PROPERTIES, &cc))
{
TRACE0( "Failed to create View1.\n" );
return -1;
}
folderTab.AddPage(0,m_pView1);
View looks fine and DDX*, DDV work in View1,
But when focus set to CEditN within CView1 no messages routed to CMyView.
What am I missing?
|
|
|
|
|
BOOL CMyView::PreTranslateMessage(MSG* pMsg)
{
if( pMsg->message == WM_SETFOCUS &&
pMsg->hwnd == m_edit.GetSafeHwnd() ) // CEditN: m_edit
{
// add your codes
}
return CView::PreTranslateMessage(pMsg);
}
|
|
|
|
|
Hi,
Ive got a small dialog application which has a few popup windows which normally exist outside of the client area of the main dialog. On the main dialog there are several controls that have tooltips asscoiated with them. My problem is that the tooltips get displayed on top of the main dialog but "underneath" the other popup windows. Is there any way around this problem or is it unfixable?
Cheers,
Andy.
|
|
|
|
|
Try setting the Z order to topmost:
pWndTT->SetWindowPos(&wndTopMost, 0,0,0,0, SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE);
farewell goodnight last one out turn out the lights Smashing Pumpkins, Tales of a Scorched Earth
|
|
|
|
|
Hello,
I would like to know how can i get the following information in VC++6.0:
- Get the language use by the OS,
- Get the IP adress,
- Get the hostid,
- Get the serial number of the network card,
- Get the user login name.
Thanks for help.
S.
|
|
|
|
|
For the "language" maybe this help you:
GetInstalledLangs()
GetSystemLCID()
Mazy
Don't Marry a Person You Can Live With...
Marry Someone You Can Not Live Without
|
|
|
|
|
Samprayoga wrote:
- Get the IP adress,
try this:
char buf[128]; struct hostent *host; struct in_addr addr;
gethostname(buf, 100);
host = gethostbyname(buf); // host id
memcpy(&addr, host->h_addr_list[0], sizeof(addr)); // ip address
// don't forget to do error checking, though
|
|
|
|
|
Hi,
Is there anyway to get the background color for tab control in XP?
Neha
|
|
|
|
|
Hi,
I had set dc.SetBkMode(TRANSPARENT); in OnPaint() function.In OnLButtonDown() function i will hide some controls & display some new controls. But it never hides the controls eventhough i had written Invalidate().
But if i minimise & maximise the window.it is proper.
Could anyone tell me what is wrong?
Neha
|
|
|
|
|
Anonymous wrote:
dc.SetBkMode(TRANSPARENT); in OnPaint()
This call will only affect the Device Context for the extent of the OnPaint handler. So I don't think it would do what you want. You need to make use of the ShowWindow() function using SW_SHOW or SW_HIDE as parameters on the windows you want to show/hide.
Roger Allen
Sonork 100.10016
If I'm not breathing, I'm either dead or holding my breath.
A fool jabbers, while a wise man listens. But is he so wise to listen to the fool?
Please step to the rear of the car and make room for more victims. - John Simmons the Outlaw programmer, 1st Feb 2002, in the lounge
|
|
|
|
|
One more thing was i was returning TRUE inOnERaseBKGnd()..
|
|
|
|