|
Are you subclassing a dialog control?
If so, you will need to handle the WM_GETDLGCODE message to inform the dialog that you want the arrow keys.
Tim Smith
Descartes Systems Sciences, Inc.
|
|
|
|
|
I create a default empty MFC "dialog based" and OnKeyDown is the only function I have... and I have deleted all controls from the dialog... and only the VK_RIGHT and VK_DOWN don't work...
but thanks... I try it with WM_GETDLGCODE
|
|
|
|
|
Hi.
I have a problem with using CTreeCtrl.
How Can I Get Expanded item in "OnExpanding(...)" event, when user
click on '+' and no any item selected.
Pleas with more details.
Iman Ghasr-e-fakhri
|
|
|
|
|
Cast NMHDR* to NMTREEVIEW*. itemNew member of NMTREEVIEW contains information about tree item that expands or collapses.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Hello !
please help me
how to transpose all note while playing midi by directmusic ?
thanks
|
|
|
|
|
I have a simple Dialog based application in which I am using 2 embedded web controls (Microsoft web browser)as UI.
The problem is if I want my web page in control 1 to change page in contorl 2, how can i do it.
This is basically a communication between those two embedded web controls.
In my dream, I was dorwning in my §orrow§
But my §orrow§, they learned to §wim
|
|
|
|
|
How can I get the path of the executable? I want to Open a file in the same directory - the problem is that something causes the relative directory to change, so just specifying the filename can give me a FileNotFound exception.
thanks,
Jake
*****
Jake Palmer
www.duke.edu/~jp6
|
|
|
|
|
Its easy.
use function GetModuleFileName like this
char szFileName[MAX_PATH];<br>GetModuleFileName(NULL,szFileName,MAX_PATH);
but you want to know the directory of your file you can use function GetCurrentDirectory like this
char szFileName[MAX_PATH];<br>GetCurrentDirectory(MAX_PATH,szFileName);
Secondly you may be having this problem because you are executing the file from within visual c which makes the parent folder the working directory and not the "Debug" or "Release" folder of your project.
Put the file you want to access in the parent of your "Debug" folder.
In my dream, I was dorwning in my §orrow§
But my §orrow§, they learned to §wim
|
|
|
|
|
Since GetModuleFileName(...) has some restrictions when used under Win9x, I prefer to evaluate the public variable CWinApp::m_pszHelpFilePath.
|
|
|
|
|
Hello!
I'm creating my very first ActiveX Control! I'm using the AppWizard to create the project.
I then changed the code in OnDraw so that the CRect allways is a square. I then use FillRect() and Ellipse() to create a white box with a circle in it. (I'm just trying this)
When I then insert this Control into VB (or ...) I get a box, with 'handles', around my square, for resizing it.
When I resize it the white box with the circle will be a square, BUT the box around it has the size it got when I used the mouse to resize it. This often leads to that only a part of my white box and circle will be shown!
How do I change the sorrounding box
|
|
|
|
|
I have an ATL project that started as a learning project but has come to a point of having code I would like to use. The problem is that on the way I created some functions I want to remove, but doing so breaks everything, in the least it stops mew adding more methods. Can anyone tell me how I'm supposed to do this ? Each function seems to have residue all over the place...
Christian
As I learn the innermost secrets of the around me, they reward me in many ways to keep quiet.
Men with pierced ears are better prepared for marriage. They've experienced pain and bought Jewellery.
|
|
|
|
|
I know exactly what you mean, the same ting happens if you make a spelling error in a function name, and try ro rename the function
I have done it by doing a search/replace in all the files in the project, and then rebuilt the project...
- Anders
Money talks, but all mine ever says is "Goodbye!"
|
|
|
|
|
The problem seems to be that while that would work for a rename, if you go through and *delete* a function, because of the way it's all laid out, any functions you add after it won't get found in the vtable, so I end up with NULL pointers when trying to create them.
Christian
As I learn the innermost secrets of the around me, they reward me in many ways to keep quiet.
Men with pierced ears are better prepared for marriage. They've experienced pain and bought Jewellery.
|
|
|
|
|
Wow, I have been working with ATL for 4+ years and have never had any problem like that. Well, other than sometimes the compiler not rebuilding everything. Rebuild all fixes that.
I did have one problem one time, but it turned out that I named an H file with the same name as a system file (i.e. version.h), thus the compiler would always ignore changes to that file as far as requiring rebuilds.
Tim Smith
Descartes Systems Sciences, Inc.
|
|
|
|
|
I did have one problem one time, but it turned out that I named an H file with the same name as a system file (i.e. version.h), thus the compiler would always ignore changes to that file as far as requiring rebuilds.
Sounds like the debugging problem from hell !!
I've got a feeling when I go through and delete every piece of code with the name of my function, some of the funky looking stuff I delete should be left or changed, I'm just not sure what.
Christian
As I learn the innermost secrets of the around me, they reward me in many ways to keep quiet.
Men with pierced ears are better prepared for marriage. They've experienced pain and bought Jewellery.
|
|
|
|
|
Is this in conjunction with the class wizard?
If so, that could explain why I have never seen any type of problem like that. I have always been too bullheaded and lazy to learn those classwizards.
Tim Smith
Descartes Systems Sciences, Inc.
|
|
|
|
|
The classwizard does not support removing functions, although I used it to add them ( well it's not the classwizard, but I assume you mean the class view ).
Christian
As I learn the innermost secrets of the around me, they reward me in many ways to keep quiet.
Men with pierced ears are better prepared for marriage. They've experienced pain and bought Jewellery.
|
|
|
|
|
Yeah, that is what I ment.
Tim Smith
Descartes Systems Sciences, Inc.
|
|
|
|
|
Hi Christian,
Sorry if this sounds like a really stupid question, but do you mean exported COM methods? Have you deleted them from the IDL and renumbered all of your IDL functions? For example:
[id(1), helpstring("method ExecuteSql")] HRESULT ExecuteSql([in] VARIANT avCommand, [out] VARIANT *apvResponse);
[id(2), helpstring("method ExecuteDml")] HRESULT ExecuteDml([in] VARIANT avCommand, [out] VARIANT *apvResponse);
[id(3), helpstring("method GetStatus")] HRESULT GetStatus([out] long *aplStatus);
Then, trying to delete ExecuteDML, you would need:
[id(1), helpstring("method ExecuteSql")] HRESULT ExecuteSql([in] VARIANT avCommand, [out] VARIANT *apvResponse);
[id(2), helpstring("method GetStatus")] HRESULT GetStatus([out] long *aplStatus);
remembering to renumber the method to 2. All of this is in addition to removing the functions from the .h and .cpp files associated with the IDL.
Again, sorry if this seems obvious, but my experience has always shown that it's the obvious things you miss... Hope this helps.
------------------------
Derek Waters
derek@lj-oz.com
|
|
|
|
|
To be honest, it's my recollection that I expected to have to do that but couldn't find where it was. I also deleted the weird lookin' stuff that was associated with my function and looked to me like it was specifying offsets in memory for functions & variables, is that right ?
Thanks for the help.
Christian
As I learn the innermost secrets of the around me, they reward me in many ways to keep quiet.
Men with pierced ears are better prepared for marriage. They've experienced pain and bought Jewellery.
|
|
|
|
|
Yeah, the IDL is contained in the <interface name="">.dil file in your interface definition. Having a quick look at the example project I was using, the only line I would have removed from the <interface name="">.h file was:
STDMETHOD(ExecuteDml)( VARIANT avCommand, VARIANT *apvResponse);
and also the corresponding implementation in <interface name="">.cpp. I think that's about it. You will, though, have to make sure that the MIDL compiler regenerates the main project .h file which contains the stubs that wrap around the COM calls. If you've screwed around with this file, I'd try deleting it, modifying your IDL so the MIDL compiler fires off again and regenerating.
The id numbers in the IDL specify the function offsets in the COM object. These definitely have to be sequentially increasing. Any missing or mis-ordered numbers cause things to go very askew (as I've found out from experience).
------------------------
Derek Waters
derek@lj-oz.com
|
|
|
|
|
Ah.... *light comes on* So if I remove the .h and .cpp references to the fucntion, and the IDL reference which has the number, the compiler will fix the rest ?
Christian
As I learn the innermost secrets of the around me, they reward me in many ways to keep quiet.
Men with pierced ears are better prepared for marriage. They've experienced pain and bought Jewellery.
|
|
|
|
|
Yep. At least, that is my belief, without wanting to 100%, no doubt, absolutely stake my life on the behaviour of Visual C++...
------------------------
Derek Waters
derek@lj-oz.com
|
|
|
|
|
Thanks for the help - I'll backup my project tonight and give that a try.
Christian
As I learn the innermost secrets of the around me, they reward me in many ways to keep quiet.
Men with pierced ears are better prepared for marriage. They've experienced pain and bought Jewellery.
|
|
|
|
|
(1) Remove the function declaration from the IDL file
(2) Remove the function declaration from the implementation class
(3) Remove the function implementation from the implementation class
(4) Rebuild the project
Mohamed Mabrouk
|
|
|
|