Mi rendo conto che il mio nick possa far pensare male!!
Ok cominciamo:
Ho scritto un applicazione minimale, giusto per comprendere a livello concettuale i costrutti del linguaggio:
DOMANDE:codice:class MyApp : public wxApp { public: virtual bool OnInit(); }; class MyFrame : public wxFrame { public: // dovrebbe essere il costruttore MyFrame(const wxString& title):wxFrame(NULL, wxID_ANY, title) { wxToolBar *toolBar = new wxToolBar(this, wxID_ANY, wxPoint(20,50), wxSize(100,100), 0, wxT("tool1")); wxButton *bot = new wxButton(toolBar, wxID_OK, wxT("Chiudi"), wxDefaultPosition, wxDefaultSize); } void chiudi(wxCommandEvent& event); private: DECLARE_EVENT_TABLE() }; BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_BUTTON (wxID_OK, MyFrame::chiudi) END_EVENT_TABLE() IMPLEMENT_APP(MyApp) bool MyApp::OnInit() { MyFrame *frame = new MyFrame(_T("E' Dura")); frame->CenterOnScreen(); frame->Show(TRUE); return TRUE; } void MyFrame::chiudi(wxCommandEvent& event) { Close(); }
1) Non posso settare i parametri del frame nel suo costruttore (come logica dovrebbe imporre) tipo titolo dimensione ecc..? Se è possibile come posso fare?? Ho provato a inserire qualcosa come:
ma mi da errore.codice:MyFrame(_T("E' Dura")):wxFrame(NULL, wxID_ANY, title);
2) Perchè nella wxToolBar gli attributi wxPoint e wxSize sono totalmente ignorati? Per aggiungere una qualsiasi cosa (bottoni testo immagini ecc) a quest'ultima che metodo devo utilizzare?? L'unico modo con cui sono riuscito a inserire quel bottoncino è passargli come parent la toolbar... dovrebbe essere una vera porcheria... anche perchè se invece che wxDefaultPosition inserisco delle coordinate (volendo, per esempio, inserirlo a metà toolbar) il bottone scompare![]()
3) E' possibile avere una consolle (simile a quella di eclipse) che stampasse delle stringhe allo scatenarsi di dterminati eventi??
Esempio:
Vorrei che alla pressione sul bottone la scritta "che disastro" venisse stampata da qualche parte...codice:void MyFrame::chiudi(wxCommandEvent& event) { cout <<"Che disastro"; }
Grazie per la pazienza!

Rispondi quotando