[wxWidgets] wxPoint

0

Nagłówek:

# pragma once
class BasicApplication : public wxApp
{
  public:
	virtual bool OnInit();
};

class BasicFrame : public wxFrame
{
  public:
	BasicFrame( const wxChar *title,
                int xpos, int ypos,
                int width, int height);
	~BasicFrame();
    wxTextCtrl *theText;

};

cpp

#include <wx/wx.h>
#include "basic.h"

IMPLEMENT_APP(BasicApplication)

bool BasicApplication::OnInit()
{
  BasicFrame *frame
    = new BasicFrame
       ("wxWindows Basic Steps - Step 1:"
        " A simple application",
         200, 200, 800, 600);

  frame->Show(TRUE);
  SetTopWindow(frame);
  return TRUE;	
}

BasicFrame::BasicFrame
             (const wxChar *title,
              int xpos, int ypos,
              int width, int height)
             : wxFrame( (wxFrame *) NULL, -1, title,
                        wxPoint(xpos, ypos),
                        wxSize(width, height))
{
  theText = (wxTextCtrl *) NULL;

  theText 
   = new wxTextCtrl
  	( this,
  	  -1,
  	  wxString("Type a command."),
  	  wxPoint(0, 40),
  	  wxSize(200, 10),
  	  wxTE_PROCESS_ENTER
  	);  

}

BasicFrame::~BasicFrame()
{

}

Dlaczego po odpaleniu kontrolka zachowuje się tak jakby miała ustawione wxDefaultPosition, wxDefaultSize?

0

Tzn. co, rozmiar nie jest taki jak podałeś?

0

Dokładnie tak. I miejsce w którym kontrolka ma się znajdować.

0

Zrób np. tak:

wxPanel* panel=new wxPanel(this);

theText =new wxTextCtrl(panel,
			wxID_ANY,
			wxT("Type a command."),
			wxPoint(0, 40),
			wxSize(200, 10),
			wxTE_PROCESS_ENTER);  

wxFrame przy jednej kontrolce rozciąga ją na cały obszar clienta. Przy dwóch i więcej już nie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1