wxWidgets - jak zmienic naglowki w wxGrid

0

Uzywam wxDevcpp. Szukalem w pomocy i nie znalazlem tego: jak zmienic naglowki w siatce? Domyslnie numerowanie to A, B, C itd....
Dla mnie potrzebna jest tabela z dwoma naglowkami o okreslonych nazwach...

0

http://www.wxwidgets.org/manuals/2.6.3/wx_wxgrid.html#wxgridsetcollabelvalue
W edytorze graficznym nie sprawdzałem, ale metoda może być uruchomiona po utworzeniu grida, więc nie powinno być problemu.

0

Bez efektu:


	WxGrid1 = new wxGrid(WxPanel1, ID_WXGRID1, wxPoint(126,69), wxSize(270,288));
	WxGrid1->SetDefaultColSize(80);
	WxGrid1->SetDefaultRowSize(20);
	WxGrid1->SetRowLabelSize(50);
	WxGrid1->SetColLabelSize(25);
        WxGrid1->SetColLabelValue(1,wxT("Nazwa"));                          /*Nie dziala*/
	WxGrid1->CreateGrid(1,2,wxGrid::wxGridSelectCells);

Chyba chodzi o to:

If you are using a derived grid table you must override wxGridTableBase::SetColLabelValue for this to have any effect.

Ale konkretnie, jak to zrealizowac? Moze rzuci ktos przykladem kodu? Bylbym wdzieczny...

0
void gridFrm::CreateGUIControls(void)
{
	//Do not add custom code here
	//wxDev-C++ designer will remove them.
	//Add the custom code before or after the blocks
	////GUI Items Creation Start

	wxBoxSizer* WxBoxSizer1 = new wxBoxSizer(wxHORIZONTAL);
	this->SetSizer(WxBoxSizer1);
	this->SetAutoLayout(TRUE);

	WxPanel1 = new wxPanel(this, ID_WXPANEL1, wxPoint(0,0), wxSize(311,294));
	WxBoxSizer1->Add(WxPanel1,0,wxALIGN_CENTER_VERTICAL | wxALL,0);

	WxGrid1 = new wxGrid(WxPanel1, ID_WXGRID1, wxPoint(3,53), wxSize(525,215));
	WxGrid1->SetDefaultColSize(50);
	WxGrid1->SetDefaultRowSize(25);
	WxGrid1->SetRowLabelSize(50);
	WxGrid1->SetColLabelSize(25);
	WxGrid1->CreateGrid(5,5,wxGrid::wxGridSelectCells);

	GetSizer()->Fit(this);
	GetSizer()->SetSizeHints(this);
	this->SetTitle(wxT("grid"));
	this->Center();
	this->SetIcon(wxNullIcon);
	
	////GUI Items Creation End
    	WxGrid1->SetColLabelValue(0, "pierwsza");
    
        WxGrid1->SetColLabelValue(1,wxT("Nazwa"));                          /*Dziala*/
        
}

Ten kod powyżej działa jak najbardziej prawidłowo i zmienia nagłówki kolumn. Prawdopodobnie chodzi o to, że kod musi być dopisany po ////GUI Items Creation End.

0

no raczej...

wpisy typu
////GUI Items Creation End
są tworzone automatycznie przez IDE, jeś zrobisz pomiędzy nimi wpis to po ponownym zapisaniu projektu i kompilacji wpisany kod zostanie usunięty

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