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

这是wxWidgets论坛的中文版本。在这里,您可以用您的母语汉语讨论上面任一子论坛所涉及的所有关于wxWidgets的话题。欢迎大家参与到对有价值的帖子的中英互译工作中来!
Post Reply
secondsen
Earned a small fee
Earned a small fee
Posts: 18
Joined: Tue Apr 02, 2013 4:14 pm

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

Post by secondsen »

一个wxDialog
一个wxButton,若干不同ID的wxTextCtrl

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

这应该怎么做啊?

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

但是我不知道怎么能通过 固定的ID 得到 控件。。。还是说这个方法行不通?求教
fancyivan
Experienced Solver
Experienced Solver
Posts: 80
Joined: Wed May 26, 2010 8:42 am
Location: Beijing, China
Contact:

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

Post 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 得到 控件。。。还是说这个方法行不通?求教
OS: Win7 Ultimate SP1 x64(Windows XP Pro SP3 in VirtualBox)
Compiler: MinGW32 (gcc4.8.1 + gdb7.6.1)
IDE: Code::Blocks 12.11
Lib: wxWidgets3.0.0
secondsen
Earned a small fee
Earned a small fee
Posts: 18
Joined: Tue Apr 02, 2013 4:14 pm

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

Post by secondsen »

非常感谢!!
Post Reply