|
Alexander M. wrote:
I don't like guys that don't ask for simple things like API names they don't know
So if someone wants to know anything other than the name of an API (for which they do not know the name), then you don't like them? Please explain.
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
you should have realized that the question was a real "homework" question. This guy didn't even know what excactly he wants to do.
He didn't care himself, he just asked because he thinks that it is the "easy" way. When I ask a question here then I have looked for the answer myself.
I don't like the way some people are asking here, because they want to get explained how to do their whole project (and they mostly don't even know how to code), and this is not acceptable.
This is the same as if I would ask you how I can do a game like half-life.... a silly question.
Don't try it, just do it!
|
|
|
|
|
Its a very simple rule, you dont choose what kind of questions you want to be posted here...
some ppl dont like it, while others would help the person if they want to or just move on or downvote the post...
best thing is that if you dont like it just move on, ignore the post,, that will let the poster know that his question has no takers.;)
MSN Messenger.
prakashnadar@msn.com
Tip of the day of visual C++ IDE.
"We use it before you do! Visual C++ was developed using Visual C++"
|
|
|
|
|
Hi guys
Never before tried to work with threads.
I just need that when the view do the OnInitialUpdate I launch a thread that starts to do things but related to the view.
I've read about this and tried with AfxBeginThread(Myfunc,NULL);
But myfunc cannot be one of the view, there is a way to do this with a method of the view like CMyView::GetData()
Best Regards
Doc
|
|
|
|
|
doctorpi wrote:
But myfunc cannot be one of the view
I think you're referring to the fact that a member function can't be threaded. This can be overcome with a little helper class I found right here on codeproject.[^]
I can make no claims it will work for you, but I've used it and it works simply and well.
Good luck!!
'til next we type...
HAVE FUN!! -- Jesse
|
|
|
|
|
Thanks, I'll take a look.
Dr.Pi
|
|
|
|
|
doctorpi wrote:
But myfunc cannot be one of the view, there is a way to do this with a method of the view...
It can if the function is static .
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
Sorry my ignorance, but then inside my static function how can I access the members variables of the view?
Thanks
Doc
|
|
|
|
|
The member variables would need to be static as well. Going that route has all sorts of implications. If the secondary thread needs to communicate with the view, which is owned by the primary thread, I would suggest using PostMessage() .
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
If my member variable is a class, I can't declare it static because linking an error appears. Some suggestion?
Best Regards
Doc
|
|
|
|
|
A static member can certainly be a class. Without a minimum of the linker message, I can't offer any suggestions.
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
How do you set a window (using the document/view structure) to be a certain size when displayed?
For example 300 pixels wide and 500 pixels high.
Thanks
|
|
|
|
|
Check out the OnGetMinMaxInfo() method.
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
I am working on a MDI program. I need to know if a view is covered by any other views or windows. I found that WindowFromPoint function is useful but not quite suitable for the purpose that I want. Is there any way to know if a window is covered completely or partially by any other windows?
|
|
|
|
|
This is just a guess, but it might be of some help. If one window is overlapping another, they will have a non-empty intersection. Could you use CRect::IntersectRect() to determine this?
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
use EnumWindows() function.
this function is OK for z-order
includeh10
|
|
|
|
|
A window's Z-order has nothing to do with whether it is obscured by another window or not.
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
(first message !)
My problem seems me to be simple, but I have to admit that I need some help...
I have a CTreeCtrl in a dialog, and I want use a popup menu on it.
But my dialog doesn't receive my message (I use a simple ON_COMMAND )
I have tried the same thing with a CButton instead of a CTreeCtrl and it works well !
I would not use a derived class for my CTreeCtrl ...
------------------------
Le sage cherche la Vérité,
L'imbécile l'a déjà trouvé.
|
|
|
|
|
Why not simply use TrackPopupMenu to display and get the command-id from this popup menu. Do this from within the tree, and perform the action from there.
If you wish to perform the action somewhere else, you can simulate a WM_COMMAND with the command-id the menu returned.
|
|
|
|
|
Thanks for your response !
I use TrackPopupMenu in the OnContextMenu of my dialog and I display the menu only if the CWnd parameter is my CTreeCtrl. And it works well.
I also simulate a WM_COMMAND on my dialog with the command-id the menu returned, but it doesnt work... If I do the same thing with, for example, a button instead of my tree, it works !
-------------------------------
Le sage cherche la Vérité,
L'imbécile l'a déjà trouvé.
|
|
|
|
|
I see, so you're code looks like :
<br />
result = TrackPopupMenu(...);<br />
<br />
if (result)<br />
{<br />
Send/PostMessage(WM_COMMAND, result);<br />
}<br />
And you say that if you use a button instead of a tree you get the messages ?
Have you tried looking at your Dialog with Spy++ to see if it gets the WM_COMMAND ? and what differene there is there (in Spy++) when the control is a button or a tree.
Actually, what does it matter if it's a tere or a button ? you said all your code is placed in the dialog above it anyways (the Dialog performs the TrackPopupMenu and posts a message to itself...)...
|
|
|
|
|
Actually, I don't send manually the message. I use standard way (BEGIN_MESSAGE_MAP with the ON_COMMAND macro in my dialog...). I think I don't use the good terms to explain my problem.
I have tried with other messages (like TVN_SEL_CHANGED), and same problem : It doesn't work if I try to get it from my dialog.
Maybe I make something anormal and I don't see it...
Maybe the normal way to use a tree is to systematically use a derived class ? So I can manage all my message (I try and it works). But it doesn't seems to me very clean...
Thank you for spending your time !
-------------------------------
Le sage cherche la Vérité,
L'imbécile l'a déjà trouvé.
|
|
|
|
|
No Problem,
I think i'm not really understanding the situation... how is the tree involved if you said that you pop the menu from the dialog itself and handle the command in the dialog itself ?
what I suggset you do anyhows is use Spy++ to spy on your window and see if your messages are sent at the first place.
|
|
|
|
|
I will try to explain more clearly the situation :
My dialog contain a CTreeCtrl and CButton.
My message map contain :
BEGIN_MESSAGE_MAP(CMyDlg, CParentOfMyDlg)<br />
...<br />
ON_WM_CONTEXT_MENU()<br />
ON_COMMAND(IDM_MY_COMMAND, OnMyCommand)<br />
...<br />
END_MESSAGE_MAP
The OnContextMenu of my dialog is like :
void CMyDlg::OnContextMenu(CWnd * pWnd, CPoint point)<br />
{<br />
TrackPopupMenu(...);<br />
}
I have my function OnMyCommand
void CMyDlg::OnMyCommand<br />
{<br />
...<br />
}
And the matter is that It works for myButton but not for myTree. I mean that the OnMyCommand is not called when I click on my menu from myTree.
I have a little matter with Spy++ when I use it here... It crashs !
If I trace messages from my dialog, I have no problem with my CButton (I get the WM_COMMAND sent from my menu). But with my CTreeCtrl, Spy++ loop infinitely when I do a right click on the tree ! and I am constrained to reboot my computer ! (as I'm a little bit obstinate, I've tried 5 times... )
But I have tried to overloaded the OnCommand in order to see if I get the message and I don't...
I have also tried to get my message in a CTreeCtrl derived class and it works.
-------------------------------
Le sage cherche la Vérité,
L'imbécile l'a déjà trouvé.
|
|
|
|
|
I have a basic 3-D modeling program that I made a few months ago and was going to submit to this site. I did a 'Clean' on the project, then tried to rebuild it to make sure everything worked right before I submitted it. I keep getting the following error:
modeler.hpj
HC5011: Error: modeler.hpj :
Cannot open the file "D:\Program Files\Microsoft Visual Studio\VC98\MFC\include\afxhelp.hm."
There's a help file that's being built also, and D:\program files is where the files used to be on my old computer, but I snatched the hard drive out of that one and now program files is on E:\. I do a search on that string, but can't seem to find it anywhere so that I can alter it. Can anyone help? Thanks in advance!!
If it's broken, I probably did it
bdiamond
|
|
|
|