|
Hi!
I am writing a custom window control in MFC: a tab control.
CWnd
A
|
|
MyTab
class MyTab : protected CWnd {
public:
void add(const CString& title, CDialog* dlg);
...
protected:
...
private:
...
};
Everything goes well. Now I want to seperate interfaces from implementation theorically:
CWnd ITab (abstract class as interface)
A A
| /
| /
MyTab
class ITab {
public:
virtual void add(const CString& title, CDialog* dlg)=0;
};
class MyTab : public ITab, protected CWnd {
public:
virtual void add(const CString& title, CDialog* dlg);
...
protected:
...
private:
...
};
This time, the problem exist: there is no HWND attached.
Does anyone know how to solve this? Or is there an alternative design?
Any reply would be appreciated.
sovann.
Why waste time learning while ignorence is instantaneous ? [Hobbes]
|
|
|
|
|
Sovann wrote:
This time, the problem exist: there is no HWND attached.
I have not understood what it means (hwnd of what???), but I want to give you small advice: mfc classes must be first at deriving order (MSDN says that). Swap 'public ITab' and 'protected CWnd', otherwise you will have a problems
|
|
|
|
|
I've set a waitable timer (Create/SetWaitableTimer API) to 10 seconds. Since it's been
created in a window, I can't use WaitForxxxObjectxxx sync function. So I wanna use a
feature that SetWaitableTimer encapsulates, a call for completion routine.
How can I assure the call for 'PTIMERAPCROUTINE' when a the timer has elapsed??? I read the the creating thread must be 'alert' , but I don't want to use the sync API's.
HELP!
--BlackSmith--
/*The roof is on fire, we don't need no water, let the MF burn*/. BHG.
|
|
|
|
|
BlackSmith wrote:
I can't use WaitForxxxObjectxxx sync function.
But you can use the MsgWaitForMultipleObjects
My latest article:
SQL Server DO's and DONT's[^]
|
|
|
|
|
hi there,
I have a console project where i wanted to use the exit() function, but no way, the linker does not recognize it. MSDN says it is defined in <stdlib.h> which, of course, i have included in the file. Any idea ?
#include <stdlib.h>
#include <stdio.h>
void main(void)
{
exit(0);
}
(Yes, I know, my code sample is ridiculous )
Thanks
~RaGE();
|
|
|
|
|
You'll need this too:
#include <process.h>
Rickard Andersson@Suza Computing
C# and C++ programmer from SWEDEN!
UIN: 50302279
E-Mail: nikado@pc.nu
Speciality: I love C#, ASP.NET and C++!
|
|
|
|
|
Does not work either. (Actually, MSDN says process or stdlib).
~RaGE();
|
|
|
|
|
... added some libraries in the linker tab and it works.
Thxx
~RaGE();
|
|
|
|
|
This code compiled without any errors in VC6:
#include <stdio.h>
#include <process.h>
int main()
{
exit(0);
printf("dfdfghdf");
return 0;
}
Rickard Andersson@Suza Computing
C# and C++ programmer from SWEDEN!
UIN: 50302279
E-Mail: nikado@pc.nu
Speciality: I love C#, ASP.NET and C++!
|
|
|
|
|
hi!all
on windowsXP progress bar is not getting refreshed..my same code runs fine on win98.can somebody help me out.
thanks in advance.
--Shiben.
shibenOL
|
|
|
|
|
What do you mean with not getting refreshed ? Does it display anything at all ?
~RaGE();
|
|
|
|
|
Hi!Rage
Thanks for looking into the thing.
my progress bar is getting displayed well but if i change the focus to some other object and come back again to this progress bar it stops(getting refreshed i guess)otherwise on win98 the same code works very fine.
Thanks and Regards'
--Shiben..
|
|
|
|
|
I have tried to determine if a field is PK (primary) or FK (foreign key) but not much luck. One constraint: this must be done ADO/C++.
I'm almost completing my module now... a short code sample in C++ will definitely help a lot...
Basically,
pRs->Fields->Item[j]->get_Name(&bstrFieldName); //This is how I retrieve field name.
nType = pRs->Fields->Item[j]->Type; //This is how I retrieve data type.
But how can you determine if a field is PK/FK??
Help!
Reference:
http://www.codeguru.com/forum/showthread.php?s=&postid=634066#post634066
norm
|
|
|
|
|
hi, i need to identify database schema. Some people suggested to use OpenSchema.. but i've no idea how to use this API from VC. All samples are in VB.
So, I did the following:
char szPK[20];
strcpy(szPK, (pRs->Fields->Item[j])->Properties->Item["KEYCOLUMN"]);
This doesnt work of course. But it illustrates the intention is to determine:
(a) Given a field, is it a "Primary Key" OR "Foreign Key"
(b) And "After" identify that a field is a foreign/primary key, determine the "associated: table.
Thanks
norm
|
|
|
|
|
Hello,
I just added UNICODE support to my App and it fails to work properly. Even simple string assignments fail, I always end up with one (the first) character.
example,
<br />
CString s;<br />
s = _T("Test");<br />
Now s seems to be 'T'. What's going on here?
|
|
|
|
|
Try defining both UNICODE and _UNICODE in the predefined macros section.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
I think the problem is in your output of the value. There are two things to remember:
1. Unicode handling is mostly limited to NT/2000 platforms.
2. If you use an ansi string function on a unicode string you will (very often) see that the function gets only the first byte of the 2 byte character. That is because the second byte is often 0x00.
You say that you have added UNICODE support, does that mean that you have defined UNICODE?, then perhaps you could try defining _UNICODE as well.
"After all it's just text at the end of the day. - Colin Davies
"For example, when a VB programmer comes to my house, they may say 'does your pool need cleaning, sir ?' " - Christian Graus
|
|
|
|
|
I suggest you have a look at Michael Dunn's string articles from here[^] and here[^]
Best regards,
Alexandru Savescu
P.S. Interested in art? Visit this!
|
|
|
|
|
van Padoea wrote:
Now s seems to be 'T'. What's going on here?
Did you see this in the debugger?
Check the "Tools/Options/Debug/Display unicode strings" option
My latest article:
SQL Server DO's and DONT's[^]
|
|
|
|
|
Doh, thank you! There was nothing wrong!
|
|
|
|
|
Dear All,
Good Day...
I need to know how i can make windows notifies me about specific things like running a programm i.e Calculator.
i want Windows to tell me that a programm just run for example.
plz help.
thank you all.
Best Regards,
Mohammad Zakarni
|
|
|
|
|
Windows itself can't tell you but you can "ask" Windows.
If you have a timer with an interval at 50 or something and check if Calculator is running with FindWindow or something. There is better ways to find a running app but I don't remnember how right now!
Rickard Andersson@Suza Computing
C# and C++ programmer from SWEDEN!
UIN: 50302279
E-Mail: nikado@pc.nu
Speciality: I love C#, ASP.NET and C++!
|
|
|
|
|
There is a way to get the Windows shell to tell you though.
Maybe quite a few....
A really icky one, was to override the .exe association via
the HKEY_CLASSES_ROOT\.exe and associate it with a program
of your own that logs, or whatever, and then proceeds to
launch the application.
I first saw this as a really mean trick.
Now where was that reference....
|
|
|
|
|
Scott H. Settlemier wrote:
override the .exe association via
the HKEY_CLASSES_ROOT\.exe
Cool!
Are you 100 % sure it works?
Tell me the link/referennce if you'll find it!!!!
Rickard Andersson@Suza Computing
C# and C++ programmer from SWEDEN!
UIN: 50302279
E-Mail: nikado@pc.nu
Speciality: I love C#, ASP.NET and C++!
|
|
|
|
|
Hi!
I am writing a DVD Player for a hardware decoding card at the moment.
I choosed DirectShow to do this, because I need a SourceFilter which is able to handle CSS protected discs (and is legal). So I wrote a DirectShow Render Filter, which decodes the MPEG2 streams.
Nearly all is working fine. Playback of video and audio works great with the "pure" movie.
Now I want to implement a DVD menu navigation into my filter.
I use an improved MS DVD Sample application, because many DVD menu related things are in there.
But now I have a problem:
I can´t get the button highlight informations out of the SourceFiler.
With other words:
I need the positions of the buttons (as rectangle values) for the actual selected DVD menu.
I tried the IDVDInfo2::GetButtonRect() function, but its not implemented in DirectX yet (hmm). Same with IDVDInfo2::GetButtonAtPosition() (double hmm).
Then i tried to get/set the AM_KSPROPSETID_DvdSubPic from the IKsPropertySet but this is not supported by both SorceFilter I tried.
Btw as SourceFilter I use MS DVD Navigator or InterVideo DVD Navigator.
My Questions is now:
Does anybody know a way how to get the DVD menu button highlight informations out of the SourceFilter?
Any suggestions? Please!
Bye FBD
|
|
|
|