|
Dejan Kovac wrote:
My problem is using the class methods.
My apologies for the confusion. Most of the questions I see regarding WMI are of the "How do I get access to it?" variety.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
I have an application that displays dialogs as pages within a property sheet. Most of the controls work fine, but I am having trouble getting an edit box with horizontal scroll to work. I have multiline set to true and horizontal scroll set to true in the properties box for the edit box control. I also have vertical scroll set to true - that works. When the dialog is activated, the horizontal bar does not show up. The vertical bar shows up and works.
I have tried to add the horizontal scroll dynamically without success. If I place the code in OnInitDialog for the dialog that has the edit control on it, the program errors out in winocc.cpp in CWnd::ModifyStyle on
<br />
ASSERT(::IsWindow(m_hWnd) || (m_pCtrlSite !=NULL)):<br />
The same happens if I place this call in the OnInitDialog for the main Dialog, after the property page has been added to the property sheet.
If I put the call to ModifyStyle in a handler for OnShowWindow, the program does not abort, but the horizontal bar does not show up. Any ideas?
Code that sets up the page in the property sheet:
<br />
dlgPropSheet.AddPage((CPropertyPage*) &msgDlg);<br />
dlgPropSheet.Create(this, WS_CHILD | WS_VISIBLE, 0);<br />
dlgPropSheet.ModifyStyleEx(0, WS_EX_CONTROLPARENT);<br />
dlgPropSheet.ModifyStyle(0, WS_TABSTOP);<br />
Code I tried both in OnInitDialog for msgDlg and right after the above code in OnInitDialog for the main dialog:
<br />
pMsgDlg->m_rawMsg.ModifyStyle(0, WS_HSCROLL);<br />
|
|
|
|
|
Hi everyone,
I am busy creating a little setup project and run into a problem when compiling the debug version into a release version. (LNK4098 linker warning)
My question is what is the difference between Single-threaded and Multithreaded CRT options in the compiler and when do I choose which one ?
(My project do spawn a second thread apart from the main running thread.)
Regards
Ramsus
Carpe Deum
|
|
|
|
|
If you're using the CRT from multiple threads, use the multithreaded version. If not, the singlethreaded version is smaller and slightly quicker.
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
It depends...
Ryan gave a good answer, in ideal [single threaded] circumstances you should choose to use the single threaded crt libraries.
rules of thumb
* If there is any chance that in the future any part of the project may be multithreaded I recommend setting the options for the project to use the multi-threaded libraries. From past experience, it's easier to tell everyone else on the team what the setting should be rather than trying to let them figure it out (or change it) on their own.
* If any of your dependancies are distributed as binaries linked against a particular crt, you MUST link against the same type.
* If you don't want to distribute any .dll's with you product, statically link to the crt.
|
|
|
|
|
I have a MDI architecture.
When the application starts, it has a blank document. If I open another document and the initial doc has not changed, I would like to close it...
OR
I would like to start the application but have NO initial document open..
can you help with either one?
thanks
|
|
|
|
|
BOOL CMyWinApp::InitInstance()
{
...
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
if (!ProcessShellCommand(cmdInfo))
return FALSE;
...
} /ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
// Don't display a new MDI child window during startup,
// if there are no file arguments at the command promt.
if(cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew;)
{
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
}
http://www.priyank.in/
|
|
|
|
|
The return value for my SetDIBColorTable() function call is 0 (zero), so the function failed . Why ?
Here's the source code :
HBITMAP hOldBitmap = (HBITMAP)SelectObject(hMemDC, m_handlerToBMP);
RGBQUAD pColors[256];
//RGBQUAD *oldpColors;
for(int i=0; i<256; ++i)
{
pColors[i].rgbRed = i;
pColors[i].rgbBlue = i;
pColors[i].rgbGreen = i;
pColors[i].rgbReserved = 0;
}
//pColors1=pColors;
//GetDIBColorTable(hMemDC, 0, 256, oldpColors);
UINT aaa=SetDIBColorTable(hMemDC,0,255,pColors);
|
|
|
|
|
The hMemDC must 24 bit color DC, you need a 256 color DC.
|
|
|
|
|
So how do I create a 256 color DC ?
|
|
|
|
|
When I try to use the following code to write every possible combiniations between 00 and 99, I don't get the same result as ostream. What could be the problem?
for (int a=0; a<10; a++)
{
for (int aa=0; aa<10; aa++)
fprintf(outClientFile, "%d\n", a);
fprintf(outClientFile, "%d", aa);
}
|
|
|
|
|
Andrew Admire wrote:
What could be the problem?
You did not indicate the difference between the two but I would lean towards caching.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
How would I tell the prog the difference?
|
|
|
|
|
Tell the difference between what? All you need to do is use endl with cout . That flushes the output buffer.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
for (int a=0; a<10; a++)<br />
{<br />
for (int aa=0; aa<10; aa++)<br />
{<br />
fprintf(outClientFile, "%d%d\n", a,aa);<br />
}<br />
}
But, will be better to do this :
for (int a = 0; a < 99 ; a++ )
{
...
}
Ivan Cachicatari
www.latindevelopers.com
|
|
|
|
|
The only problem is that i want to display 00, 01, 02, 03...
|
|
|
|
|
You can do that by simply doing
fprintf(fFile, "%02d\n", dwIndex);
The "2" means set a width of 2 places for the number and the "0" means fill in the places not used with 0.
So the following should print 00, 01, 02, ...
for(dwIndex = 0; dwIndex < 100; dwIndex++)
{
fprintf(fFile, "%02d\n", dwIndex);
}
8bc7c0ec02c0e404c0cc0680f7018827ebee
|
|
|
|
|
Then,
This code is the solution:
for(int i = 0 ; i < 100 ; i++)
{
for(int j = 0 ; j < 100 ; j++)
{
fprintf(outClientFile,"%0*d%0*d\n",2,i,2,j);
}
}
Ivan Cachicatari Blog[^]
www.latindevelopers.com
|
|
|
|
|
Then here is my next problem. I am tring to do the same thing with letters.
AA, AB, AC...
char string1[] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','\0'};
for (int a=0; string1[a] != '\0'; a++)
{
for (int aa=0; string1[aa] != '\0'; aa++)
fprintf(outClientFile, "%02s%c", string1, '\n');
}
|
|
|
|
|
Is this homework?
8bc7c0ec02c0e404c0cc0680f7018827ebee
|
|
|
|
|
No, I made a command-line version of a dictionary file creator. However, using the ostream commands, the file won't go above 4 Gb. Someone said to try the fopen and fprintf commands. I never used them that's why. I'm new at programming and I love it. So, I'm trying to push my knowledge.
|
|
|
|
|
char cCharacter1, cCharacter2;
for(cCharacter1 = 'A'; cCharacter1 <= 'Z'; cCharacter1++)
{
for(cCharacter2 = 'A'; cCharacter2 <= 'Z'; cCharacter2++)
{
printf("%c%c\n", cCharacter1, cCharacter2);
}
}
Alternatively you could do it with 1 loop incrementing a number from 0 to 26*26 where one character is printed using Number/26 = Integer Truncate Decimal and the other character is generated using Number % 26 to get a mod of 0 - 25. Then you just add 'A' onto the number to get the character or use it as an index to your array.
8bc7c0ec02c0e404c0cc0680f7018827ebee
|
|
|
|
|
char string1[] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q',
'R','S','T','U','V','W','X','Y','Z','\0'};
int len = strlen(string1);
for (int i = 0; i < len ; i++)
{
for (int j = 0; j < len ; j++)
{
fprintf(outClientFile,"%c%c\n",string1[i],string1[j]);
}
}
}
Ivan Cachicatari
www.latindevelopers.com
|
|
|
|
|
it is because you don't flush the cout stream.
you can either do (as Mr DavidCrow suggested) cout << ... << endl; where endl does the same as printing a '\n' plus flushing the stream,
or just call cout.flush(); after the cout << ... << '\n';
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|