|
|
This is my code for first Dialog
#if !defined(AFX_DIALOG1_H__F50AB9B4_5FA3_4068_843C_01A10ED22766__INCLUDED_)
#define AFX_DIALOG1_H__F50AB9B4_5FA3_4068_843C_01A10ED22766__INCLUDED_
#include "dialog2.h" // Added by ClassView
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// dialog1.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// dialog1 dialog
class dialog1 : public CDialog
{
// Construction
public:
dialog2 d2;
dialog1(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(dialog1)
enum { IDD = IDD_DIALOG1 };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(dialog1)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(dialog1)
// NOTE: the ClassWizard will add member functions here
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALOG1_H__F50AB9B4_5FA3_4068_843C_01A10ED22766__INCLUDED_)
//**************************************************************************
And second dialog Code is
#if !defined(AFX_DIALOG2_H__B49F8072_EB87_4558_8CE9_E83A7852E553__INCLUDED_)
#define AFX_DIALOG2_H__B49F8072_EB87_4558_8CE9_E83A7852E553__INCLUDED_
#include "dialog1.h" // Added by ClassView
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// dialog2.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// dialog2 dialog
class dialog2 : public CDialog
{
// Construction
public:
dialog1 d1;
dialog2(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(dialog2)
enum { IDD = IDD_DIALOG2 };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(dialog2)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(dialog2)
// NOTE: the ClassWizard will add member functions here
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALOG2_H__B49F8072_EB87_4558_8CE9_E83A7852E553__INCLUDED_)
Error is
Compiling...
dialog2.cpp
c:\documents and settings\kone\desktop\test_dialog\dialog1.h(19) : error C2146: syntax error : missing ';' before identifier 'd2'
c:\documents and settings\kone\desktop\test_dialog\dialog1.h(19) : error C2501: 'dialog2' : missing storage-class or type specifiers
c:\documents and settings\kone\desktop\test_dialog\dialog1.h(19) : error C2501: 'd2' : missing storage-class or type specifiers
dialog1.cpp
c:\documents and settings\kone\desktop\test_dialog\dialog2.h(18) : error C2146: syntax error : missing ';' before identifier 'd1'
c:\documents and settings\kone\desktop\test_dialog\dialog2.h(18) : error C2501: 'dialog1' : missing storage-class or type specifiers
c:\documents and settings\kone\desktop\test_dialog\dialog2.h(18) : error C2501: 'd1' : missing storage-class or type specifiers
Generating Code...
Error executing cl.exe.
test_dialog.exe - 6 error(s), 0 warning(s)
|
|
|
|
|
keyvan_jaferzade wrote: c:\documents and settings\kone\desktop\test_dialog\dialog1.h(19) : error C2146: syntax error : missing ';' before identifier 'd2'
Notice what is to the left of d2 ? dialog2 has not been declared at this point.
"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 included this class at first of class
and i dont know what i should declare this class into another
|
|
|
|
|
keyvan_jaferzade wrote: i included this class at first of class
I see that now. My bad. The circular reference suggestion is what you need.
"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
|
|
|
|
|
You've got a circular reference problem.
You can't forward reference a class object, but you can forward reference
a class object pointer, since the compiler knows what a pointer is.
Something like this should work...
#pragma once
class dialog2;
class dialog1 : public CDialog
{
public:
dialog2 *d2;
...
};
#pragma once
#include "dialog1.h"
class dialog2 : public CDialog
{
public:
dialog1 *d1;
...
};
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
thnx that solved my problem
but after that i arrived to new problem
in first dialog there is a progress bar and my program in second dialog want to control this progress but error happen
i used ur code with ur pointer to first dialog
i can change variable in first dialog but cant change visual elements
|
|
|
|
|
Changing visual elements in another dialog class doesn't sound
like a good design.
Maybe send or post messages instead. Let each dialog class change its own
visual elements.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
in second form program runs and should show progress in first dilog
is there a solution to this?(my master want this )
|
|
|
|
|
Hi,
I have a SDI FormView based app which contains some custom control along with some standard controls. The problem I am facing is briefly explained below.
I designed the FormView Dialog on a computer which has 800*600 resolution. When I run the app on the same computer the screen is OK. But when test the same app on a computer that has a resolution of say 1028 * 768, the total app window occupied only 70% of the screen.
I have seen one program which has different user interface depending on the screen resolution. It contains more controls on the form if scrren resolution is more or switches to normal form when the resolution is set to lower say 800 * 600 .
I am trying to implement the same behaviour like displaying extra controls if resolution is more, or the important ones for normal resolution.
1. Is it possible using Visual C++ 6.0 version.
2. Does creating two dialog templates one for high resolution, other for low resolution, and loading the dialog depending on the resolution work ?.
regards,
Shanmukha
|
|
|
|
|
Does change resolution is your problem?
|
|
|
|
|
I have try to use ado AppendChunk() fucntion to save to a clob data type to oracle database, but when i read back, the data was not save to the oracle database. Anyone know what is the problem?
// BEFORE THIS FUNTION, ORACLE DATABASE WAS CONNECTED
bool ADODBHandler::UpdateMap()
{
AdoNS::_RecordsetPtr rst;
try
{
..........................
rst.CreateInstance("ADODB.Recordset");
rst->CursorType = AdoNS::adOpenKeyset;
rst->LockType = AdoNS::adLockOptimistic;
HRESULT hr = rst->Open("pcmap.WAFERMAP3_PROCESSMAP", _variant_t((IDispatch*)m_cpConnection,true), AdoNS::adOpenKeyset, AdoNS::adLockOptimistic, AdoNS::adCmdTable);
rst->AddNew();
rst->Fields->GetItem("LOTNO")->PutValue(lotno);
rst->Fields->GetItem("WAFERNO")->PutValue(WaferNo);
rst->Fields->GetItem("WAFERID")->PutValue(Waferid);
rst->Fields->GetItem("PROBER_FILE")->PutValue(ProberFile);
rst->Fields->GetItem("ORIENT")->PutValue(Orient);
rst->Fields->GetItem("ROW_COUNT")->PutValue(RowCount);
rst->Fields->GetItem("COL_COUNT")->PutValue(ColCount);
rst->Fields->GetItem("PASS")->PutValue(Pass);
rst->Fields->GetItem("FAIL")->PutValue(Fail);
rst->Fields->GetItem("SOURCE")->PutValue(Source);
rst->Fields->GetItem("ET_TIME")->PutValue(date);
rst->Fields->GetItem("MAP_VER")->PutValue(Ver);
rst->Update();
_variant_t varChunk;
varChunk.bstrVal = _bstr_t(cWafer); // cWafer is a char array about 2500 bytes long
// for some strange reasons, cannot save varChunk to database and no exception error was capture
rst->Fields->GetItem("MAP")->AppendChunk(varChunk);
rst->Update();
}
.........
}
|
|
|
|
|
you may submit the post to database forum of CodeProject, there are more db users there.
|
|
|
|
|
Hi,
I am trying to impersonate a user on Win 2k machines. The LogOnUser() api works perfect on XP, 2k3 but it fails on win 2k machines as it requires SE_TCB_NAME privilege. So i tried to set the privilege to the current process by the code available on MSDN http://msdn.microsoft.com/en-us/library/aa446619(VS.85).aspx[^] but it didnt work for me. still it fails by giving error 1314 (A required privilege is not held by the client), if i give the "Act as a part of operating system" privilege from Administrative tools -> local Security Policy -> Local Policy to that particular user, the code works perfectly on win 2k. But how to achive it through code.
Thanks,
Sandeep
|
|
|
|
|
Hi all,
I have done spliting using OnCreateClient function of MainFrame class,
I have split my view in two column.
Is this possible whenever i want split window show or whenever i dontwant only one form show.
By default the split window show when i run an application,in toolbar i have a button when i clicked the button than in place of split window onlu one form can show.
Can this is possible.
Please tell me.
Tahnks in advance.
IN A DAY, WHEN YOU DON'T COME ACROSS ANY PROBLEMS - YOU CAN BE SURE THAT YOU ARE TRAVELLING IN A WRONG PATH
|
|
|
|
|
|
I believe that the OP indicated that he could successfully split his view into two columns. He wants to remove/hide one of those panes when a toolbar button is clicked.
"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 am using VC6 in Vista.For accesssing data base ( MSAccess ) compenents I am using MSADO1.5 ,
But that is not working with vista.
Can anybody help me to find a solution
|
|
|
|
|
Make it work ?
Seriously, with so vague information, nobody will be able to help you.
|
|
|
|
|
You did't deserve to be voted down for that one.
|
|
|
|
|
He was probably frustrated because I didn't provide a full working solution with codezz plzz urgnt !1!!
|
|
|
|
|
Hi,
I am dovelping a wizard based applcation with 3 pages. At one page CTreeCtrl is there but when I call DeleteAllItems() It does not show any item even if I insert the item code is here:
CTreeCtrl *Tree=(CTreeCtrl *)GetDlgItem(IDC_TREE1);
Tree->DeleteAllItems();
Tree->InsertItem(_T("aa"));
And One CComboBox that does not drop down. what is the reason?
|
|
|
|
|
Try calling UpdateWindow() after the InsertItem method.
In ComboBox, after dropping the control from the resource pane into your dialog, you have to resize it vertically to set its dropdown area. Click on the pulldown button of the combobox. You will get a fram with 8 resizing points. Resize the frame vertically and try.
|
|
|
|
|
UpdateWindow() is not working and I can can pulldown the Combobox only horizontally not vertically
|
|
|
|
|
Good to see you around here on a weekend, Paul. Looks like you're addicted now.
|
|
|
|