|
Nish,
Another question:
Do you know any messages will send to a dialog subsequently after calling the EndDialog() to triggle the dailog to close itself?
lauch
|
|
|
|
|
If anybody knows how to implement automation function in Visual C++ to copy bitmap that resides on the clipboard to a MS Word documetn. Sounds so simple but I am clueless. Please HELP!!!
|
|
|
|
|
I have a single document interface application. Its base class is CFormView. I've added a CTreeCtrl to it just like I would in a dialog based application. I've given the tree control an Id and I've created a variable of type CTreeCtrl. However, when I try to use it my application crashes. Its seems that my tree control has not been initialized...
this->m_ctrlSetupTree {CTreeCtrl hWnd=0x00000000}
|
|
|
|
|
The the code that creates the CTreeCtrl object, i.e. Create().
Kuphryn
|
|
|
|
|
How do I get the parent CWnd* pParentWnd?
BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
|
|
|
|
|
Call GetParent().
Kuphryn
|
|
|
|
|
isn't it your view? this (or similar)
t!
|
|
|
|
|
|
I would bet you are trying to use it before the tree control has been created. Are you trying to access the tree control in a WM_SIZE handler? If so, it won't be created the first couple times the WM_SIZE handler gets called. Usually, the fix for this is something like this:
if( !IsWindow( m_YourTreeCtrl ) )
return;
However, if you are trying to access the tree in a function that's only called once (say, for initialization), then you'll have to put the initialization code in some other function that's called later on.
Chris Richardson Terrain Software
|
|
|
|
|
I'm calling the following code. But it seems that my hWnd is still null.
CRect treeRect;
treeRect.NormalizeRect();
CImageList *pImageList=new CImageList;
if(this->m_ctrlSetupTree.Create(WS_VISIBLE,treeRect,this,IDC_SETUP_TREE))
{
Beep(999,99);
int i, icons=0;
for (icons=0; RCanalTree::m_icons[icons]; icons++) {}
pImageList->Create(16, 16, TRUE, icons,6);
for (i=0; RCanalTree::m_icons[i]; i++)
{
pImageList->Add(AfxGetApp()->LoadIcon(RCanalTree::m_icons[i]));
}
m_ctrlSetupTree.SetImageList(pImageList,TVSIL_NORMAL);
if(this->m_oCanalManager.CreateNewDataStructures())
{
}
}
}
|
|
|
|
|
Your control is failing to be created because you haven't specified the WS_CHILD style. Here's the correct line of code:
if(this->m_ctrlSetupTree.Create(WS_CHILD|WS_VISIBLE,treeRect,this,IDC_SETUP_TREE))
{
..... snip .....
}
Chris Richardson Terrain Software
|
|
|
|
|
Hmmmm...Create still returned zero..
CTreeCtrl::Create returned 0
if(this->m_ctrlSetupTree.Create(WS_CHILD|WS_VISIBLE|TVS_HASLINES,treeRect,this,IDC_SETUP_TREE))
|
|
|
|
|
Has the window referred to by "this" been created at the point you are calling Create? That's my only guess as to why it would still be failing.
Chris Richardson Terrain Software
|
|
|
|
|
Hmmm.... good point. Exactly when in the "window" created in an SDI application with formView as the base class???
|
|
|
|
|
Well I'm not sure of the exact message sequence. Why don't you post the relevant code for the formview derived class, and then I'll tell you if the window has been created. Or at least, tell which function you have put the tree creation code in.
Chris Richardson Terrain Software
|
|
|
|
|
Actually, all I needed to do was move my code into the OnInitialUpdate function. I didn't need to call create!
void CSacmanSetupApplicationView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
CRect treeRect;
CImageList *pImageList=new CImageList;
My object is fine at this point
if(this->m_ctrlSetupTree)
{
Beep(999,99);
int i, icons=0;
for (icons=0; RCanalTree::m_icons[icons]; icons++) {}
pImageList->Create(16, 16, TRUE, icons,6);
for (i=0; RCanalTree::m_icons[i]; i++)
{
pImageList->Add(AfxGetApp()->LoadIcon(RCanalTree::m_icons[i]));
}
m_ctrlSetupTree.SetImageList(pImageList,TVSIL_NORMAL);
Had to make sure it was displaying an object with data in it..
m_ctrlSetupTree.SetCanalManagerPointer(this->m_oCanalManager.GetCanalManager());
Thanks for the help!
|
|
|
|
|
hello
i have a problem with "glutInit (&argc, argv)" it's an API of "glut" lib ,and
my problem are with the 2 parameter of glutInit ;i have made an MFC application and
i use glutInit ,like this :
void initializeGraphics (int argc, char **argv)
{
// initialize GLUT state based on command line arguments
glutInit (&argc, argv);
.....
.....
.....
}
but when i compile it said me that the 2 parameter are undeclared.
how i can resolve this problem,or modified the code ?
|
|
|
|
|
Non-console apps (like MFC ones) are not provided these parameters. Fortunately for you, MSVC features the global variables __argc and __argv which you can use instead.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
thank you
but how i can use this globale variable __argc and __argv,because i am new in vc++ and programation.
|
|
|
|
|
It'd be something like
void initializeGraphics (int argc, char **argv)
{
...
glutInit (&argc, argv);
...
}
...
initializeGraphics(__argc,__argv);
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
i try but it don't run,i have the some mistake.
can u help me,please.
|
|
|
|
|
I have an SDI app (and it has to stay an SDI app). I need to be able to show different views, each with their own doc, but eachg view is required to maintain an open doc, even if the view isn't currently being displayed.
Is that possible? If so, how?
------- signature starts
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
Please review the Legal Disclaimer in my bio.
------- signature ends
|
|
|
|
|
|
Using VC&/C++/W2K. ::LoadImage() occasionally returns a system error 8 (Not enough storage is available to process this command) while trying to load a 1 mb. bitmap. Any ideas?
|
|
|
|
|
try to increase virtual memory
|
|
|
|