Page 1 of 1

Dialog中按以下按钮就改变wxTextCtrl中的内容怎么做啊?

Posted: Mon Apr 15, 2013 4:01 am
by secondsen
一个wxDialog
一个wxButton,若干不同ID的wxTextCtrl

我想按一下按钮,就改变 某固定ID 的wxTextCtrl的内容

这应该怎么做啊?

void OnButtonClick(xxxx)
{
通过 ID 获得控件 XXX;
XXX.SetValue; <------------可以改变textctrl的内容
}

但是我不知道怎么能通过 固定的ID 得到 控件。。。还是说这个方法行不通?求教

Re: Dialog中按以下按钮就改变wxTextCtrl中的内容怎么做啊?

Posted: Mon Apr 15, 2013 8:57 am
by fancyivan
两种方法
1. 在类中定义private变量,在OnButtonClick中直接使用
如:

Code: Select all

class yourDlg
{
  private:
     wxTextCtrl* m_txt_1;
}

void Click()
{
   m_txt_1->SetValue....
}
2.使用FindWindow,根据ID在正确的parent上(可能是Dialog,也许你将这些textCtrl放在某个panel上了)查找你的TextCtrl,然后使用。如:

Code: Select all

void Click()
{
  wxTextCtrl *txt = (wxTextCtrl*)(this->FindWindow(IDIDIDIDIDID));
  txt->SetValue....
}
secondsen wrote:一个wxDialog
一个wxButton,若干不同ID的wxTextCtrl

我想按一下按钮,就改变 某固定ID 的wxTextCtrl的内容

这应该怎么做啊?

void OnButtonClick(xxxx)
{
通过 ID 获得控件 XXX;
XXX.SetValue; <------------可以改变textctrl的内容
}

但是我不知道怎么能通过 固定的ID 得到 控件。。。还是说这个方法行不通?求教

Re: Dialog中按以下按钮就改变wxTextCtrl中的内容怎么做啊?

Posted: Mon Apr 15, 2013 6:12 pm
by secondsen
非常感谢!!