Re: get text from Edit Control
Here is an example of a dialog box with one control on it, Edit control with
ID IDC_EDIT1:
// DialogFocusDlg.h : header file
//
#pragma once
#include "afxwin.h"
// CDialogFocusDlg dialog
class CDialogFocusDlg : public CDialog
{
// Construction
public:
CDialogFocusDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
enum { IDD = IDD_DIALOGFOCUS_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
protected:
// Generated message map functions
virtual BOOL OnInitDialog();
DECLARE_MESSAGE_MAP()
public:
CEdit m_Edit;
CString m_EditString;
};
CDialogFocusDlg::CDialogFocusDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDialogFocusDlg::IDD, pParent)
, m_EditString(_T(""))
{
}
void CDialogFocusDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_EDIT1, m_Edit);
DDX_Text(pDX, IDC_EDIT1, m_EditString);
}
BEGIN_MESSAGE_MAP(CDialogFocusDlg, CDialog)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
// CDialogFocusDlg message handlers
BOOL CDialogFocusDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_Edit.SetWindowText("Using SetWindowText");
//or
m_EditString = "Through DDX_TEXT";
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
}
"zack" <zack@discussions.microsoft.com> wrote in message
news:15ACE692-6D11-4375-9395-9AAED41263DF@microsoft.com...
i also tried :
LPTSTR USERNAME;
User_Edit_Control.SetDlgCtrlID(IDC_EDIT3);
User_Edit_Control.GetWindowTextW(USERNAME,15);
and i still can't see the string i am writing,
I probably doing something wrong or all wrong ?
"Tom Serface" wrote:
Actually, it's OK, in this case, to pass in either since it gets cast
automatically (bool is smaller than BOOL so nothing gets lost). I often
use
the 'true' 'false' form rather than TRUE and FALSE because the colorizer
in
Visual Studio changes the color so it's easy for me to see that it's a
"bool
or BOOL" in the parameters list. You are correct that the value is a
BOOL,
but in this case (and others where BOOL is the input, either works (at
least
as far as I can see).
I also try to use bools as the return values from BOOL functions and
typically do something like:
bool bMyvalue = SomeFunctionThatReturnsBOOL()? true : false; // I like
how
this reads.
I also hate holding the shift key down to type all those upper case
letters... it's great that so many things are left to preference. :o)
Tom
"Giovanni Dicanio" <giovanniDOTdicanio@REMOVEMEgmail.com> wrote in
message
news:OHq6lLWgJHA.5572@TK2MSFTNGP02.phx.gbl...
"Tom Serface" <tom@nospam.camaswood.com> ha scritto nel messaggio
news:2D00F1CA-D9D9-4422-BF83-14AD77BB1612@microsoft.com...
Or use UpdateData()
Some will argue about using this function, but it always works for me
and
it is the MFC build in way to transfer info from controls to variables
and back.
UpdateData(true) - gets values from controls into variables assigned
to
those controls.
UpdateData(false) - transfers values from variables back to the
controls.
I don't want to be picky here, but considering that the OP is in the
learning process I think that it would be better to show things
correctly
from the beginning:
UpdateData() takes a BOOL parameter, so correct values should be TRUE
and
FALSE (not 'true' and 'false', which are fine for C++ 'bool' type).
I know that Tom know these things better than me; I believe it was just
a
typo.
Giovanni