|
Does it support with this class if yes you can,whats problem now?
|
|
|
|
|
The same methods you'd use to do this in any window should apply...
For the window itself, you can specify a brush when registering the window class or handle the
WM_ERASEBKGND message and draw the background yourself. To do this, derive a class from the
window class in the article and either register a custom class for the window or add a
WM_ERASEBKGND handler.
For buttons, you'll need to owner-draw them.
Mark
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
Hi,
CTcxMsgBox class is derived from CDialog so there is no WM_ERASEBKGND messsage to add the message handler.How to add a different background color for CDialog based class? There is no dialog resource associated for CTcxMsgBox class and it produces the MessageBox using the function
CDialog::InitModalIndirect( (LPCDLGTEMPLATE)_dlgData, m_pParentWnd );
When I put the function
SetDialogBkColor(RGB(206,207,206));
in the CWinApp derived application class's InitInstance() then MessageBox is being shown in new background color but buttons and CRichEditCtrl (which is for text message) are not shown in that color.
Now How to draw the Buttons in different background color?
best regards,
Cyber Friend
|
|
|
|
|
how to find mouse is over on a particular control.
|
|
|
|
|
CPoint point;
GetCursorPos(&point);
CPoint clientPoint = point;
ScreenToClient(&clientPoint);
GetClientRect(&rectClient);
if (rectClient.PtInRect(clientPoint))
{
...
}
|
|
|
|
|
May you can use TrackMouseEvent function and capturing WM_MOUSEHOVER (&WM_MOUSELEAVE).
If u can Dream... U can do it
|
|
|
|
|
Apparently that wasn't an acceptable solution: Click[^]
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
Hello !
I'm trying to have a CListCtrl having the same behwvior as in the task manager (when you list the active processes). I set the view to report (to have the different columns). But currently, I can only select a line by clicking on the items in the first column. I would like to be able to click anywhere in the list control and having the line under my cursor to be selected.
Any idea how I can do that ?
Thanks
|
|
|
|
|
|
Thanks, that works fine
|
|
|
|
|
How to declare a CALLBACK function by myself?
And how to make it called?
Can you please help me on this.
KIRAN PINJARLA
|
|
|
|
|
A callback is a function that you define but don't call yourself (thought nothing prevents you to do it). A callback is needed whenever you application has to perform some custom actions on occurrence of particular events. For instance, consider the Windows API EnumWindows (see here ^]), for each found window the OS calls the callback you defined (and as you may notice, you have to conform your callback declaration to EnumWindows requested one).
To summarize, usually:
(1) You have to declare you callback as requested by the callback caller.
(2) You may define your callback as you prefer.
(3) You don't call yourself the callback function.
of course the depicted scenario applies to most of the cases, on the other hand, if you are designing, for instance, a framework, then you have to apply the opposite point of view (i.e. establish the callback declaration, let the user application to define it, call the latter whenver appropriate).
Hope that helps.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
|
Hello....I have this function(printinstance()) who generate me randomly boxes(whith another function) with width,height and depth, and I want to save the results in XML, but it only save me just the last box generated...can you figure out what it is the problem in my code please...I have to do this very quick and I am a beginer in XML.
where f-is the first box generated and l-is the last box generated
void printinstance(item *f, item *l, itype W, itype H, itype D)
{ int p,Wcont,Hcont,Dcont;
int const max=1000;
item *i,*j;
itype x1, y1, z1,x2, y2, z2;
stype vol, totvol;
int notip,po;
Wcont=(int)(W);
Hcont=(int)(H);
Dcont=(int)(D);
for (i=f;i<=l;i++)
{
notip=1;
x1 = i->dx; y1 = i->dy; z1 = i->dz;
for (j=i+1;j<=l;j++)
{
if ((i->dx==j->dx)&&(i->dy==j->dy)&&(i->dz==j->dz)) notip++;
}
p=1;
for (j=f;j<i;j++)
if="" ((j-="">dx==i->dx)&&(j->dy==i->dy)&&(j->dz==i->dz))
{
p=0;
break;
}
if (p)
{
x1=i->dx;
y1=i->dy;
z1=i->dz;
XmlTextWriter^ writer = gcnew XmlTextWriter("d:\\contload.xml",Encoding::UTF8);
writer->Formatting = Formatting::Indented;
writer->Indentation=4;
writer->WriteStartDocument();
writer->WriteStartElement("ContainerSolution");
writer->WriteStartElement("ContainerDimensions");
writer->WriteAttributeString("ContainerWidth",W.ToString());
writer->WriteAttributeString("ContainerHeight",H.ToString());
writer->WriteAttributeString("ContainerDepth",D.ToString());
writer->WriteStartElement("Boxes");
writer->WriteAttributeString("BoxWidth",x1.ToString());
writer->WriteAttributeString("BoxHeight",y1.ToString());
writer->WriteAttributeString("BoxDepth",z1.ToString());
writer->WriteEndElement();
writer->WriteEndElement();
writer->WriteEndElement();
writer->WriteEndDocument();
writer->Close();}}}
and I call my function in the main program like this printinstance(f, l, W, H, D);
lavi
|
|
|
|
|
I tried to look through your code but because of HTML reformatting there's some stuff missing.
This is a short function - can't you step through with the debugger?
If it's only writing the last box then single stepping through one iteration should show you why
it's not writing.
Mark
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
When post a code use of pre tags and also its better you asking your questionn on the (Managed) C++/CLI [^]
|
|
|
|
|
lavy2883 wrote: XmlTextWriter^ writer = gcnew XmlTextWriter("d:\\contload.xml",Encoding::UTF8);
Take a closer look at the constuctor ->
http://msdn2.microsoft.com/en-us/library/5366y21d.aspx[^]
MSDN wrote:
Parameters
filename
The filename to write to. If the file exists, it truncates it and overwrites it with the new content.
|
|
|
|
|
Hello All,
I have a problem regarding file. I m trying to open a file using CStdioFile Object like this
test_ptr.Open(File_name,CFile::modeReadWrite,NULL);
i have checked using _access function that this file is present at the desired location or not
int a = _access(File_name,0);
_access is retruning 0 that means file is present but open function is not opening the file (it is also returning zero).
(i have also checked manually file is present at location)
what can be the problem for not opening the file
can anybody help me in this
thanks in advance
|
|
|
|
|
How have you defined test_ptr ? If you pass 0 e as the second parameter to _access function, it will check the existence of the file. Use _access function with 6 as the second parameter to check if you have read/write permissions on the file. The following code snippet works perfectly, for me.
CStdioFile test_ptr;
CString File_name = _T("C:\\MyFile.txt"),strTemp;
int iRetCode;
iRetCode = _access(File_name,6);
strTemp.Format(_T("_access function returned %d"),iRetCode);
AfxMessageBox(strTemp);
iRetCode = test_ptr.Open(File_name,CFile::modeReadWrite,NULL);
strTemp.Format(_T("CStdioFile.Open() function returned %d"),iRetCode);
AfxMessageBox(strTemp);
Anything I will say you will bring it down to whatever you want.
|
|
|
|
|
i have passed 6 as second parameter,it returns zero but still not opening file.
|
|
|
|
|
neha.agarwal27 wrote: but still not opening file.
What exactly does that mean? Is CStdioFile.Open() returning zero? Why are you passing a NULL to the Open() command then? Use file exception. Try the following code snippet and find out what the problem is...
CStdioFile test_ptr;
CString File_name = _T("C:\\MyFile.txt"), strTemp;
int iRetCode;
CFileException e;
iRetCode = _access(File_name, 6);
strTemp.Format(_T("_access function returned %d"), iRetCode);
AfxMessageBox(strTemp);
iRetCode = test_ptr.Open(File_name, CFile::modeReadWrite, &e);
if ( !iRetCode )
{
e.GetErrorMessage(strTemp.GetBuffer(MAX_PATH), MAX_PATH, NULL);
AfxMessageBox(strTemp);
strTemp.ReleaseBuffer(-1);
}
else
{
strTemp.Format(_T("CStdioFile.Open() function returned %d"), iRetCode);
AfxMessageBox(strTemp);
}
Anything I will say you will bring it down to whatever you want.
|
|
|
|
|
How to order the Queue in C++
tamer hassan
|
|
|
|
|
What queue class are you using ? The STL includes sort methods.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
What do you mean? Can you explain more clearly?
Steve
|
|
|
|
|
the SHBrowseOfFolder() dialog just give option to directory, i want to give a file list box alongside of directory tree box in the dialog to show the files of selected folder .
How to do?
Or are there any component to use direct? If make it myself, i have to make a tree view, it is a nightmare because i use pure C and API.
|
|
|
|