|
use of m_Open.EnableWindow(1); or 0 for disable
|
|
|
|
|
I created an MFC ActiveX Control with VC++ Wizard. Compiled it without changing anything. Created a webpage, put it in (it draws an ellipse).Now drag the horz scrollbar, the image inside the activeX control is teared and dragged terribly. It even draws the border on the surface of activeX control. how to avoid this flickering.
|
|
|
|
|
can you explain more,
because, i used my own active X controls, which display images in web pages(html). but i never faced such problem.
|
|
|
|
|
Hi,
Is it possible to make the client area of a window as non-rectangular? If yes how?
Thanks in advance.
- NS -
|
|
|
|
|
Yes, i have a word document where it is explained how to make a round window, the most important problem... It is on spanish. But if you want I can send you it, and take a look in the code that is being explained (altough you can not understand the explanations)
if rounded is possible, I guess polygonal will be possible too.
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
|
|
|
|
|
Thank you for the replay. But are you sure that it says about creating the client area as round? Or simply the window?
Anyway I dont know Spanish But if you kindly send it I may try by using any translators
- NS -
|
|
|
|
|
Now that you say it... it is a round window (I read it too quick). So it problably won't be usefull at all.
But... it is a bit difficult to see the concept, if the window is not round... why to stablish a round client area?
and an innocent try...
have you thought about masking the squared client area with a user defined region and avoiding all what is outside the limits of the region?
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
|
|
|
|
|
Let me say an example. Suppose my window has a round shape. And it has child controls. And my requirement is that, the border should be of a few pixels. So the childs should be clipped by the round client border if it is placed beyond the client. If only rectangular shape is possible for client, you can imagine what will be the problem. There will be non uniform border thickness, right?
- NS -
|
|
|
|
|
Send me a pm to have your email and I will send you the document anyways, there may be some code that gives you an idea.
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
|
|
|
|
|
|
Sorry. This is not what I am looking for.
- NS -
|
|
|
|
|
The client area of a window is kind of an abstract concept.
The WM_NCHITTEST message is used by the system to determine points
in or outside of the client area.
You can handle this message and adjust the return value appropriately.
For drawing, you'll need to use clipping regions if necessary.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
But what about the clipping of child controls by the client area?
- NS -
|
|
|
|
|
See here.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Thank you. But I could not found the solution for my doubt. I am not talking about the NcHitTest. But the actual client area, by which the child's visibility is clipped. AFAIK client are cannot be non-rectangular.
- NS -
|
|
|
|
|
Yes, I just did it.   The concept is fairly easy to implement if you are managing your own custom container control ( which I'm fairly certain is what you are doing based on the thread ).
To implement this; however, you need to use only custom child controls or child controls that have OnPaint() overridden so that you can interject a clipping region prior to the child control being rendered.
1. In your custom container control, in the OnPaint() event, calculate the desired client area GraphicsPath.   Save that path as a public member for later use by chlid controls, let's name it 'ClientAreaPath' for fun.
2. For any control that can be added to your custom container, define the control as a custom control, or at least inherit and override the OnPaint() event.
3. In your child controls, in the OnPaint() override, determine if the control is a child of your custom container and, if so, then transform and apply the ClientAreaPath that was calculated and saved in step #1 above.   Viola - non-rectangular clipping
Here's a rough c# outline of the child control OnPaint() operations.
public override void OnPaint( PaintEventArgs e )
{
// determine if this control is parented and if the parent can supply a ClientAreaPath
try
{
// attempt to cast, will cause exception if nothing else
MyCustomContainer parentContainer = ( MyCustomContainer )Parent;
// get a copy of the custom client path
GraphicsPath p = new GraphicsPath(parentContainer.ChildPath.PathPoints, parentContainer.ChildPath.PathTypes);
// transfrom the path to be relative to the client (critical step here)
// all paths are "zero-relative" so the client needs to see this path expressed
// not as zero-relative, but client-location relative instead
Matrix translateMatrix = new Matrix();
translateMatrix.Translate(-(Location.X), -(Location.Y));
p.Transform(translateMatrix);
// now apply a nice clipping region to the control's graphics object so that
// all subsequent render related operations will clip appropritely
e.Graphics.SetClip( p );
}
catch( <bleh> )
{
}
// ******* now render your control using whatever means you want, just make sure that
// you do not reset the clipping path - if you need to clip additional client-relative
// areas, use a clipping combine mode of compliment ( or whatever that option is )
}
Hope this helps Of course, based on the date of the post ( 3 years ago ), probably not LOL.
modified on Monday, February 1, 2010 12:32 PM
|
|
|
|
|
rnendel wrote: Hope this helps Of course, based on the date of the post ( 3 years ago ), probably not LOL.
This solution was not applicable (at that time) I think...
- ns ami -
|
|
|
|
|
Hello all,
I have written a code for getting html code of any given link using api's .
Now what i want is when a particular page is taking more then 10 sec to get its html code a message box stating time out should be displayed. How can i do this?
Thanks in advance
|
|
|
|
|
You can use SetTimer (...) when the function to get the code starts, and KillTimer (...) when the function ends succesfully with the download of the code.
If the timer reachs the end of the interval, then you can code you dialogbox with the error in the message WM_TIMER.
hope it helps
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
|
|
|
|
|
SetTimer is a function in CWnd class and i am doing all my processing in a worker thread. How to apply this functionality in a thread
|
|
|
|
|
can sleep maybe help?
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
|
|
|
|
|
Hi,
I have a third party dll and a lib file. Now i want to check whether the lib file and the dll have been built using the same .obj files or not?
Is there any tool or utility which can give me the names of the .obj files used in building the correspinding dll.
For .lib files we can use the lib.exe utility which comes with visual studio.
Any help will be great.
|
|
|
|
|
Hello All,
I want to know that my desktop is changed or not ??
I want the message handler that will inform my application that my desktop is changed.
I want to continuesly check that my desktop changing information.
I want that specific changed rectangle from the desktop.
Thanks in Advance,
Ashish
|
|
|
|
|
ashishbhatt wrote: I want to know that my desktop is changed or not ??
See if WM_SETTINGCHANGE is of any help?
ashishbhatt wrote: I want that specific changed rectangle from the desktop.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Hi all:
I'm wondering why the following code need type conversion from PVOID to PBYTE, is it because of the type of "Size"? and why PBYTE, will any other type will do the same thing?
PVOID pvAddressBlk;
SIZE_T RegionSize;
pvAddressBlk = (PVOID) ((PBYTE) pvAddressBlk + Size);
Thanks,
|
|
|
|