|
ok can you give me some example how can i stat to rewrite application..
Plz help me
|
|
|
|
|
Not really no, because it completely depends on what you want to implement. The only advice I can give you is to create an empty dialog based application and then to add features little by little.
But converting from a MDI application to a dialog based application seems a very awkward choice, because the structure of your program and the way the user interacts with it are completely different. Are you sure you want to do such a thing ? What's the reason behind that choice ?
|
|
|
|
|
yes i want to change.Sir i have past here one link which is given information of current copy information and i want to do this in dailog based application,so i want to convert it.
Simply it is a programm of Clipboard viewer.And i search and ask question about it.But i havn't found solution.Now i am geting link from code guru and i want to change this application.
So plz help me
|
|
|
|
|
So, just because the guy use a dialog based application in his example, you are ready to throw out your existing MDI application and restart everything from scratch ? Sounds a very bad design decision, because as I said, MDI and dialog application are targeted for different usages.
|
|
|
|
|
SO in which way i go..Can you give me guid in which i go to do thatt?
Plz help me
|
|
|
|
|
Well, I don't even know what you are trying to do...
Anyway, the best advice I can give you is to read a good book about MFC, it seems that you are missing some fundamuntal concepts with MFC. A lot of people suggested this bool[^], never read it myself though.
|
|
|
|
|
Hi,
I have the following error.
Error 26 error LNK2019: unresolved external symbol "public: __thiscall CGetFootDlg::CGetFootDlg(class CWnd *)" (??0CGetFootDlg@@QAE@PAVCWnd@@@Z) referenced in function "public: __thiscall CMainDlg::CMainDlg(class CWnd *)" (??0CMainDlg@@QAE@PAVCWnd@@@Z) MainDlg.obj
Can any one tell me whats wrong!
Thanks
Dhiraj Kumar Saini
|
|
|
|
|
In the cpp file of the class CGetFootDlg, check the function CGetFootDlg::CGetFootDlg(class CWnd *) exists or not.
|
|
|
|
|
It exist but in the form
CGetFootDlg::CGetFootDlg(bool bMainDlg, CWnd* pParent /*=NULL*/)
: CDialog(CGetFootDlg::IDD, pParent)
{
m_bMainDlg = bMainDlg;
m_bChatTransferred = false;
}
Whats wrong with it;
Dhiraj Kumar Saini
|
|
|
|
|
Dhiraj kumar Saini wrote: Whats wrong with it;
So in the header file of CGetFootDlg, have you defined a function like
CGetFootDlg(bool bMainDlg, CWnd* pParent /*=NULL*/); ?
|
|
|
|
|
Yes i have declared it in the header file of CGetFoorDlg since this function is a contrucotr.
I have declared two contructors:
CGetFootDlg(CWnd* pParent = NULL);
and
CGetFootDlg(bool bMainDlg, CWnd* pParent = NULL);
|
|
|
|
|
Dhiraj kumar Saini wrote: CGetFootDlg(CWnd* pParent = NULL);
The above function dosent have the implimentation in cpp right. In the CPP you have only written implementation for CGetFootDlg(bool bMainDlg, CWnd* pParent = NULL);. So remove the first constructor from the header.
After this if you compile, you will get error from the constructor if CMainDlg. Because from that constructor, you are trying to call CGetFootDlg(CWnd* pParent);. But while linking, the compiler couldn't find the implementation. That why it gave out link error.
Modify the CMainDlg constructor to call the CGetFootDlg(bool bMainDlg, CWnd* pParent = NULL); constructor instead of CGetFootDlg(CWnd* pParent = NULL);
|
|
|
|
|
Hi ,
But in CMainDlg Constructor I am not calling CGetFootDlg.
Can u just explain it more
|
|
|
|
|
May be you have member variable of CGetFootDlg in CMainDlg.. isnt it?
|
|
|
|
|
Yes u r right!
So what to do?
|
|
|
|
|
You can use the initialisation list of CMainDlg. That is if your current CMainDlg constructor is as follows
CMainDlg::CMainDlg( CWnd* pParent )
: CDialog(CMainDlg::IDD, pParent)
Modify it as
CMainDlg::CMainDlg( CWnd* pParent )
: CDialog(CMainDlg::IDD, pParent),
m_FootDlg( true, this )
Where m_FootDlg is the member variable of class CGetFootDlg.
|
|
|
|
|
Actually CMainDlg is My Main DialogBox Class On which by default i am placing a new dialog box
CVisitorDtlsDlg and its memeber variable it CMainDlg is m_dlgVisitorDetails.
the contructor i have defined for CMainDlg is as follows:
CMainDlg::CMainDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMainDlg::IDD, pParent),m_dlgVisitorDetails(true,this)
{
//{{AFX_DATA_INIT(CMainDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_nTimer = 0;
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
Now what i want is if I click the button on CgetFootDlg which is there on the CmainDlg as a button control then in Place of CVisitorDtlsDlg dialog box i need to open a new DialogBox CGetFootDlg which have certain controls.
Again if I click ViewDetails button control which is placed on CMainDlg the Dialogbox CGetFootDlg
shoulb be replaced by CVisitorDtlsDlg .
Please tell how to imlement the CMainDlg Constructor for both the Dialog Boxes that are as a control on the CMainDlg but visible only one at a time.
|
|
|
|
|
The link error can be fixed by modifying the code as follows..
CMainDlg::CMainDlg(CWnd* pParent )
: CDialog(CMainDlg::IDD, pParent),m_dlgVisitorDetails(true,this),
m_FootDlg( true, this )
Dhiraj kumar Saini wrote: Please tell how to imlement the CMainDlg Constructor for both the Dialog Boxes that are as a control on the CMainDlg but visible only one at a time.
The constructor have nothing to do with the visiblity of the dialog. If you want to know whether the other dialog is visible or not, you can the IsWindowVisible() function.
|
|
|
|
|
Still it is giving the error as
Error 27 error LNK2019: unresolved external symbol "public: __thiscall CGetFootDlg::CGetFootDlg(bool,class CWnd *)" (??0CGetFootDlg@@QAE@_NPAVCWnd@@@Z) referenced in function "public: __thiscall CMainDlg::CMainDlg(class CWnd *)" (??0CMainDlg@@QAE@PAVCWnd@@@Z) MainDlg.obj
I have made the constructor of CmainDlg as
CMainDlg::CMainDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMainDlg::IDD, pParent),m_dlgVisitorDetails(true,this),
m_dlgGetFootPrint(true,this)
{
//{{AFX_DATA_INIT(CMainDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_nTimer = 0;
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
|
|
|
|
|
have you added the cpp file of CGetFootDlg to the project files( you can check this from the file view tab->Source files ). If it is not added to the projet add it.
|
|
|
|
|
Yes I have added the cpp file
|
|
|
|
|
Please help me as u have understood my problem
|
|
|
|
|
how do you customize the title bar for applications? i'd like to know how to do this for either: a windows forms application or MFC application (using visual studio 2008). the windows forms application can be in either visual basic or c++. Specifically, i want to customize the buttons for the application (minimize, maximize, and close). Thanks for help in advance.
|
|
|
|
|
|
Is that for mfc or atl?
|
|
|
|