|
SilverShalkin wrote:
I was wondering how do you make a window "The kind of window that MFC would make"
Take a look at CWnd::CreateEx
Nish
My miniputt high is now 29
I do not think I can improve on that
My temperament won't hold
www.busterboy.org
|
|
|
|
|
Nish [BusterBoy] wrote:
Take a look at CWnd::CreateEx
i looked up CWnd and it said that CWnd is the basis of all window functions, so aplying the ::CreatEx... That creats the window? How do i use this in my code?
Thanks!
~SilverWing
ps... Are there any tutorials any one know of? or any books to look into?
Thanks
Entrapped deep in nothingness
The cold swirl as touch to ice
Dark cavity, abyss, hollowness
A dim glow would seem suffice
Far to reach, away from me
Look about, my sorrow plea
Touch to love and warmth to feel
A pull a tug to laminate and heal
Pools of life that glimmer me
Desire of full in richest thee
Love in full, and warmth impart
Darkness fills and thralls my heart
Entrapped deep in nothingness
Dark Cavity, abyss, hollowness…
Dustin Tigner
|
|
|
|
|
The best book to you is <inside visual="" c++=""> ms press
i am realfly8)
|
|
|
|
|
sorry but the title of the book is "inside visual c++"
i am realfly8)
|
|
|
|
|
Seriously, you need first to set up linking and including MFC, you'll be much better off taking my advice and letting the wizard give you a project in which all that is done for you.
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
"I'm thinking of getting married for companionship and so I have someone to cook and clean." - Martin Marvinski, 6/3/2002
|
|
|
|
|
Read this article:-
http://www.codeproject.com/useritems/mfcprogflow.asp
where I explain a simple MFC program [no wizard]
Nish
My miniputt high is now 29
I do not think I can improve on that
My temperament won't hold
www.busterboy.org
|
|
|
|
|
I think you're approaching the problem from the wrong angle. MFC is a framework, not just a library. This means that usually it creates main window for you. Your program supplies parts of code used to fill in the holes. So "The kind of window that MFC would make" is a frame window or dialog window, depending on type of application.
When I was learning MFC, I've found that skeleton applications generated by AppWizard were the best place to start. Also, you may find SCRIBBLE tutorial useful - no kidding here, it really shows most important MFC concepts.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Hi all I am relatively new to the doc/view universe.
I have a pointer to my view and was wondering how to change the size of the view using code. I guess I want the document frame resized not the view.
Thanks
-----
|
|
|
|
|
If you're using CFormView s, then <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_CScrollView.3a3a.ResizeParentToFit.asp">CScrollView::ResizeParentToFit</a> might be what you're looking for.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
If you resize your frame window, the view will also get resized in an SDI applicaion.
Nish
My miniputt high is now 29
I do not think I can improve on that
My temperament won't hold
www.busterboy.org
|
|
|
|
|
You can use CView::GetParentFrame() to get a pointer to the frame containing the view. Then you might be able to call SetWindowPos or MoveWindow on the frame, if it not maximised.
------------------------
Derek Waters
derek@lj-oz.com
|
|
|
|
|
i think that should be like this:
pView->GetParentFrame()->SendWindowPos()
8)?
i ma realfly
|
|
|
|
|
Thanks all for your quick replys
|
|
|
|
|
MFC Application
SDI
I have a wizard that is normally launched from the view class in a message handler, CMyView::OnWizard(). However, I want the wizard to launch automatically after the view has been initialized at startup, and after it is already showing on the screen. Placing a call to OnWizard() in the CMyView::OnInitialUpdate() handler causes the wizard to launch before the view is visible on the screen.
It seems like I should call CMyView::OnWizard() from CMyApp::InitInstance(), but I don't know how to get a pointer to the view object. Is this even the correct way to go about it?
Many thanks,
Jon Sagara
What about ?
Best Miniputt score: 21
Sonork ID: 100.9999 jonsagara
|
|
|
|
|
Try handling WM_WINDOWPOSCHANGED for your CMyView and launching the wizard the first time it gets called --this might work.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Ok, this is what I have come up with in the CMyApp::InitInstance() handler:
[EDIT: typo fixed]
CMyView *pView = (CMyView*)m_pMainWnd->GetActiveWindow();
pView->DoWizard();
DoWizard() is a public member function of the view class that I defined to wrap the protected OnWizard() function.
It works, but is it safe? Is there a better way?
Jon Sagara
What about ?
Best Miniputt score: 21
Sonork ID: 100.9999 jonsagara
|
|
|
|
|
Jon Sagara wrote:
(CMyView*)AfxGetApp()->GetMainWnd();
Oh! I always thought that would return the frame window. Didn't think it returned a pointer to the view.
Nish
My miniputt high is now 29
I do not think I can improve on that
My temperament won't hold
www.busterboy.org
|
|
|
|
|
Yeah, that may be a problem. Do you know how I can get a pointer to the view object from CMyApp::InitInstance()? That's all that's really holding me back. I don't want to leave my code the way it is because it seems like a big hack.
Jon Sagara
What about ?
Best Miniputt score: 21
Sonork ID: 100.9999 jonsagara
|
|
|
|
|
Jon
I don't think you should even do all this from the CWinApp derived class.
Can you try this. From your CMyView::OnInitialUpdate() post a custom message, say WM_APP+1 to your CMyView. Tehn in the handler for that message, call your function.
This technique is used to hide modal dialogs. Because in the OnInitDialog if we hide the window, it won't be effective as the window is not shown yet. So we post a message and the message handler hides the window.
I didnt try this out and am too lazy to try it out now.
6:32 AM now. I am not in an active condition as you might expect
But please could you try this out and let me know it it did work?
If it does not work, I apologize for the inconvenience caused...
Regards
Nish
My miniputt high is now 29
I do not think I can improve on that
My temperament won't hold
www.busterboy.org
|
|
|
|
|
Pasted the wrong code.
CMyView *pView = (CMyView*)m_pMainWnd->GetActiveWindow();
pView->DoWizard();
Jon Sagara
What about ?
Best Miniputt score: 21
Sonork ID: 100.9999 jonsagara
|
|
|
|
|
Ah, that's better.
By the way read the other post where I have made a humble suggestion.
Nish
My miniputt high is now 29
I do not think I can improve on that
My temperament won't hold
www.busterboy.org
|
|
|
|
|
Ah ha! I finally got it... *BUT* what a hack!
From CMyApp::InitInstance():
POSITION pos = pDocTemplate->GetFirstDocPosition();
CMyDoc *pDoc = (CMyDoc*)pDocTemplate->GetNextDoc(pos);
pos = pDoc->GetFirstViewPosition();
CMyView *pView = (CMyView*)pDoc->GetNextView(pos);
pView->DoWizard();
Jon Sagara
What about ?
Best Miniputt score: 21
Sonork ID: 100.9999 jonsagara
|
|
|
|
|
Hate to spoil your fun, Jon, but that's not a hack - that's MDI! I'm working on an app with (wait, I'm just counting) 10 document/view types. I wrote quite a few of those functions before creating one in my app to GetCurrentView(of type)...
Oh yeah, and your code is assuming that there's only one DocTemplate, when you've got ten, you've got another layer to loop through, and error checking... and...
------------------------
Derek Waters
derek@lj-oz.com
|
|
|
|
|
Hey,
is there an easy way to send midinotes to a soundcard using DirectX? I found a MIDI class on this site but it needs a midifile...
Anyone?
/Vamp
|
|
|
|
|
What is the best way of implementing a CFileDialog with extra buttons and radio boxes without having to build your own tree and listviews?
I was wondering..can you have a CFileDialog member variable in a simple dialog class? One problem I have is that CFileDialog can't be just instantiated and then passed parameters. The whole thing must be done right off the bat.
Anyhow, any ideas? pleas let me know!
thanks
|
|
|
|