|
I'll be posting my FileSystem article soon. It provides this and other convenient functions. Meanwhile, here's the logic:
long FileSystem::createDir
(CString strDirectory)
{
if (dirExists (strDirectory))
return (Status::Duplicate);
CString strDirParent;
getParentDir (strDirectory, strDirParent);
if (!strDirParent.IsEmpty() && !dirExists (strDirParent))
{
long nStatus = createDir (strDirParent);
if (nStatus == FileSystem::Status::Error)
return (nStatus);
}
DWORD dwStatus = ::CreateDirectory (strDirectory, NULL);
if (dwStatus == 0)
return (Status::Error);
return (Status::Success);
} /ravi
Let's put "civil" back in "civilization"
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
Anyone know how to create those bubble-style tool tips? standard tool tips derived from CToolTipCtrl are such a boaring rectangle.
|
|
|
|
|
Mel wrote:
Anyone know how to create those bubble-style tool tips? standard tool tips derived from CToolTipCtrl are such a boaring rectangle.
Have you looked here on CP?
Neville Franks, Author of ED for Windows. www.getsoft.com
Make money with our new Affilate program
|
|
|
|
|
Yes, but I just now found something that will probably work: "Balloon Help as a non-modal replacement for MessageBox() By Shog9"
|
|
|
|
|
You must add the TTS_BALLOON style to your CToolTipCtrl object.
m_pToolTip.Create(this, TTS_BALLOON);
May be you need to define this style
#ifndef TTS_BALLOON
#define TTS_BALLOON 64
#endif
Or you can look my class CPPTooltip
Best regards,
Eugene Pustovoyt
|
|
|
|
|
Thanks for your suggestion --exactly what I wanted.
|
|
|
|
|
Hi,
I'm working on a SDK for a program I have done and I have problem using the static library I provide with VC6. The library is build using VC7. So far my searches has been unsuccesful. Has anyone else found solution for this?
When I was migrating from VC5 to VC6 I remember there was a compiler switch to make VC5 compatible static libraries. I dont remember wich one it was though.
I made a test lib, and tried to use it with VC6 and I got for example following errors in the linker:
debug build:
corelibd.lib(Vector3C.obj) : error LNK2001: unresolved external symbol __RTC_CheckEsp
corelibd.lib(ControllerC.obj) : error LNK2001: unresolved external symbol __RTC_Shutdown
corelibd.lib(TimeSegmentC.obj) : error LNK2001: unresolved external symbol __RTC_InitBase
corelibd.lib(TimeSegmentC.obj) : error LNK2001: unresolved external symbol @_RTC_CheckStackVars@8
in both debug and release:
corelibd.lib(ParamI.obj) : error LNK2001: unresolved external symbol __ftol2
corelibd.lib(KeyC.obj) : error LNK2001: unresolved external symbol "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z)
corelibd.lib(KeyC.obj) : error LNK2001: unresolved external symbol "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z)
For me it looks like the standard library is different in VC7. Any ideas how to overcome this?
|
|
|
|
|
I have written a small program that inserts items into an array and then uses the array to create a tree, problem is i don't know how to relate the tree to the array once it has been created.
ie.
a tree with 3 Name items, relates to an array with 3 name and address items.
I want to be able to click on the 2nd name and return the 2nd address.
If anyone could help with the function call to get an integer value for the selected item it would be great, or some casting work around.
Thanks in advance
|
|
|
|
|
The CTreeCtrl provides a DWORD value associated with each tree item. You can set this value with whatever you want and retreive this value later using the functions:
BOOL CTreeCtrl::SetItemData(HTREEITEM hItem, DWORD_PTR dwData)
and
DWORD_PTR CTreeCtrl::GetItemData(HTREEITEM hItem).
In your case you should set the item's data with its corresponding array index. You may even store in the item's data the address of the object held by the CObArray directly.
|
|
|
|
|
thanks,
not sure how to implement that in the code i've got to be honest..
Basically the important line i have is:
m_tTreeCtrl.InsertItem((versionPtr->GetVersionLabel());
Would it be wise after each insert to get the tree height, return that h treeinfo, then update it?
Also, is there a way to cast a DWord to an int? DWords are far too accurate for what i need.
Cheers
|
|
|
|
|
Pardon me, I cannot undestand this line of code (do not know what is the type of versionPtr ).
To demonstrate, I will assume that versionPtr is an object of type CMyObject and the member function GetVersionLabel() returns a string of that object contents. And finally that we have a CObArray named objArr containing objects of type CMyObject .
Using this assumption, this is how to link the tree items to the array:
int arrIndex;
.
.
CMyObject * pMyObj = (CMyObject *)objArr.GetAt(arrIndex);
HTREEITEM hItem = m_tTreeCtrl.InsertItem(pMyObj->GetVersionLabel());
m_tTreeCtrl.SetItemData(hItem, (DWORD)arrIndex);
.
.
CMyObject * pMyObj;
int index = (int)m_tTreeCtrl.SetItemData(hItem);
pMyObj = (CMyObject *)objArr.GetAt(index);
This sample store the index of the object in the array, a better approach is to store the address of the object itself. In this case, the item data set line would be:
m_tTreeCtrl.SetItemData(hItem, (DWORD)pMyObj);
and the item data retreival line would be:
pMyObj = (CMyObject *)objArr.m_tTreeCtrl.SetItemData(hItem);
I hope that is what you want.
|
|
|
|
|
Thanks very much for your time - i will try to implement it in the morning.
cheers
|
|
|
|
|
The code snippet causing the problem is the returning the NULL_BRUSH to stop the backgrounds from painting themselves:
SetBkMode((HDC)wParam, TRANSPARENT);
bHandled = TRUE;
return (LRESULT)GetStockObject(NULL_BRUSH);
The statics all work fine, but the checkboxes are painted with an entirely black background. Is there a workaround for this (I need the checkboxes to not paint their background as well)?
|
|
|
|
|
Hello
I installed the great CrystalEdit[^]syntax coloring editor and it works well.
But my problem is that I cannot use the ReplaceSel function from my CEditView class...
How can I solve this problem?
Thanks
|
|
|
|
|
Hi, i am running windows XP and have Outlook, i used Spy++ to see which class Outlook uses for its navigation menu, and its a listview. I want to use that kind of listview in my app too. How would i do this? (and also the office toolbar)
Thanks
Kuniva
--------------------------------------------
|
|
|
|
|
One solution is CListView. You can derive a class from it and modify your class as you see fit.
Kuphryn
|
|
|
|
|
you have a create a pretty advanced listview to implement Outlook like listview features. use of CustomDraw() is necessary to change item font etc. check out the listctrl and listview articles here.
|
|
|
|
|
Hi, I´m developing a little program to get real time data. I have to present them in a real time chart, but
"How do I use/develop a chart in VC++ "
Thanks,
d.f
|
|
|
|
|
|
Thanks for the help. I´ll try it.
d.f
|
|
|
|
|
I am a cs graduate student, i am facing a problem in my graduation project. So pls give me your advice for the following:
My project is helping peopole with visual problems to use the computer better, using speech recognition (command and control). So in brief what i need is when i recieve the a command i respond to it. For example when the user say Start i will open the start menue.
My question is how to control or simulate the right click of the mouse (to open or close special folders)like control panal, my computer, start, recycle bin and others. Is it right to go on with the shell or what is the right track.
Thank u for ur time and waiting for an advice
If u want more details i will be very grateful if u ask.
I am very
M.A.S.A
|
|
|
|
|
http://www.codeproject.com/shell/
The above Link may be useful for you
i am the best
|
|
|
|
|
thaks suhredayan for ur advice but i have visited the above url and downloaded some articles from it but it didn't give me want i need exactly.
did u think that this is the right track for my problem.
Together we will be more powerful
M.A.S.A
|
|
|
|
|
Read up on the accessibility interfaces, which are designed for just this purpose. Run AccExplorer9x or AccExplorer32 (for 9x/NT respectively) in the PlatSDK to see a sample app that uses the interfaces.
--Mike--
THERE IS NO THERE IS NO BUT THERE IS
MAGIC PIXIE DUST BUSINESS GENIE CODE PROJECT
Homepage | RightClick-Encrypt | 1ClickPicGrabber
"You have Erica on the brain" - Jon Sagara to me
|
|
|
|
|
Hello,
I'm making a MDI application which has a lot of modeless dialogs used as input-forms.
The problem I have with them is each newly opened dialog overlaps the previously open dialog. I want the user to be able to cascade/tile the dialogs.
Queries:
(1). Is there a way that I can explicitly make them the children of my MDI. And if I can do this, will the CMDIFrameWnd::MDICascade() or CMDIFramWnd::MDITile() work to cascade/tile them.
(2). Or can I use some other function which could cascade/tile the dialogs for me?... ... Or am I required to take care of positioning each dialog properly below the previously opened one??
Thanks,
Rgds,
Nirav Doshi
* The world stands aside to let anyone pass who knows where he is going! - David Jordan *
|
|
|
|