|
OOOPS, bits are flowing more slowly from Italy...
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
led mike wrote: Oops, I misread your post
me too apparently!
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
If I understand you correctly then you've already wizard-generated code creating such windows. You may to call AfxGetMainWnd to get a pointer to the frame window (possibly you need to cast it) and the call its GetActiveView (and, again, cast it).
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
|
Recently I reinstalled visual c++ 2008 Express edition and ever since then, when I open a project, all the source files within the project no longer automatically restore themselves to their previous state. This question isn't very clear so lets pretend I had the files main.cpp, d3d.cpp, and d3d.h open when I last closed my project. When I open this project again, none of the source files will open with it. I have to manually open all the source files (which can be quite tedious for large projects). Previous to reinstalling, the files main.cpp, d3d.cpp, and d3d.h would all automatically restore themselves in this particular example.
I've searched through the options menu but couldn't find a setting for it
|
|
|
|
|
Nobody knows?
|
|
|
|
|
Now I need to write a dll witch COM interface, so that the asp application can use it.
The COM object will have a window. Can asp application show the window created by the COM object?
The problem is:
My COM knowledge is only from the book <Inside COM>, almost no practical experience.
However I can write regular dll (common interface, not COM).
Is there any quick guide for implementing such a COM object?
Thanks very much.
system
|
|
|
|
|
Try this oldie good book about COM Developer's Workshop to COM and Atl 3.0, there are also many good articles here in CodeProject, but this book is a good introductory tutorial.
JO
|
|
|
|
|
Thanks, but I don't not have enough time for a book now.
Because of the need in my job, time is limited,
so I need a quick way to implement a simple com object.
system
|
|
|
|
|
Why don't you try creating a simple COM component and see if can it be called in ASP.
read this link COM[^]
The essence of COM is a language-neutral way of implementing objects that can be used in environments different from the one they were created in, even across machine boundaries
Check this section of CP for examples and niformation
COM[^]
Regards,
Sandip.
|
|
|
|
|
Thanks.
I found that ActiveX is just for this.
system
|
|
|
|
|
Hi,
I want to know how Visual C++ experts implement these complicated logical relations between visual components of a form.
For example when user switch between different radio buttons and you need to en/disable other components or some other tasks.
Actually I need some APIs (like EnumChildWindows) or some approaches(which I don't know any!) to make it more covnvenient to do such boring tasks!
|
|
|
|
|
Hello everybody,
in my program I dynamically add up to four CRichEditCtrl elements to a dialog. So far no problem. For some functions (e.g. search function) I need to know which control holds the focus.
How can I determine the active RichEdit control?
Greetings
|
|
|
|
|
Member 3554668 wrote: I dynamically add up to four CRichEditCtrl elements to a dialog.
That means you have handle to all of them.
You can use Getfocus() and check handle returned by it against the handles you have.
I hope it helps.
Regards,
Sandip.
|
|
|
|
|
Hi Sandip,
I tried this already, I compared GetFocus() with GetDlgItem('ID'), but it didn't work. They returned two different handles...
For 'ID' I inserted the number I used to create the CRichEditCtrl. Perhaps this is the problem?!
CRichEditCtrl *pRichEdit = new CRichEditCtrl;
pRichEdit->Create(WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_HSCROLL|
ES_MULTILINE | ES_READONLY, rectRichEdit, this, 2000+i);
m_oaAllRichEditCtrl.Add(pRichEdit);
Greetings
|
|
|
|
|
Member 3554668 wrote: For 'ID' I inserted the number I used to create the CRichEditCtrl. Perhaps this is the problem?!
I dont think it can be a problem
But you can verify using GetDlgCtrlID() that id you passed is getting set correctly..
Instead of comparing handles you can also use
GetDlgCtrlID and compare the ID's..
Regards,
Sandip.
modified on Thursday, September 11, 2008 8:52 AM
|
|
|
|
|
Hello Sandip,
thanks for your help so far - I think we are getting closer. I tried it with GetDlgCtrlID() now and it returns '0' all the time. It obviously looses the focus as soon as I click on the search button.
Is there a flag for it I need to set in the Create() method?
Greetings
|
|
|
|
|
Ohh i got the problem..
I can think only one solution at this time
1. Derive your own class
2. Handle LostFocus
3. Set some variable in lost focus handler to identify the rich edit ctrl
4. Check this variable in button click??
Or you have some thing else in mind??
Regards,
Sandip.
|
|
|
|
|
Hi Sandip,
I'm afraid I don't have a easier or even better solution
Thanks for your help!
Greetings
|
|
|
|
|
GetFocus() returns an HWND , which should match the HWND member of pRichEdit .
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
Hello DavidCrow,
the problem is obviously that the RichEditCtrl loses the focus as soon as I click on the button and so I can't compaire GetFocus() with the pointer anymore.
Greetings
|
|
|
|
|
Member 3554668 wrote: ...as I click on the button...
Why you are just now getting around to mentioning this?
Given this new bit of information, you'll need to keep track of the edit control that had focus last, which is something that WM_SETFOCUS tells you. If you don't like that approach, then each time an edit control gains focus, assign its id, window handle, or CWnd object to some variable that can be compared against later.
I suspect there is a more elegant way of doing this, but with the lack of information provided, I can't say for sure.
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
I'm sorry for the lack of information. I didn't think the RichEditCtrl would lose the focus at once and I'm not so experienced in Visual C++.
Still thanks for your help.
Greetings
|
|
|
|
|
Member 3554668 wrote: I didn't think the RichEditCtrl would lose the focus at once...
I'm not exactly sure what you are trying to say here, but when you click on any other control, the edit control that had focus will indeed lose it, although you will be notified of this via WM_SETFOCUS .
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
+ Just looking at the help on WM_SETFOCUS, it says upon receipt of this message, you are informed of the window that's just lost focus.
+ It seems as though all you need to do is handle this message for your button, and take note of the wParam, which holds the HWND of the window that had focus.
+ I suppose you could then send a message from the button to it's parent in order to let the window know what had focus before the button was pressed.
|
|
|
|