where is problem?

Volker Bartheld dr_versaeg at freenet.de
Wed Oct 17 02:58:26 PDT 2007


On Tue, 16 Oct 2007 20:23:47 +0200, Hola wrote:
> http://dark-code.bulix.org/q5awxa-58159

<code.cc>
#include <wx/wx.h>
#include <wx/textctrl.h>
class MyApp: public wxApp
{ 
public:
  virtual bool OnInit(); 
};

class MyTextCtrl : public wxTextCtrl
{
public:
  MyTextCtrl(wxWindow *parent, wxWindowID id, const wxString &value,
    const wxPoint &pos, const wxSize &size, int style = 0);
    void OnKeyDown(wxKeyEvent& event);

  DECLARE_EVENT_TABLE()
};
BEGIN_EVENT_TABLE(MyTextCtrl, wxTextCtrl)
EVT_KEY_DOWN(MyTextCtrl::OnKeyDown)
END_EVENT_TABLE()

class MyFrame: public wxFrame
{
public:
  MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
  void OnQuit(wxCommandEvent& event);
  wxTextCtrl *big,*tit;
  MyTextCtrl *tex;

  DECLARE_EVENT_TABLE()
};

enum
{   ID_LISTBOX     = 5,
ID_TEXT        = 4,
ID_TITLE       = 3,
ID_BIG         = 2,
ID_Quit        = 1, };

BEGIN_EVENT_TABLE(MyFrame, wxFrame)
END_EVENT_TABLE()

IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()
{
  MyFrame *frame = new MyFrame( wxT("zzz"), wxPoint(50,50), wxSize(520,540) );
  frame->Centre();
  frame->Show(TRUE);
  SetTopWindow(frame);
  return TRUE;
} 

MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
: wxFrame((wxFrame *)NULL, -1, title, pos, size)
{
  //Normal text. not editable but selectable all visible
  tit = new wxTextCtrl(this,ID_TITLE,wxT("title"),
    wxDefaultPosition,wxSize(200,20),wxTE_LEFT|wxTE_READONLY);
  tit->SetEditable(FALSE);
  tit->SetModified(FALSE);
  //Normal text. not editable but selectable scroll up/down
  big = new wxTextCtrl(this,ID_BIG,
    wxT("abc defg hij klm oprs tuw xyZ abc defg hij klm oprs tuw xyz"),
    wxDefaultPosition,wxSize(200,300),wxTE_LEFT|wxTE_MULTILINE|wxHSCROLL);
  big->SetEditable(FALSE);
  big->SetModified(FALSE);
  //editable text. when hit enter apear in big text.
  tex = new MyTextCtrl(this,ID_TEXT,wxT("empty"),
    wxDefaultPosition,wxSize(200,20),wxTE_LEFT|wxTE_MULTILINE|wxTE_PROCESS_ENTER);
  tex->SetEditable(TRUE);
  tex->SetModified(TRUE);

  wxBoxSizer *pion = new wxBoxSizer(wxVERTICAL);
  wxBoxSizer *poziom = new wxBoxSizer(wxHORIZONTAL);  
  pion->Add(tit, 0, wxGROW|wxALL,2);
  pion->Add(big, 0, wxGROW|wxALL,10);
  pion->Add(tex, 1, wxGROW|wxALL,2);
  poziom->Add(pion, 1, wxGROW|wxALL);

  SetSizer(poziom);
  poziom->Fit(this);
  SetAutoLayout(TRUE);
  Layout();
}

void MyTextCtrl::OnKeyDown(wxKeyEvent& event)
{
  long keyCode = event.GetKeyCode();
  if (keyCode == WXK_RETURN || keyCode == WXK_NUMPAD_ENTER)
  {
    //   printf("get:%s\n",GetLineText(0).c_str());
    Clear();
  }
  else
  { event.Skip(); };
};

MyTextCtrl::MyTextCtrl(wxWindow *parent, wxWindowID id, const wxString &value,
                            const wxPoint &pos, const wxSize &size, int style)
                            : wxTextCtrl(parent, id, value, pos, size, style)
{
}
</code.cc>


-- 
mailto:  V B A R T H E L D at G M X dot D E






More information about the wx-users mailing list