Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

SetWindowRgn problem

Posted on 1998-08-18
1
Medium Priority
?
421 Views
Last Modified: 2013-11-20
I need to change several times the shape of a window. I have two CRgn objects, and I pass an HRGN of that objects to a SetWindowRgn function. But the SetWindowRgn call, works only one time per object. After that, nothing happens. No error, no crash. I tryed to store the HRGN of the window first, but the machine crash.
0
Comment
Question by:wau
1 Comment
 
LVL 8

Accepted Solution

by:
Answers2000 earned 200 total points
ID: 1320964
1. You can't use the HRGN after you've called the SetWindowRgn API/Function.  From the help:
After a successful call to SetWindowRgn, the operating system owns the region specified by the region handle hRgn. The operating system does not make a copy of the region. Thus, you should not make any further function calls with this region handle. In particular, do not close this region handle.

2. Once you've set the Rgn, any new regions are relative to this.  You need to reset the region to the entire window, if you want to set a new region.  Setting it to NULL should be enough.

3. Redraw parameter must be null.


4. Therefore to change the region do something like :
pWnd->SetWindowRgn( NULL, TRUE ) ; // remove old region
pWnd->SetWindowRgn( hrgn, TRUE ) ; // set new region
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Ownerdraw of the grid button.  A singleton class implentation and usage. Continuing from the fifth article about sudoku.   Open the project in visual studio. Go to the class view – CGridButton should be visible as a class.  R…
Introduction: The undo support, implementing a stack. Continuing from the eigth article about sudoku.   We need a mechanism to keep track of the digits entered so as to implement an undo mechanism.  This should be a ‘Last In First Out’ collec…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
Integration Management Part 2
Suggested Courses

571 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question