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