|
You want to spawn the OpenGL application, correct? One solution is CreateProcess().
Kuphryn
|
|
|
|
|
I am very thankful for your suggestion. The first and foremost thing that I have to do is to open a bmp image when I use the open option on my interface in a seperate document (I mean window), but I am not getting how to write a process for any menu item (and where to define that process in my MFC program) that I create on the interface and I am also having 'save' and 'save as' options and I think I have to define processes for them also....but I don't know how to define them. But i have gone through 'CBitmap' functions but I am not getting how to define them in my MFC program so that I can display any bmp image when I use my open option on my interface.
|
|
|
|
|
I have a program which pops a window on an event, an incoming phone call. This bit of code works.
HWND temphwnd;
temphwnd = FindWindow(NULL,ProgramTitle);
ShowWindow(temphwnd,SW_RESTORE);
and I can minimize it when the call drops by.
ShowWindow(temphwnd,SW_MINIMIZE);
Can anyone tell me how I can find out the current state of my program window so that I can leave it in the same state as when the call came in. If the user has the window up and active I dont want to minimize it when the call drops.
Graham
|
|
|
|
|
|
OK Thanks for that so far
That gives me the Maximized/Minimized state in that it returns
SW_NORMAL if the window is maximized and SW_SHOWMINIMIZED if minimized. The next problem is, if the window is Maximized but behind another window how can I tell that and what call do I need to bring it to the front and make it active.
If I call ShowWindow(temphwnd,SW_RESTORE); that has no effect if the window is already Maximized but not active. The write up for SW_RESTORE says "Activates and displays the window" but this does not appear to work.
Graham
|
|
|
|
|
You may want to follow the ShowWindow() with a BringWindowToTop() .
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
|
|
I have written a simple, no frills managed C++ DLL, and am having trouble referencing it in a seperate C# project. Specifically, the C# compiler gives me an error, asking whether I have neglected to add a reference or using statement pointing to my library/namespace. However, I cannot insert a using statement in my C# code, even after properly referencing it in my project (right-click on the References icon in the Solution Explorer, click on Add Reference...).
ILDASM can traverse the C++ library, and in it I find my method (I have just one), so I suspect there is nothing wrong in the manner it compiled.
Also, the DLL I'm wanting to reference is in the same directory (bin/) as my C# project's DLL.
Is there anything special I have to account for when writing managed C++, and want to include it in a project of a different language?
~ Dr. Shim
|
|
|
|
|
I'm getting an error when I try to inherit a new view class for a MDI application, and I can't figure out why :/ .. First I created an OpenGL viewport inherited from CView, and packed it with all kinds of functionality. It works great. But now I'm trying to derive a new view class from it, and I'm getting the following error (using VC++ 6.0 professional):
C:\DEVELOPMENT\MotionX\MotionX.cpp(119) : error C2039: 'classCMotionXModelView' : is not a member of 'CMotionXModelView' c:\development\motionx\motionxmodelview.h(15) : see declaration of 'CMotionXModelView'
C:\DEVELOPMENT\MotionX\MotionX.cpp(119) : error C2065: 'classCMotionXModelView' : undeclared identifier
The thing is, I'm just deriving it from a class that is fully functional, and haven't added anything except a member variable to it.
This is the view class declaration that works:
<br />
#if !defined(AFX_MOTIONXGLVIEW_H__A90B4B55_D9F7_4DD4_A776_7EDC323D4724__INCLUDED_)<br />
#define AFX_MOTIONXGLVIEW_H__A90B4B55_D9F7_4DD4_A776_7EDC323D4724__INCLUDED_<br />
<br />
#if _MSC_VER > 1000<br />
#pragma once<br />
#endif // _MSC_VER > 1000<br />
<br />
#include "gl/gl.h"<br />
#include "gl/glu.h"<br />
#include "gl/glaux.h"<br />
<br />
#include "MotionXSceneDoc.h"<br />
#include "MotionXCamera.h"<br />
#include "MotionXModel.h"
<br />
<br />
<br />
#define PERSPECTIVE 0<br />
#define FRONT 1<br />
#define BACK 2<br />
#define LEFT 3<br />
#define RIGHT 4<br />
#define TOP 5<br />
#define BOTTOM 6<br />
<br />
class CMotionXGLView : public CView<br />
{<br />
protected:<br />
CMotionXGLView();
DECLARE_DYNCREATE(CMotionXGLView)<br />
<br />
public:<br />
<br />
public:<br />
CMotionXModel model;<br />
void DrawGrid();<br />
<br />
void SwitchViewportMode(unsigned int);<br />
void DollyViewport(const float speed);<br />
void PitchAroundPoint(const float speed);<br />
void RotateAroundPoint(const float speed);<br />
inline void PedistalViewport(float speed);<br />
inline void StrafeViewport(float speed);<br />
CMotionXCamera viewCam;<br />
BOOL SetupPixelFormat();<br />
<br />
public:<br />
virtual void OnInitialUpdate();<br />
protected:<br />
virtual void OnDraw(CDC* pDC);
virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);<br />
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);<br />
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);<br />
<br />
protected:<br />
virtual ~CMotionXGLView();<br />
#ifdef _DEBUG<br />
virtual void AssertValid() const;<br />
virtual void Dump(CDumpContext& dc) const;<br />
#endif<br />
<br />
protected:<br />
BOOL m_bCursor;<br />
double minClip, maxClip;<br />
double orthoWidth, orthoHeight, orthoZDistance;<br />
unsigned int m_viewportMode;<br />
CPoint m_pointMessage;<br />
CDC* GetDC();<br />
unsigned int height;<br />
unsigned int width;<br />
GLdouble aspectRatio;<br />
HGLRC m_hRC;
CDC* m_pDC;
<br />
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);<br />
afx_msg void OnDestroy();<br />
afx_msg void OnSize(UINT nType, int cx, int cy);<br />
afx_msg BOOL OnEraseBkgnd(CDC* pDC);<br />
afx_msg void OnMouseMove(UINT nFlags, CPoint point);<br />
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);<br />
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);<br />
afx_msg void OnViewportColorchange();<br />
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);<br />
afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);<br />
afx_msg void OnViewportScreenshot();<br />
afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);<br />
afx_msg void OnRButtonUp(UINT nFlags, CPoint point);<br />
DECLARE_MESSAGE_MAP()<br />
};<br />
<br />
<br />
<br />
#endif // !defined(AFX_MOTIONXGLVIEW_H__A90B4B55_D9F7_4DD4_A776_7EDC323D4724__INCLUDED_)<br />
<br />
This is the derived class.
<br />
<br />
#if !defined(AFX_MOTIONXMODELVIEW_H__AEBACD4C_059E_4D0D_8F56_6A4EFD2C25E9__INCLUDED_)<br />
#define AFX_MOTIONXMODELVIEW_H__AEBACD4C_059E_4D0D_8F56_6A4EFD2C25E9__INCLUDED_<br />
<br />
#if _MSC_VER > 1000<br />
#pragma once<br />
#endif // _MSC_VER > 1000<br />
<br />
#include "MotionXGLView.h"<br />
#include "MotionXModel.h"
<br />
class CMotionXModelView : public CMotionXGLView <br />
{<br />
public:<br />
CMotionXModel model;<br />
<br />
CMotionXModelView();<br />
virtual ~CMotionXModelView();<br />
<br />
};<br />
<br />
#endif // !defined(AFX_MOTIONXMODELVIEW_H__AEBACD4C_059E_4D0D_8F56_6A4EFD2C25E9__INCLUDED_)<br />
<br />
And this is my InitInstace code in my CMotionXApp class, that should tie the new class to the new document template:
<br />
m_pSceneTemplate = new CMultiDocTemplate(IDR_MOTIONTYPE,
RUNTIME_CLASS(CMotionXSceneDoc),
RUNTIME_CLASS(CChildFrame),<br />
RUNTIME_CLASS(CMotionXGLView) );
<br />
AddDocTemplate(m_pSceneTemplate);<br />
<br />
<br />
m_pModelTemplate = new CMultiDocTemplate(IDR_MOTIONTYPE,
RUNTIME_CLASS(CMotionXModelDoc),
RUNTIME_CLASS(CChildFrame),<br />
RUNTIME_CLASS(CMotionXModelView) );
<br />
Can anyone see what the problem is ??
|
|
|
|
|
NTense wrote:
//DECLARE_DYNCREATE(CMotionXModelView);
Uncomment this in your derived class, and add IMPLEMENT_DYNCREATE(CMotionXModelView, CMotionXGLView) in your .cpp file
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
Hi there!
Is there a way to obtain the parent process' handle using Win32 APIs?
One obvious way is to pipe the handle obtained by GetCurrentProcess() to the child process. But, I wanted to know if there's a direct way.
Thanks for your help!
Regards,
Sachin
|
|
|
|
|
Anonymous wrote:
Is there a way to obtain the parent process' handle using Win32 APIs?
Have you see the PROCESSENTRY32 structure, specifically the th32ParentProcessID member?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Hello friends,
I had attend some interviews in recent time and faced one common question.
"When a database application can be developed using VB, then whats the advantage for using VC++ for that same application?"
Please tell me the advantage so that I can easily answer if the same question is asked
Thank you,
|
|
|
|
|
none.
except maybe if there's some sort of cross-platform compatibility needed on the front end.
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
There's multi-threading of course.
VC++ clients can be made more UI responsive esp. if talking about large recordsets. Clever usage can help alleviate the annoying UI stalls.
Conversely, VC++ is much more costly to develop than VB (generally)
Cheers,
Andy
|
|
|
|
|
Neelesh K J Jain wrote:
"When a database application can be developed using VB, then whats the advantage for using VC++ for that same application?"
If the person doing the developing is more fluent in VC++, it will probably result in less cost, and quicker turn-around time.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Generally speaking, database access is far easier in VB than in VC++. Technologies such as ADO were built with ease-of-use for VB rather than C++.
Kevin
|
|
|
|
|
Neelesh K J Jain wrote:
whats the advantage for using VC++ for that same application?"
"whats THE advantage"?
There is no single advantage there are any number of them. Perhaps the most important would be that you were NOT developing in VB.
"for that same application"?
What are the rest of the requirements for the application?
I would seriously doubt the technical merit in that question and suspect a purely bias hidden agenda behind it. If that question is aimed at a technical issue that it is very poorly framed. It's as though the asker is expecting you to be thinking the same way he is. I find that to be an inappropriate question at best.
But, that's just my opinion... I could be wrong.
"No matter where you go, there your are." - Buckaroo Banzai
-pete
|
|
|
|
|
Hi,
i'm creating a jabber client (a chat tool, like icq or msn). In the app, i send info to a server, and i receive from it. I use MFC CSocket.
Is there any api function that checks if you are connected to internet?
thanks!!!
|
|
|
|
|
InternetGetConnectedState
It's not a bug, it's an undocumented feature. suhredayan@omniquad.com
messenger :suhredayan@hotmail.com
|
|
|
|
|
thanks!
i looked it up in msdn ( http://msdn.microsoft.com/library/?url=/library/en-us/wininet/wininet/internetgetconnectedstate.asp) , and i don't understand the following:
lpdwFlags
[out] Pointer to a variable that receives the connection description. This parameter can be one or more of the following values.
Value Meaning
INTERNET_CONNECTION_CONFIGURED Local system has a valid connection to the Internet, but it might or might not be currently connected.
INTERNET_CONNECTION_LAN Local system uses a local area network to connect to the Internet.
INTERNET_CONNECTION_MODEM Local system uses a modem to connect to the Internet.
INTERNET_CONNECTION_MODEM_BUSY No longer used.
INTERNET_CONNECTION_OFFLINE Local system is in offline mode.
INTERNET_CONNECTION_PROXY Local system uses a proxy server to connect to the Internet.
INTERNET_RAS_INSTALLED Local system has RAS installed.
the following code always returns online.. any ideas?
unsigned long *a;
a=(unsigned long *)malloc(sizeof(unsigned long));
if (TRUE==InternetGetConnectedState(a,0))
AfxMessageBox("online");
else
AfxMessageBox("offline");
|
|
|
|
|
kfaday wrote:
I use MFC CSocket.
Over CAsyncSocket ? Why?
kfaday wrote:
Is there any api function that checks if you are connected to internet?
See here.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
|
And your point is? I'm aware of the downfalls of using CSocket , some of which aren't even mentioned in your article, but perhaps the OP is not.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|