|
Not as simply as it is for the XP theme - that example is to make a non-.NET app running on XP use the XP theme - it's not overriding anything in the system, just setting a few flags to tell Windows how to handle the application.
If you want to use an entirely different theme, then you'll either have to code it yourself (creating derived classes of all the standard controls and custom painting them - not an easy task at all!) or use something like WindowBlinds[^] that can re-skin Windows to look vastly different
--
Help me! I'm turning into a grapefruit!
Phoenix Paint - back from DPaint's ashes!
|
|
|
|
|
I am having problems adding the current date and time to a string. This is the code I have so far. Please let me know what I am doing wrong.
CPString psPathFile;
SYSTEMTIME systime;
GetSystemTime(&systime);
psPathFile += "C:\\It\\";
psPathFile += "data";
psPathFile += systime.wYear;
psPathFile += systime.wMonth;
psPathFile += systime.wDay;
psPathFile += systime.wHour;
psPathFile += systime.wMinute;
psPathFile += systime.wSecond;
psPathFile += ".mwd";
Thanks,
Einar
|
|
|
|
|
The problem is that systime.wYear, wMonth, etc are not strings or characters - they are decimal values of the year, month, day, etc.
You need to format those values to strings. (I'm not familiar with CPString as you have, but for CString you could use something like:
CString psPathFile;<br />
psPathFile.Format("C:\\It\\data%4d%2d%2d%2d%2d%2d.mwd", systime.wYear, systime.wMonth, systime.wDay, systime.wHour, systime.wMinute, system.wSecond);
The end result would look like:
C:\It\data20041129132020.mwd
Hope that helps.
|
|
|
|
|
That seems to be exactly what I need, but I noticed something odd.
This is one result I received:
c:\it\data20041129205020.mwd
This result would be fine if it was 8:50PM but it is 2:50PM here now. Should the result be using military time (24 hour clock)? And why do I get 20:50 when it should be 14:50?
I also received an odd result when seconds where lessw than 10:
c:\it\data200411292050 7.mwd
Is there any way to get it to left pad it with zerso?
Thanks,
Einar
|
|
|
|
|
Well the left padding with a zero was pretty easy just use the flag 0.
The issue with the hour is still puzzling me. It is just past 3PM (15) on my computer now but somehow the SYSTETIME.wHour thinks it is 9PM (21)
Any help would be appreciated.
Thanks,
Einar
|
|
|
|
|
Hmmmm I guess the only thing that makes sense it that I am located in the central timezone (GMT -06:00) and what do you know 21:14 - 06:00 = 15:14 which is the time my computer tells me it is.
Wow this is really odd and I would rather the computer gave me the current time (according to the computer) and not changing it to GMT.
Anyone know how to accomplish this?
Thanks,
Einar
|
|
|
|
|
According to MSDN:
GetSystemTime<br />
The GetSystemTime function retrieves the current system date and time. The system time is expressed in Coordinated Universal Time (UTC).
You might try
GetLocalTime<br />
The GetLocalTime function retrieves the current local date and time.
Hope that helps.
|
|
|
|
|
GetLocalTime was just what I needed.
Thank you much.
Sincerely,
Einar
|
|
|
|
|
How can I calculate exactly the size of a string in Bold or Italic? GetTextExtent() apparently doesn't care about Bold and Italic settings.
Thanks.
|
|
|
|
|
Dear Sirs,
We need to create an application that supports Hebrew. Could anyone please give me an explanation on how use hebrew strings as resources and use them on a Visual C++ 6/MFC application?
Thanks,
Sergio
|
|
|
|
|
Hi I'm still newbie in VC++ and MFC. I'm writing an application, and need to create controls at runtime. For example, I need to create a button on a window every time I click on another previously created button.
I think that the biggest difficulty is mapping messages from those controls.. I have a CButton list to store the buttons, but how to tell the parent window to process every button messages??
Thanks for your time!
|
|
|
|
|
Determine which NIC is the one that is providing me with 'default' internet access?
For example, you open IE and go to google. Which NIC is it using? Currently i use gethostbyname() which does list all the IPs the machine has, but I can't figure out a way to tell which one is the active one.
|
|
|
|
|
|
What is the advantage of using VERIFY in the Release version . IT gets evaulated but doesnt terminate in case of the expression evaulates to FALSE .
|
|
|
|
|
The advantage is exactly that it *does* get evaluated. As you may know ASSERT does not.
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)
|
|
|
|
|
FROM MSDN
Antony M Kancidrowski wrote:
In the debug version of MFC, the VERIFY macro evaluates its argument. If the result is 0, the macro prints a diagnostic message and halts the program. If the condition is nonzero, it does nothing.
The diagnostic message has the form
assertion failed in file <name> in line <num>
where name is the name of the source file and num is the line number of the assertion that failed in the source file.
In the release version of MFC, VERIFY evaluates the expression but does not print or interrupt the program. For example, if the expression is a function call, the call will be made.
In the debug version of MFC, the VERIFY macro evaluates its argument. If the result is 0, the macro prints a diagnostic message and halts the program. If the condition is nonzero, it does nothing.
The diagnostic message has the form
assertion failed in file <name> in line <num>
where name is the name of the source file and num is the line number of the assertion that failed in the source file.
In the release version of MFC, VERIFY evaluates the expression but does not print or interrupt the program. For example, if the expression is a function call, the call will be made.
VERIFY evaluates the expression but does not print or interrupt the program.
If it doesnt not interrupt the Program why do you need it ?
|
|
|
|
|
act_x wrote:
If it doesnt not interrupt the Program why do you need it ?
You still want the code to execute and do something usefull in the Release version.
e.g VERIFY(CloseHandle(hHandle));
In DEBUG will assert if it fails to close the handle. In RELEASE you still want it to attempt to close the handle.
You could write it:
BOOL bOK = CloseHandle(hHandle));
ASSERT(bOK);
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)
|
|
|
|
|
The simple answer is that when developers put a statement into an ASSERT while they are building code in debug versions, that statement can either be something that is used just to check a result or something that should execute AND check the result. Since many developers have a style of putting "real" code in their ASSERT statements, they found out that in the release build, those statements disappeared, as the ASSERT statements were ignored.
Thus the utility of VERIFY. If you use an ASSERT and only use a statement that tests a condition, then you are alright in both debug and release versions. If you put "real" code into an ASSERT and expect it to always execute in both debug and release versions, then you should use VERIFY instead.
"You can say that again." -- Dept. of Redundancy Dept.
|
|
|
|
|
I am developing a Dialog based application, which contains 5 tabs. In one of the
tabs microsoft media player control (version 9) is embedded. Now I want to
associate my application with media files, so that the media file double clicked is
played by the media player control embedded in one of the tabs. How can I achive it.
Please help..
Thanks in Advance.
|
|
|
|
|
|
Hello.
When I try to register my windows class using RegisterClassEx in my program I get an error which GetLastError tells me is error 120.
This apparently is:
This function is not supported on this system.
I find this confusing as an identical call in one of the programs in the SDK samples works fine? The only difference between the two is that my project is built using UNICODE. Could this affect the outcome of function calls with identical input?
This is the code:
LRESULT WINAPI MsgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
case WM_PAINT:
case WM_TIMER:
case WM_GRAPHNOTIFY:
case WM_LBUTTONDOWN:
case WM_NEXTSCREEN:
case WM_STARTSCREEN:
HandleEvent(msg, wParam, lParam);
break;
case WM_DISPLAYCHANGE:
break;
case WM_CHAR:
{
if(wParam == VK_ESCAPE)
{
PostMessage(hWnd, WM_CLOSE, 0, 0);
}
else
{
PostMessage(hWnd, WM_NEXTSCREEN, 0, 0);
}
}
break;
}
return DefWindowProc(hWnd, msg, wParam, lParam);
}
HRESULT MakeWindow(HINSTANCE hInstance)
{
WNDCLASSEX wc = {sizeof(WNDCLASSEX),
CS_CLASSDC,
MsgProc,
0L,
GetModuleHandle(NULL),
NULL,
NULL,
NULL,
NULL,
L"Star Chart",
NULL};
RegisterClassEx(&wc);
}
... rest of windows code ...
How can it be that this identical code works fine in one project and not in the other?
Any ideas would be greatly appreciated because I have been at this for 6 hours now with no success...
If anybody needs to see any other code I would be glad to post it for you, I really just don't know what to try now...
edit:
I have now found that it is the GetModuleHandle() call that is producing the error? Can this be right?
Thanks in advance.
Mark Coleman
|
|
|
|
|
I think I managed to fix the problem, it was to do with the UNICODE preprocessor assignments. I don't think the functions like these assignments on 98.
Mark Coleman
|
|
|
|
|
Hi All
I want to implement hook to trap console windows messages.
say for example ...
one console application is runing .and one my application is runing.
both are totally independent application.
what i want is if console application minized or maximized or moved , my application should flag a message.
see if any one can help me with code.
Thanx
Rdgs
Efan
|
|
|
|
|
I am using MAPISendMail to open the compose mail window of my default mail client. Everthing is working fine except when i use MS Outlook 2000 as my default mail client the new message window which is opened through my application cannot be minimized and also i cannot start my MS Outlook when the new mail message window is open. Can anyone provide a solution to it.
-- Subu --
|
|
|
|
|
hi all ,
I want to convert CString Object to BYTE Object.How do I do that?.
My CString Object and pointer BYTE Object is given below.
BYTE * sampleFeatures;
CString s1;
thanks in advance
|
|
|
|