|
And have to deal with LockWindowUpdate and drawing on the screen and erasing when you're done. All in a day's work?
"Do unto others as you would have them do unto you." - Jesus
"An eye for an eye only makes the whole world blind." - Mahatma Gandhi
|
|
|
|
|
Why would you need to call LockWindowUpdate() ?
/ravi
Let's put "civil" back in "civilization"
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
Because if another app drew on the screen in an area where you had inverted an area to draw the resize border, and then you re-inverted it, you would invert a part that had just been drawn over, which would leave a strange partial inverted band on the screen until that area was re-painted. So you call LockWindowUpdate(GetDesktopWindow()) to disallow other apps from drawing on the screen. Then you call GetDC(GetDesktopWindow(),NULL,DCX_LockWindowUpdate) to draw on the desktop window yourself. When you've unlocked the window update (by calling LockWindowUpdate(NULL)), the areas which other apps have attempted to draw on will be invalidated.
PS:
It's not that this is impossible or even extremely hard - it's just that there *ought* to be a better way.
"Do unto others as you would have them do unto you." - Jesus
"An eye for an eye only makes the whole world blind." - Mahatma Gandhi
|
|
|
|
|
jdunlap wrote:
Because if another app drew on the screen in an area where you had inverted an area to draw the resize border,
I've used regions to do what I've described with no problems. I just create a captionless window, enforce a non-standard drawing region, draw my custom caption, and handle OnHitTest() so that the user can drag the window using my custom caption bar. Windows handles painting on the desktop just fine because I've decreed what part of my window is transparent.
jdunlap wrote:
Then you call GetDC(GetDesktopWindow(),
Huh!? Are you suggesting drawing directly on the desktop and not in your window's DC?
Maybe I'm just dense and am missing your point.
/ravi
Let's put "civil" back in "civilization"
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
I'm talking about the size border drawn when you resize, but you can do full window resize/dragging (i.e. draw the window contents rather than just the border). Windows, when drawing the size border, draws directly on the desktop.
PS: We're in danger of making this thread 3 pages long, and I don't think the original poster is even paying attention anymore!
"Do unto others as you would have them do unto you." - Jesus
"An eye for an eye only makes the whole world blind." - Mahatma Gandhi
|
|
|
|
|
Thanks for the suggestion Ravi. I don't need to worry about resizing anyway because I'm dealing with menus (yeah, I'm doing my own ownerdraw ones - but without MFC). If I can get this to work, I'll give ya the credit for the tip. Either way, I'll let ya know how it pans out.
Jeremy Falcon
|
|
|
|
|
I want to open a pdf file from within a windows application. It doesn't have to open inside my application. I've been looking around for an hour now, and though I better get some help...
Thanks.
|
|
|
|
|
|
Thanks, that did the job!
|
|
|
|
|
Till yet I've never used that but I think you should have a look at the command execlp
Hope this helps
|
|
|
|
|
I'd like for my program to check on the network for the newer version of itself. I'd like to able to just stick new versions in the same directory, and look for them on execution.
can someone point me in the right direction? Thanks!
BW
"The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts."
- Bertrand Russell
|
|
|
|
|
One solution is a mutex with an ID that includes program version.
Kuphryn
|
|
|
|
|
Hello,
I'm new in this website, but is looks great
I know some programming lenguages like c++, VB,
I would like to learn vs c++, and i can't find how, I have VC++ 6, and MSDN 6.
I will be happy to get some help
Thank you guys
|
|
|
|
|
I don't understand; you just said you have VS C++ 6.0; that IS visual C++.
Do you mean VS C++ for .NET?
James A Beggs
Microsoft MSN Mobile Component Test Team
|
|
|
|
|
oppsy, you right...
I have vc++ 6, not the .NET one
|
|
|
|
|
Well, for non-.NET programming needs, you can pretty much use VC++ as you would VC++ 6; for .NET stuff, I wouldn't know where to direct you; perhaps you can pick up a book.
James A Beggs
Microsoft MSN Mobile Component Test Team
|
|
|
|
|
somthing i didn't tell you...
i have VS .NET
i can't try learn about VC++ .NET but isn't it much harder then vc++ 6?
?
|
|
|
|
|
If you're new to windows programming in general, neither one would be harder than the other. But you might want to get the experience of learning VC++ 6 because it involves you heavily with windows programming.
"Do unto others as you would have them do unto you." - Jesus
"An eye for an eye only makes the whole world blind." - Mahatma Gandhi
|
|
|
|
|
i don't know how u consider VB with windows programming...but i made alot of projects there...
and i'm kinda good there ...and i just need some help with the begining of vc++
|
|
|
|
|
It all depends on what you did with VB.
You are lucky to have both VC .NET and VC 6. Happy programming!
"Do unto others as you would have them do unto you." - Jesus
"An eye for an eye only makes the whole world blind." - Mahatma Gandhi
|
|
|
|
|
hi, i realise this is not exactly the right place to ask this kind of question but since u people seem to know a lot i thought it was worth a shot.
I recently got this router with a built in firewall. Now, i always used to play this game that uses port 27960 to send all its data for multiplayer gaming. Now the weird thing is, now with the router i cant play this game anymore, it gives me a connection error. BUT i can play all other games fine (i dont know the ports for those), i can chat, i can surf the web, everything. So i dont understand why it doesnt work. Could it be the firewall blocks just that port??? seems highly unlikely...
Kuniva
--------------------------------------------
|
|
|
|
|
Yes, and the best for you is to read your router documentation (outgoing ports configuration).
|
|
|
|
|
Like Michel said, yes. Most firewalls have the uncommon ports blocked by default. Chances are, you'll need to unlock it manually.
Jeremy Falcon
|
|
|
|
|
Hi there.
I'm a professional IT guy working as a Test Engineer. I've done a smidgeon of development, but I'm really junior level in that area, and all I've really done is stand alone application development, so I have a lot of skills I need to work on.
What I'm trying to do is learn how to write an application that can call other applications and manipulate them; in other words, open up an application, do the effect of a "File-Open" command in that application, etc.
And I have no idea where to begin learning these things. Can anyone shove me in the right direction?
Thanks!
James A Beggs
Microsoft MSN Windows CE Platform Builder Test Team
|
|
|
|
|
as far as i understand this cant be done unless the application you are working with supports automation.. in other words it has to be written specifically to allow you to send it messages that it responds to..
on the other hand, most windows applications will take a filename as a first parameter, so if you are just opening a file it would be 'notepad myfile.txt', of course that would require that the program be written to look for this as well..
still a newb.. cut me some slack :P
-dz
|
|
|
|