|
OK
What are you using? VC6, VC7?
Is this Tab control MFC, eg. with CPropertySheet/CPropertyPage.
Is is dynamically created, or just the standard controls dragged from the toolbox onto the dialog in the resource editor?
Does this happen with all tab/property pages on your machine, or just the one in your app?
Martin
|
|
|
|
|
Martin Koorts wrote:
What are you using? VC6, VC7?
VC6, it's a MFC project.
Martin Koorts wrote:
Is this Tab control MFC, eg. with CPropertySheet/CPropertyPage.
I'm not using the CPropertySheet/CPropertyPage classes.
Martin Koorts wrote:
Is is dynamically created, or just the standard controls dragged from the toolbox onto the dialog in the resource editor?
It's just dragged from the toolbox into the dialog, using the resource editor.
I'm handling the click messages on the tabs myself, to display the correct dialogs / dialog elements. I'm not using any third-party classes to do this.
Martin Koorts wrote:
Does this happen with all tab/property pages on your machine, or just the one in your app?
It just happens in my application. In the desktop display properties for example it looks correctly.
Any ideas??
Thanks for your reply and best regards
|
|
|
|
|
What happens if you create a Dialog-based MFC app using the wizard, with the same controls?
Sorry if this messes you about, but that's just what I would try.
Martin
|
|
|
|
|
Exactly the same...
- Create new MFC dialog project
- Drag-n-drop a tab view into the dialog
- Drag-n-drop a static onto the tab view
- Add a XP manifest (resource 24/1) to the project and manually add InitCommonControls()
- Build and run
The statics have the wrong background.
Best regards,
Dominik
_outp(0x64, 0xAD);
and
__asm mov al, 0xAD __asm out 0x64, al
do the same... but what do they do??
(doesn't work on NT)
|
|
|
|
|
The problem that you have is that the static controls are taking the background colour of your dialog rather than the tab control. I have gotten around this problem in the past by writing an owner drawn static control.
Here[^] is a good example of an owner drawn static. It may be a bit too much for what you are doing, however you could use it for ideas.
Ant.
I'm hard, yet soft. I'm coloured, yet clear. I'm fruity and sweet. I'm jelly, what am I? Muse on it further, I shall return! - David Walliams (Little Britain)
|
|
|
|
|
Ok, fine... But for the rest? What do I do with all the other controls that are drawn incorrectly, too? Like buttons, checkboxes and radios?
Thanks and best regards,
Dominik
_outp(0x64, 0xAD);
and
__asm mov al, 0xAD __asm out 0x64, al
do the same... but what do they do??
(doesn't work on NT)
|
|
|
|
|
Um, sorry about that, I should have read you post a second time to see that you do indeed mension the other controls.
Since posting Shog9 has posted a reference to an article that will solve your problem.
Ant.
I'm hard, yet soft. I'm coloured, yet clear. I'm fruity and sweet. I'm jelly, what am I? Muse on it further, I shall return! - David Walliams (Little Britain)
|
|
|
|
|
Have you tried altering the z-order of the controls (i.e. tab order) ?
Ant.
I'm hard, yet soft. I'm coloured, yet clear. I'm fruity and sweet. I'm jelly, what am I? Muse on it further, I shall return! - David Walliams (Little Britain)
|
|
|
|
|
See this article for a rather complex (but effective) method of correcting this. Then see the comments following the article for several easier methods.
Shog9
I'm not the Jack of Diamonds... I'm not the six of spades.
I don't know what you thought; I'm not your astronaut...
|
|
|
|
|
I like it, nice simple solution within the comments. Thanks
Ant.
I'm hard, yet soft. I'm coloured, yet clear. I'm fruity and sweet. I'm jelly, what am I? Muse on it further, I shall return! - David Walliams (Little Britain)
|
|
|
|
|
Many thanks!!!
Best regards,
Dominik
_outp(0x64, 0xAD);
and
__asm mov al, 0xAD __asm out 0x64, al
do the same... but what do they do??
(doesn't work on NT)
|
|
|
|
|
Hi
suspend just pauses the thread.
You'll have to stop it by using an event, with your worker thread looking out for it and elegantly stopping as soon as it becomes signalled. Alternatively you can call Abort on the thread, but make sure the thread handles the exception thrown from this.
HTH
Martin
|
|
|
|
|
doneirik wrote:
Problem: So far I have a 2-threaded Windows Forms Application. When I abort the program by clicking the x-button I cannot recompile the program without restarting my computer. I get an error message saying:
fatal error LNK1104:Cannot open file C:.....program.exe
That's because the main thread is still running, even though there is no UI.
Read this article and this article for more on threads and how to terminate them.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
I want to create and drawn to CScrollView that is invisible from the user. Sould I show it using a ShowWindow(SW_HIDE)? Will this permit me to draw on it?
|
|
|
|
|
Hi
Yes, the standard CWnd-derived behaviour (such as ShowWindow) will work - you'll have to ensure the focus isn't set to the invisible view if you want the keyboard active, and make sure the window isn't displayed by accident elsewhere, such as a custom OnSize handler, etc.
And yes, I believe you can still process OnPaint, OnDraw messages even if the window is not visible - as you can with most messages. I would just not expect the OS to initiate these (WM_PAINT messages) as the window would not require painting in this state. That said, calling UpdateWindow forces a visit of the paint routine (SendMessage(WM_PAINT, ...) I believe).
Anyway, let me leave you to your devices....
HTH
Martin
|
|
|
|
|
Hi again,
I just started programming with threads and I´m not sure how everything works yet...
Problem: So far I have a 2-threaded Windows Forms Application. When I abort the program by clicking the x-button I cannot recompile the program without restarting my computer. I get an error message saying:
fatal error LNK1104:Cannot open file C:.....program.exe
I guess I have some process running that I didn´t terminate properly.
Though, in the automatically generated "void Dispose" method I placed some code: myThread.suspend();
Isn´t this enough for terminating the thread, or is the problem perhaps somewhere else?
doneirik
|
|
|
|
|
Hi all,
I wonder if there is a way to implement custom StrechBlt to be used by DirectShow?
I need to zoom in a video using pGraphBuilder()->RenderFile() by setting the source and dest. rectangle.
As far as I know the zooming is done using standard GDI StretchBlt function, which gives you the ugly so called "checkerboard"-effect.
best regards...
|
|
|
|
|
Hello,
Can GDI and GDIplus co-exist in the VC project.
I am thinking of mixing use of these libraries. My existing library is using GDI but it seems that GDIplus has some cool functions which I think it would great to incorporate into it also. Possible? Would it crash or lib conflict?
thank you.
|
|
|
|
|
Hi
I haven't used GDI+ but inspecting the GDI+ Graphics class, I see a constructor that takes a HDC, so you should be able to mix the 2.
Martin
|
|
|
|
|
Yes they can coexist. But the trick is getting the HDC for GDI drawing. You have to first create the Gdiplus::Graphics object that you will do all your drawing on, then call Graphics::GetHDC to get the HDC you need for your GDI calls.
If you draw on a HDC with GDI and then try to attach a Graphics object to the same HDC the Graphics constructor will erase all the drawing you have done.
Lookup Graphics::GetHDC and Graphics::ReleaseHDC in MSDN for more info.
"You're obviously a superstar." - Christian Graus about me - 12 Feb '03
"Obviously ??? You're definitely a superstar!!!" mYkel - 21 Jun '04
Within you lies the power for good - Use it! Honoured as one of The Most Helpful Members of 2004
|
|
|
|
|
Hello, does anyone know of any resource efficient image preview file generator class?
I am using CxImage to generate the image files. (for preview and draw to windows DC with the attache HBitmap in CxImage) but it seems that it is slow and resource unfriendly. (take huge amount of memory) Sometimes it will even cause some images to be disappear.
Anyone has related knowledge care to enlighten me?
thanks in advance.
|
|
|
|
|
Hi!
I am looking the solution or direction in order to resolve this problem I am having during logoff using Windows XP. We have got few applications written in VC++ 6.0 (using MFC and OLE Servers). When we logon few applications started as they are specified in startup, which also invokes OLE servers.
When we come to logoff, first of all logoff process is very slow, though I found that by just killing few MFC Applications, will really logoff quickly. Though I could not figure it out why? So I need some suggestion, where to look at?
And sometimes it errors by just coming up the standard XP dialogue showing program is not responding and End button has to be invoked to end the program.
While investigating we found that few dispatch pointers did not release properly when we were calling OLE Servers, which I fixed and it slightly improves the logoff process and now Standard XP dialog for not responding program not happening every so often as it used to be, but still happening quite a few times and logoff process is still very slow. I am trying to figure it out but don’t know where else it could be a problem.
Any suggestion would be appreciated.
Thanks
|
|
|
|
|
Hi
It sounds like you've got more dangling references elsewhere that haven't been fixed.
In this case, you can try to isolate the functionality in your code, by trying to exercising only certain parts of your application between a startup-shutdown cycle - this way you might discover which part(s) of your app is causing the problem(s). If you can, even try to disable parts of your application by commenting it out and re-building for test.
Trace all threads in your app too, making sure they all close properly.
Good luck
Martin
|
|
|
|
|
Hi!
thanks for your suggestion.seems to me very practical approach.but the problem is where to isolate that.there are so many applications lieing around.if i give you very brief example by just explaining the scenario:
1. mainapp1
2. mainapp2
both kics off following OLE Servers
1. OLEServer1, which Kicks off OLEServer2 ( this is the server which most of the time come up with XP dialog showing nonresponsive program click End ).
though we proved that disabling the OLEServer2 completely solve the problem and error never happend. but my sneaking suspicion is its not the OLEServer2 who is causing its MainAPP1/MainApp2 or OLEServer1, which instantiating OLEServer2 causing the dangling pointer.
Where do you think problem lies?and how to isolate this.
thanks in advance.
|
|
|
|
|
Going on your hunch, I'd say you should look at OLEServer1's use of OLEServer2 - might be that it's not releasing a reference.
If you suspect that it's a COM reference, you can change reference access to use smart pointers, if you're not already - also provided it's worth the change (I don't know how many such cases there are).
If you're using ATL, you can turn on _ATL_DEBUG_REFCOUNT, _ATL_DEBUG_INTERFACES, but these trace to the debug output window, so if you're turning the machine off, output is lost (unless you find a way to stop powering down).
Also play around with stopping the 2 apps by hand (and checking with the Task Manager to see if they're still running). Play around with the order in which the 2 apps are stopped.
Martin
|
|
|
|