|
The CAnimateCtrl class only understands AVI files and not GIF files.
GIF Animation Control[^] is a custom control derived from CStatic for showing animated GIFs.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
Hi all,
I have a TreeCtrl with checkboxes.I want if checkbox of corrsponding item is unchecked than its not expand even i click on has button of corresponding item.
i m using this code on TVNItemExpanding but its not works
NMTREEVIEW* pnmtv = (NMTREEVIEW*) pNMHDR;
HTREEITEM item = pnmtv->itemNew.hItem;
if ( pnmtv->action == TVE_EXPAND )
{
if(m_tree.GetCheck(item)==0)
{
pnmtv->action=TVE_COLLAPSE;
m_tree.Expand(item,TVE_COLLAPSE);
}
}
Please help me for this.
thanks in advance.
To accomplish great things, we must not only act, but also dream;
not only plan, but also believe.
|
|
|
|
|
Try to simply return TRUE to prevent expanding.
NMTREEVIEW* pnmtv = (NMTREEVIEW*) pNMHDR;
HTREEITEM item = pnmtv->itemNew.hItem;
if ( pnmtv->action == TVE_EXPAND )
{
if(m_tree.GetCheck(item)==0)
{
return TRUE;
}
}
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
Thanks
To accomplish great things, we must not only act, but also dream;
not only plan, but also believe.
|
|
|
|
|
Try this:
NMTREEVIEW* pnmtv = (NMTREEVIEW*)pNMHDR;
HTREEITEM item = pnmtv->itemNew.hItem;
if ( pnmtv->action == TVE_EXPAND )
{
if(m_tree.GetCheck(item)==0)
{
*pResult = 1;
return;
}
}
|
|
|
|
|
I think setting the *pResult = 1 will prevent the item from expanding or collapsing.
NMTREEVIEW* pnmtv = (NMTREEVIEW*) pNMHDR;
HTREEITEM item = pnmtv->itemNew.hItem;
if ( pnmtv->action == TVE_EXPAND )
{
if(m_tree.GetCheck(item)==0)
{
*pResult = 1;
return;
}
}
|
|
|
|
|
I have a 32 bit MFC Print Application that uses StartDoc API for printing. In 32 bit OS i didn't configure any Default Print Driver, then on File Print I selected Microsoft XPS Document Writer. A "Save as File" Dialog (MODAL) pops up which runs in the same Process as that of Application. Now I have tried to build the same Application in 64 bit OS using Visual Studio 2008. Here also i didn't configure any Defualt Print Driver. On File Print I selected Microsoft XPS Document Writer. A "Save as File" Dialog pops up which runs in a different Process from the Application. In this sceneario File Save As Dialog is becoming Modeless which is yeilding undesired results - I'm able to access the "Cancel Printing" dialog (the same cannot be accessed on 32-bit OS as File Save As is MODAL) and on clicking 'cancel' in this dialog, the Application hangs ( becomes unresponsive ). If I now navigate to the "Save as File" Dialog, and click Cancel or Save I can proceed.
Can anyone Explain why this difference in behavior is observed when StartDoc API is used?
Is there some option to disable the "Cancel Printing" dialog or make the "Save as File" Dialog MODAL for a 32-bit application in a 64-bit OS?
|
|
|
|
|
We have following code
CComPtr<IWshRuntimeLibrary::IFileSystem> fileSystem;
fileSystem->DeleteFolder((wchar_t*)ServerPath, VARIANT_TRUE);
fileSystem->DeleteFolder() is failing . Can I know when this happens and what could be the solution.
Thanks.
|
|
|
|
|
Why are you using the above said IWshRuntimeLibrary for deleting a folder when you have API's ?IWshRuntimeLibrary is something related to .net isnt it? Or are you coding in CLI ?
|
|
|
|
|
I am not sure why IWshRuntimeLibrary was used. This is some old code which was written by some body else who is right now not available. I am getting some failure on specific machines.
|
|
|
|
|
I will create the new object with the runtimeclass-pointer (CRuntimeClass* pRTC).
But an absolute must is to cal the constructor with parameters (not standard-constructor). I have to save time during creation. The next line did not compile but maybe you can modify it:
CObject* pTestObj = new (CRuntimeClass* pRTC) (5);
At the time of creation, I only know the runtimeclass-pointer and the transfer parameter (5).
In my program the transfer parameter is another big class, to initialice the new one.
Maybe at this way:
CObject* pObj = pRTC->CreateObject(5);
The CreateObject-function calls the standard-constructor.
Can I call another constructor during creation with runtimeclass-pointer and CreateObject?
Do you have an idea?
|
|
|
|
|
You could use a trick to do this.
From the standard constructor use placement new to call into another constructor.
The following code snippet demonstrates this.
class A
{
A()
{
new(this) A(10);
}
A(int i)
{
}
};
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
Sorry, it does not go.
Here is the original code.
I will create a Mp-Object and init directly with a config.
-> optimize code and save time
CreateMp(CRuntimeClass* pRTC, CMpConfig* pConfig)
{
CObject* pOb = pRTC->CreateObject();
if(pOb)
{
pMp = dynamic_cast<cmp*>(pOb);
if ( pMp )
pMp->InitMp(pConfig); //it goes, but it is too slow
}
}
-----------------------------------------------------------
This code does not compile, but you can show what i mean.
CreateMp(CRuntimeClass* pRTC, CMpConfig* pConfig)
{
CObject* pOb = pRTC->CreateObject(pConfig);
}
... or ...
CreateMp(CRuntimeClass* pRTC, CMpConfig* pConfig)
{
CObject* pOb = new (CRuntimeClass* pRTC)(pConfig);
}
|
|
|
|
|
Hello,
I have a text document(ini file). I want to load data from the text document to a table in a html document using c++ only, not java script.
It's a http client server communication. When the server feels a button was pressed, he should fill the table.
How can i do it?
thanks,
|
|
|
|
|
Depends on which web server you use, maybe have a look at CGI[^].
You didn't ask for it, but it sounds a lot like a job for PHP
/M
|
|
|
|
|
I have a dialog based application where there are 20 dialogs. Now certain dialogs are Modeless dialogs. On that, one dialog has some ActiveX Control. On OnInitDialog() of the parent dialog I used the Create() to create the child dialog and i am hiding it initially and calling this child dialog at a later use. but when i am calling the parent dialog from another dialog the child dialog flashes and hides away. How can i avoid it?
I hope the query is clear
|
|
|
|
|
Chandru080 wrote: On OnInitDialog() of the parent dialog I used the Create() to create the child dialog and i am hiding it initially and calling this child dialog at a later use
Remove the visible(WS_VISIBLE) style of the child dialog and try again....
|
|
|
|
|
My 5. thanks Naveen.. It was a simple mistake and i was checking this error for more than an hour.
thanks again
|
|
|
|
|
hi....
i want to take some files from my CD drive,and copy them to another folder in another drive....although its easy code but how can my code detect the drive name(i.e, G:,H: or ant thing else) as it varies in different machines.
plzzzzzzzzzzzzzzzz help me sooon....i need it!
|
|
|
|
|
Use GetLogicalDrives[^] to enumerate all drives in the system and then call GetDriveType[^] to check if it is a CD drive.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
ok thanks... bur would it be compatible with visual C++(MFC) ?????
|
|
|
|
|
Of course. They are all base Windows APIs.
Very compatible.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
ook.....i have tried to use it but i really dont know how it works...i mean if i write the method:
DWORD my_variable=GetLogicalDrives();
what is in my_variable n how can i fine the name if the CD drive in machine whereever my code runs???
plz help me
|
|
|
|
|
This is what the documentation says -
Bit position 0 is drive A, bit position 1 is drive B, bit position 2 is drive C, and so on.
You can get the available drives using bit manipulation.
if (my_variable & 1)
{
}
if (my_variable & 2)
{
}
if (my_variable & 4)
{
}
You could do this in a loop.
cout << "Available drives -\n";
for (DWORD i = 0; i < 26; ++i)
{
if (my_variable & (1 << i))
{
cout << char(65 + i) << ":\n";
}
}
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
thanks a lot....m gona try this now )) thnk again!
|
|
|
|