|
In MSDN: "The MCIWndSetRepeat macro only affects playback that the user initiates by hitting the play button on the toolbar. It will not affect playback started with the MCIWndPlay macro."
In my application, user cannot see the toolbar beacause it is a background music. So the MCIWndSetRepeat didn't work.
|
|
|
|
|
Look at the MCI_DGV_PLAY_REPEAT flag available with MCI_PLAY .
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Thanks. Does it mean I should use mciSendCommand() function instead of MCIWndPlay()?
I have tryed mciSendCommand(), but it seems cannot play same music at the same time, such as a gun fire after another (play gunFire.mp3 at 0:00, and anther at 0:03 without stop pre one). The MCIWndPlay() can handle this issue, this is the reason for that I prefer to use it.
|
|
|
|
|
Hello,
I have made a CMDIChildWnd derived window. but once maximized it cannot be restored . This is not Doc-View Architecture.
CMDIFrameWnd* pFrame = STATIC_DOWNCAST(CMDIFrameWnd,AfxGetApp()-
>m_pMainWnd);
if(!Create(NULL, FrameName,WS_VISIBLE | WS_CHILD |
WS_OVERLAPPEDWINDOW ,
CRect(0,0,200,200), pFrame, NULL))
{
TRACE0("Failed to create view window\n");
return false;
}
What must the problem ? Any ideas.
Pritha
|
|
|
|
|
you may call ShowWindow(SW_RESTORE) to restore it.
when user clicks reatore-box (maximum-box), window receives WM_NCLBUTTONDOW.
you can use HitTest under the message to detect if restore-box is clicked.
|
|
|
|
|
Thanks for reply,
Actually I think thhe minimize,maximize,close buttons that appear are not getting clicked.Something like they are disabled but I did not disable them
Priya
|
|
|
|
|
Hi,
When im trying to use CreateDirectory("C:\\test",NULL)...im getting the below error
CreateDirectoryW: cannot convert parameter 1 from 'const char [8]' to 'LPCWSTR
and one more doubt...
when im using
LPTSTR lpszBuffer;
lpszBuffer=new TCHAR[SIZEOFTCHAR];
char* cNext="";
cNext=lpszRetrunBuffer;
im able to get the below error....
error C2440: '=' : cannot convert from 'LPTSTR' to 'char *'...
Please help me out....
|
|
|
|
|
This has nothing to do with CreateDirectory but rather with unicode settings.
I suggest you read this excellent article[^], things will be much clearer afterwards.
|
|
|
|
|
Thanks for ur help....
But Regarding my second doubt ....
when im using
LPTSTR lpszBuffer;
lpszBuffer=new TCHAR[SIZEOFTCHAR];
char* cNext="";
cNext=lpszRetrunBuffer;
im able to get the below error....
error C2440: '=' : cannot convert from 'LPTSTR' to 'char *'...
Please help me out....
|
|
|
|
|
Did you read the article ? It seems you didn't because everything is clearly explained there.
Anyway, why are you using a char* and not a TCHAR* ?
|
|
|
|
|
Use CreateDirectory(_T("C:\\test"),NULL) (to be independent of Unicode/ASCII build settings) or CreateDirectory(L"C:\\test",NULL) to explicitly use a Unicode string.
pradeep455 wrote: char* cNext="";
LPTSTR cNext="";
A TCHAR can either be an 8-bit character, or a 16-bit character, depending on various macro definitions. Whenever you see LPCTSTR or LPTSTR, use _T() around a literal string definition (as I showed above) to ensure you use the correct character type. Also, use TCHAR* or LPTSTR rather than char* or wchar_t* to make character pointers.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Thanks for ur answer but when im using like below...
LPTSTR lpszRetrunBuffer;
lpszRetrunBuffer=new TCHAR[SIZEOFTCHAR];
TCHAR* cNextSection="";
cNextSection=lpszRetrunBuffer;
im able to get error like...
error C2440: 'initializing' : cannot convert from 'const char [1]' to 'TCHAR *'..
and when i use.. cNextSection=cNextSection+strlen(cNextSection)+1;
the error is ...error C2664: 'strlen' : cannot convert parameter 1 from 'TCHAR *' to 'const char *'
Please help me out...
|
|
|
|
|
Don't use strlen with TCHAR strings, use the _tcslen version. All string manipulation routines have a non-unicode version, a unicode version and a version which depends on your unicode settings. You should use the last one in your case.
For your error, manipulating TCHAR strings is the same as manipulating char strings: if you want to copy the string, then you should use _tcscpy, if you only want to make the pointer points to the same address, then just assign the pointer directly:
TCHAR* cNextSection=lpszRetrunBuffer;
Warning, in that case you do not copy the string.
|
|
|
|
|
|
HI
I want to show the multiline message in a message box .
what i have done is i have taken the instruction dialog on which i have put text control
and i want my text to be put into this text control , the text is multiline.
Please provide comments
|
|
|
|
|
You have to insert the new line character ("\n") in your string:
MessageBox("This is\na mutliline\ntext","Test");
|
|
|
|
|
Can it be applicable to bstr strings also ..
because my data required new line character after specific strings ??
|
|
|
|
|
pandit84 wrote: Can it be applicable to bstr strings also ..
Yeah I guess so. Just try it out.
pandit84 wrote: because my data required new line character after specific strings ??
What do you mean ? I don't understand your sentence...
|
|
|
|
|
Yes sir...got success..
Sir "??" was spelling mistake...please ignore..
|
|
|
|
|
Hi,
I am working using c++ STL and want to know how memory is allocated for vector when we d0 push_back() and other operations. Is memory allocated sequentially or it maintains addresses with it. Also I want to know that I have an vector of structures which is define globally and the struct contains an int and a CString. In my main(), I make structure only with int variable and empty CString and push_back them in vector. Now in another function I assign some local CString to vector elements. Will it work properly?
Please find the below sample code snippet:
struct Data
{
int n;
CString str;
};
vector<data> FData;
main()
{
struct Data tmpData;
for ( ingt i=0; i<10; i++ )
{
tmpData.n = i;
FData.push_back(tmpData);
}
Foo();
}
void Foo()
{
vector<data>::iterator FD_Iter;
for ( FD_Iter = FData.begin( ) ; FD_Iter != FData.end( ) ; FD_Iter++ )
{
CString local = "Akash";
FD_Iter->str = local;
}
}</data></data>
Please explain if after execution of Foo(), Shall I have properly filled FData?
Thanks,
Akash
|
|
|
|
|
Akash Agrawal wrote: want to know how memory is allocated for vector when we d0 push_back()
IMO, vector uses heap to keep it's elements.
Akash Agrawal wrote: Will it work properly?
What happened when you tried?
|
|
|
|
|
1) Heap is OK, but I waana know, that for each push_back(), does it add memory sequentially or relocate it for added size.
2) Working is not guaranteed in my opinion. I am seeing some indefinite behavior especially when use this in multi threaded case.
|
|
|
|
|
Akash Agrawal wrote: I am seeing some indefinite behavior especially when use this in multi threaded case.
I can't see where you have used synchronization mechanisms in your code.
|
|
|
|
|
All STL containers do a new and delete for extending memory.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
Akash Agrawal wrote: how memory is allocated for vector when we d0 push_back() and other operations. Is memory allocated sequentially or it maintains addresses with it
A vector maintains a pointer to a single area of memory, which contains space for vector.capacity() items. When you push_back, if vector.size() is less than vector.capacity() , the new element just gets added after the last active item in the memory area. If vector.size() is equal to vector.capacity() , then a new area of memory, bigger than vector.capacity() , is allocated. The existing elements are copied to the start of that area and the old block of memory deallocated.
After the TR1 release of the STL specification, the area of memory managed by a vector is guaranteed to be contiguous. Previously, that was not guaranteed, although most implementations did use an algorithm that caused the memory to be contiguous.
Akash Agrawal wrote: In my main(), I make structure only with int variable and empty CString and push_back them in vector. Now in another function I assign some local CString to vector elements. Will it work properly?
Yes. A vector copies your data into its storage, rather than storing a reference.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|