|
I think I found it. The CTabCtrl is not CView derived.
Vaclav
|
|
|
|
|
Vaclav wrote: I think I found it. The CTabCtrl is not CView derived.
Correct. You'll have to use a CFormView with a CTabCtrl inside it.
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"
|
|
|
|
|
I'm trying to show the shell context menu for a file when only having the file name. I got the menu to come up but not all the menu items are showing up - like the ones virus scanners or zip utilities add to all files ("Scan File", "Add to Zip" etc.). Is there anything I'm missing:
typedef HRESULT (WINAPI *lpfnSHBindToParent)(LPCITEMIDLIST pidl, REFIID riid, VOID **ppv, LPCITEMIDLIST *ppidlLast);
LRESULT OnContextMenu(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
lpfnSHBindToParent pSHBindToParent = (lpfnSHBindToParent)GetProcAddress(GetModuleHandle(TEXT("SHELL32.DLL")), "SHBindToParent");
if (pSHBindToParent)
{
LPOLESTR pwszFileName;
#ifdef UNICODE
pwszFileName = strFullFileName;
#else
WCHAR wsz[MAX_PATH];
MultiByteToWideChar(CP_ACP, 0, strFullFileName, -1, wsz, ARRAYSIZE(wsz));
pwszFileName = wsz;
#endif
LPSHELLFOLDER pDesktopFolder;
if (SHGetDesktopFolder(&pDesktopFolder) == NOERROR)
{
LPITEMIDLIST pidl;
if (pDesktopFolder->ParseDisplayName(hMainWnd, NULL, pwszFileName, NULL, &pidl, NULL) == S_OK)
{
LPSHELLFOLDER pParentFolder;
LPCITEMIDLIST pidlLast;
if (pSHBindToParent(pidl, IID_IShellFolder, (void**)&pParentFolder, &pidlLast) == S_OK)
{
IContextMenu* picm;
if (pParentFolder->GetUIObjectOf(hMainWnd, 1, &pidlLast, IID_IContextMenu, NULL, (void**)&picm) == S_OK)
{
HMENU hMenuPopup = CreatePopupMenu();
if (hMenuPopup)
{
if ( SUCCEEDED( picm->QueryContextMenu(hMenuPopup, 0, 1, 0x7fff, CMF_NORMAL) ))
{
}
DestroyMenu(hMenuPopup);
}
picm->Release();
}
pParentFolder->Release();
}
CoTaskMemFree(pidl);
}
pDesktopFolder->Release();
}
}
return 0;
}
- thanks
|
|
|
|
|
I program in Visual C++ 6.0 and use the MFC macros quite a bit. I am looking for a good publication that explaines each of the MFC functions, what the arguments are and how they work. Specifically, when using a function, how does one delete an object and re-instate it. If there is a good publication out there, I would appreciate a response on how to purchase or? Thanks in avance, Sid Kraft at sid_kraft@msn.com.
Sid
|
|
|
|
|
You will not find many macros definitions in "MFC internals", I think MSDN does better job.
Vaclav
|
|
|
|
|
is there anyway to stop the slider and buttions from showing that mci makes?
|
|
|
|
|
Can you be more specific
whitesky
|
|
|
|
|
when you use MCIWndPlay MCIWndStop MCIWndPause it makes a button and a slider in your dialog and they are right at the top of the dialog the button is hidden so it dont matter the slider can be seen and if it can be done ill keep it if it can be moved and resized
look at this artical http://www.codeproject.com/audio/mp3player.asp[^] if you compile that project it will have the extra button and slider at the top
|
|
|
|
|
remove WS_VISIBLE in this function MCIWndCreate and send me is your problem solve or no
whitesky
|
|
|
|
|
that made it disappear but i would like to keep the slider but only if i can resize it and move it.
|
|
|
|
|
you can use from m_Video = MCIWndCreate in MoveWindow to change size
whitesky
|
|
|
|
|
thanks dude got that working right now just a few more things and ill be good to go
|
|
|
|
|
I've created an MFC application that "should" talk to a device on my PC.
do I have to #include anything special in order for SetupDiEnumDeviceInterfaces, HANDLE, HDEVINFO, etc. to work?
Thanks!
Kitty5
|
|
|
|
|
From the MSDN docs:
Requirements
Client: Requires Windows XP, Windows 2000 Professional, Windows Me, or Windows 98.
Server: Requires Windows Server 2003 or Windows 2000 Server.
Header: Declared in Setupapi.h.
Library: Use Setupapi.lib.
DLL: setupapi.dll
--
100% natural. No superstitious additives.
|
|
|
|
|
Hello,
I experienced a strange behaviour from the scanf function;
if i put the following code
char ch;
printf("stuff");
scanf("%c", &ch);
the program fills ch automatically and continues (skips input), anyone had the same problem ?
|
|
|
|
|
Deian wrote: the program fills ch automatically and continues (skips input), anyone had the same problem ?
Perhaps there is already something in the stdio stream that is being accepted by scanf() .
"The largest fire starts but with the smallest spark." - David Crow
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
I've read in many books and code snippets that you may use this pair printf/scanf, I tought that this is some kind of bug, I didn't want to use flush or similar function. Thanks for the reply.
|
|
|
|
|
It is working perfectly fine in Visual Studio 6.0.
Could you please give us some more details about Compiler, Operating System OR any information worth to repeat this problem?
|
|
|
|
|
Visual Studio 6.0 / SP5, Windows XP SP2
g++, FreeBSD 6.1
Devshed C++ / Windows XP SP2
I experience the same behaviour at all OS's and compilers.
|
|
|
|
|
I've checked it on RH linux too with gcc compiler.
Sorry sir, it's not repeatable. Could you please let me know some more details about the program?
One possibility is that, this is the part of your big program and something is already there in stdin stream.
Did you check the mentioned code as a separate program?
|
|
|
|
|
Yes, the fragment is part of a program, which uses scanf with %d, %s and %c, the problem of skipping the scanf function occurs only where the %c parameter is used. Why something is still staying in stdin ??
|
|
|
|
|
use sscanf
Please mail me
|
|
|
|
|
I have a class derived from CWnd (it looks like a label). I want to set the font but the following has no effect.I tried setting from within the class, and also externally (below). Neither matters.
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT));
lf.lfHeight = 6;
strcpy(lf.lfFaceName, "Arial");
m_font.CreateFontIndirect(&lf);
m_grph.SetFont(&m_font);
sb
-- modified at 15:35 Wednesday 14th June, 2006
|
|
|
|
|
Does m_font belong to the CWnd -derived class? From where is SetFont() being called? There is an example in the Extras section of this article.
"The largest fire starts but with the smallest spark." - David Crow
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Can you try CreatePointFont??????
The procedure is like this.
// member
CFont m_FontArial;
// Create the font in Constructor
m_FontArial.CreatePointFont( 140, PSIGL_CONTROL_FONT_TYPE_ARIAL );
pWindow->SetFont( &m_FontArial );
yours faithfully
ajeeshcv
|
|
|
|