|
That was exactly the solution!!! I was worried I would have to go the loadlibrary route. Many thanks,
sb
|
|
|
|
|
How can develop the multiple clipboard using c++ (like Word...)?
Thanks
|
|
|
|
|
|
Hi,
I'm creating an MDI application in MFC but I need to display different views which correspond with some user setting. But I can't figure out how to display two different views in the same frame window. So I want to display either view A or view B, not both at the same time. Is this even possible?
|
|
|
|
|
Try using splitter windows
|
|
|
|
|
But won't the user be able to move the splitter back and forth?
What I exactly want is to have view A be visible with some combo menu selection, and view B being visible with another combo menu selection
|
|
|
|
|
If that's the only difference between both views, try loading the contents of the combo box at runtime!
Then this would be the case:
Step 1: Create the window and one or more CDoc's. (Keep the window invisible)
Step 2: Load the contents of the combo box dynamically (probably in OnInitialUpdate) according to your specifications.
Step 3: Show the window.
Good luck!
A student knows little about a lot.
A professor knows a lot about little.
I know everything about nothing.
|
|
|
|
|
This is for SDI, but can be adapted to SDI
the basic idea is to create all views and hide all but the one visible. The Doc/View architecture already takes care of managing multiple views (if used correctly)
Clickety[^]
or maybe our friend[^] can help
we are here to help each other get through this thing, whatever it is Vonnegut jr.
sighist || Agile Programming | doxygen
|
|
|
|
|
To build an MDI application with two views
1. Build an MDI application by using MFC AppWizard. AppWizard will create a skeleton MDI application with a single view.
2. Add a new class derived from the CView class.
3. Add debug and nondebug versions of the GetDocument function.
Use the GetDocument functions from your existing view class as a model.
4. Include the header file for the document class in the source file of the new view class.
5. Place the command handlers in the CChildFrame class.
It is easier to access the view or the document from CChildFrame rather than from the view class. Use the CFrameWnd::GetActiveView and CFrameWnd::GetActiveDocument functions to access the views and the document.
6. Add a handler for the OnDraw event of the new view class.
At this point, you must decide whether you want users to select the type of view at application startup, or whether you want to have your application start with a default view. In either case, the user can select another view at run time.
void CMainFrame::OnWindowItalics()
{
if (0 == m_pItalicsTemplate)
{
m_pItalicsTemplate = new CMultiDocTemplate(
IDR_XXXXTYPE,
RUNTIME_CLASS(CXXXXViewsDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CItalicsView));
}
CMDIChildWnd* pActiveChild = MDIGetActive();
CDocument* pDocument;
if (NULL == pActiveChild ||
(pDocument = pActiveChild->GetActiveDocument()) == NULL)
{
TRACE0("Warning: No active document.\n");
AfxMessageBox(AFX_IDP_COMMAND_FAILURE);
return; // command failed
}
CFrameWnd* pFrame = m_pItalicsTemplate->
CreateNewFrame(pDocument, pActiveChild);
if (NULL == pFrame)
{
TRACE0("Warning: failed to create new frame.\n");
return; // command failed
}
m_pItalicsTemplate->InitialUpdateFrame(pFrame, pDocument);
}
|
|
|
|
|
After a serialization problem which occured because of changes in sp6, I now ran into another problem with regard to localized resources.
With sp5 I could create my application using US English resources in appwizard and then change into any language I wanted for any resource I needed from the properties dialog of each resource.
Now, whenever I make the change, I get garbled letters!!!
Anybody else ran into this? Any way around it?
Have no fear of perfection - You will never reach it
|
|
|
|
|
Does anyone have experience of using HP_HEADERSORTARROW? I am assuming that it should be used with DrawThemeBackground. I have found that it is not supported in any of the standard XP styles, so I am having to draw my own header arrow. Onw thing I would like to know is how to use it, so I can have code in there which uses it when available.
This though means that if the text doesn't fit next to it then the arrow draws over the top of it. I don't really want to draw anything I don't have to, ie text, background, just to get the arrow.
What I'm really after is an XP-styled sort-header control.
Any ideas?
"The way of a fool seems right to him, but a wise man listens to advice" - Proverbs 12:15 (NIV)
|
|
|
|
|
OK, I've done a bit more searching, and found out that I can use HDF_SORTUP and HDF_SORTDOWN. See this[^] and this[^].
"The way of a fool seems right to him, but a wise man listens to advice" - Proverbs 12:15 (NIV)
|
|
|
|
|
I can't seem to find an official way to add new keywords to the C++ highlighting engine. Are there any unofficial tricks you'd like to share?
--
Ich bin Joachim von Hassel, und ich bin Pilot der Bundeswehr.
Welle: Erdball - F104-G Starfighter
|
|
|
|
|
Do you mean the "User Keywords" or the standard C++ keywords?
For the former: I have a usertype.dat file in
C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE That file is just the "User Keywords", one per line. Change their syntax highlighting color via
Tools > Options > Environment > Fonts and Colors > Display items > User Keyword For the latter: I don't think that's doable.
--
The Blog: Bits and Pieces
|
|
|
|
|
Is there an easy way to determine the directory that my CWinApp is running out of?
Joel Holdsworth
|
|
|
|
|
Look at GetCurrentDirectory()
Ant.
I'm hard, yet soft. I'm coloured, yet clear. I'm fruity and sweet. I'm jelly, what am I? Muse on it further, I shall return! - David Williams (Little Britain)
|
|
|
|
|
Antony M Kancidrowski wrote:
Look at GetCurrentDirectory()
Which could be anything. There is only one CWD for the whole system and any process can change it at any time. It's never safe to assume anything about the CWD. GetModuleFileName() is what's needed here.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Sorry, I didn't read the question as what is the location of the executable.
Ant.
I'm hard, yet soft. I'm coloured, yet clear. I'm fruity and sweet. I'm jelly, what am I? Muse on it further, I shall return! - David Williams (Little Britain)
|
|
|
|
|
Your answer is abs right for the problem at hand, however, the current directory is maintained for each process, not system-wide as you suggest.
HTH
Bikram Singh
|
|
|
|
|
bikram singh wrote:
...the current directory is maintained for each process, not system-wide...
Indeed. Admittedly, it has been about 11 years since I've had the need to use that particular function. Things change over time, I guess.
Further reading finds that SetCurrentDirectory() is not thread safe, but it is process safe.
Thanks,
DC
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
You need to use something like the following, which gets the full path of the executable:
CString sModulePath;
HINSTANCE hInstance = AfxGetInstanceHandle();
GetModuleFileName(hInstance, sModulePath.GetBuffer(MAX_PATH), MAX_PATH);
sModulePath.ReleaseBuffer();
You can then chop the string up using GetFullPathName()
"The way of a fool seems right to him, but a wise man listens to advice" - Proverbs 12:15 (NIV)
|
|
|
|
|
|
hai,
I am trying to develop an application,in that i am using one library file,
when i run the application ,a messagebox which is not in my application,but on the library file gets displayed,(i have no coding for that library).
how can i get rid of that messagebox.
is it possible to hide that message box in my application..
thanks a lot in reading my query,
M.Kailasam
|
|
|
|
|
Is the message box telling you anything of importance?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
if the message box is part of the normal flow of the application ( in the library ), like a Yes/No message box, I don't think you can remove it; if it's a warning/error message, maybe you need to fix the cause of the warning/error that may be in your code.
Or maybe it's a debugging message that only appears in debug mode ?
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|