|
This is the best one I've ever seen! Legendary!
Damn, I've got alot of work to do if I'm going to respond to this one.
Cheers,
Mark
|
|
|
|
|
Mark Salsbery wrote: Legendary!
Software development is a race between the programmers building bigger and better software and the universe building bigger and better idiots, so far the universe is winning.
led mike
|
|
|
|
|
Do you really think that someone here has soo much time to loose ?
|
|
|
|
|
37 - Don't use locks!
Any sufficiently gross incompetence is nearly indistinguishable from malice.
|
|
|
|
|
Mark obviously does
|
|
|
|
|
This topic is not about answering a question ... instead it is about discussing various ways in which any of this questions can be tackled! And guys for your info its not an Home Work Assignment ... They are just some topics I found!
And btw Nobody needs to discuss about all ... if you CAN dare to discuss any one of them, thats more than enough
|
|
|
|
|
Is there an easy way to programatically detect overlapping child windows? I have a nearly flicker free gui, I say nearly because when windows are obscuring each other they like to fight about who should appear on the screen. I was hoping to find a valid clipping region in the DC passed to WM_ERASEBKGND, but no such luck, even with the WS_CLIPSIBLINGS bit set.
Also, could somebody please help me to understand the Z order of windows. Am I right in thinking that all children of the same window would have the same Z order? Or is there a definite sequence?
|
|
|
|
|
waldermort wrote: they like to fight about who should appear on the screen
Use the WS_SURRENDER style.
waldermort wrote: Or is there a definite sequence?
No it is random.
Sorry the thread below put me in a mood.
led mike
|
|
|
|
|
led mike wrote: Use the WS_SURRENDER style
g'damit, I was using the WS_WHITETOWEL style.
|
|
|
|
|
waldermort wrote: g'damit, I was using the WS_WHITETOWEL style
Rookie mistake
|
|
|
|
|
Check this article for how to avoid flickering by using the CMemDC object.
http://www.codeguru.com/Cpp/misc/misc/flickerfreedrawing/article.php/c389
For the Z order, each child of an MDI window has its own Z-order. To iterate through the Z-Order of each child window, you can use the following API:
CWnd::GetWindow() with GW_HWNDNEXT/GW_HWNDPREV or CWnd::GetNextWindow() and while iterating through the windows, you can identify their Z-order.
|
|
|
|
|
Shahzad Asif wrote: Check this article for how to avoid flickering by using the CMemDC object.
Thanks for the link, but double duffering is for the little kids who want the easy way out. I'm making a point in this project to not use any off screen drawing.
|
|
|
|
|
Well, depending on how many drawing operations you have, you might have to use double buffering techniques if you want it to be flicker free.
If you are going to clip child windows in the erase background handler, I suggest you create a region (CRgn) based on the child window rectangles, and use it as clipping mask. That way the parent handler will not erase the background of your child windows (why aren't you using WS_CLIPCHILDREN anyway?? - WS_CLIPSIBLINGS only affect sibling windows).
--
Torn from tomorrow's headlines
|
|
|
|
|
Joergen Sigvardsson wrote: I suggest you create a region (CRgn) based on the child window rectangles
Thats exactly what I am doing. Due to the nature of the various shapes of my windows, I cannot use the WS_CLIPCHILDREN style for two reasons. I find it to be a lot slower than my own techniques and unless SetWindowRgn() is called for each child, the clipping region is always rectangular.
Clipping the children from the parent is no problem. But clipping the siblings from each other is where I am having some trouble. Obviously the topmost child takes priority, but the underlaying child needs to have it's clipping region altered.
|
|
|
|
|
That's a nice approach
waldermort wrote: I find it to be a lot slower than my own techniques
My code doesn't work, but it's the fastest available
(Sorry, but that was really funny )
|
|
|
|
|
Given my (relatively) advanced years, I'm allowed to be a grumpy old man.
I'm now exercising that right (and I recognise that no right exists without responsibility, and it's part of that responsibility towards the usefulness of CP as a contributor via the forums that makes me act).
MFC is a set of foundation classes to make working with Win32 easier.
That's 'easier', not necessarily 'easy'. It helps tremendously if you can learn about the Win32 API itself while you are using MFC, because some day you will need to write something that there's no wrapper for.
Go and read Petzold, or actually read the MSDN documentation. At a push, step into some of the source of MFC. But do something that will actually advance your knowledge of the area you're working in.
If you're doing CS in college, pay more attention when your proposed assignments or homework are being discussed. If you don't want to do the work, you won't reap the reward (or if you do, it won't last past your first week in a new job).
If you're doing this for a living (which many of us here are), recognise that hey, we are all in the same boat here, and it pays to be polite, and help where you can. Unless I missed a memo somewhere, no one actually gets paid to help anyone else on here, so if you come across as insufferably rude, you won't get much help.
If I see "URGENT: PLEASE HELP", I tend to skip that. No point helping people who can't plan properly
Steve S
Developer for hire
|
|
|
|
|
Steve S wrote: Go and read Petzold, or actually read the MSDN documentation.
Word!
|
|
|
|
|
I agree too. My other 'favorite' is "quick question." Yeah, right.
|
|
|
|
|
If I were stood next to you right now I would shake your hand, pat you on the back and run away with your cane.
Learning to use a wrapper, in my opinion, is not learning to code. I see many programs and especially libraries that are coded in MFC, much of the time it's unwarrented. We all know MFC apps come with baggage. If the project is a large scale multi media library, then no problem. But I don't want to download a 3mb calculator, nor would I expect anybody else to.
What pains me the most is to see an excellent code sample that would greatly help in one of my projects, only for it to be MFC only. There are very few projects/articles on here that cater for non MFC users. Is it so difficult for people to test what is defined?
|
|
|
|
|
waldermort wrote: and run away with your cane.
ROTFLMAO aaaahahhahahahaha...
led mike
|
|
|
|
|
Win32 coding is lot better than MFC . For example , I did my first TCP server using CSocket . I tried to use the same CSocket in a console application . I was able to create,bind and listen on the server object -but I was surprised to find that OnAccept() never fired when clients attempted connections ! . It took me a while to realise that in a console app, if we use CSocket, then the messages won,t be pumped to the socket layer . Someone suggested me to use a invisible framewnd class to act as message handler !
So lets learn it in the right way (hard way ?)- Win32
redindian
|
|
|
|
|
Steve S wrote: we are all in the same boat here
Yeah but some of us should always wear a life Jacket while others should just stay on dry land at get their fish filet at McDonalds.
Don't ask, I have no idea what that means.
led mike
|
|
|
|
|
led mike wrote: some of us should always wear a life Jacket while others should just stay on dry land at get their fish filet at McDonalds
Mind if I use that as a signature??
|
|
|
|
|
Mark Salsbery wrote: Mind if I use that as a signature??
Sure why not.
led mike
|
|
|
|
|
What is your question?
led mike
|
|
|
|