如何调用wxGrid的渲染函数 - 按顺序实现分页?

时间:2014-08-08 20:30:44

标签: pagination wxwidgets

  

分页可以通过使用http://docs.wxwidgets.org/trunk/classwx_grid.html

的顺序Render()调用来完成

我理解如何 - 可以从左上角和右下角坐标获得连续页面。 但我没有得到Render()调用中需要的wxDC。 ? 我想获得网格中的前三行

BigGridFrame::BigGridFrame(long sizeGrid)
            : wxFrame(NULL, wxID_ANY, wxT("Plugin Virtual Table"),
                    wxDefaultPosition, wxSize(500, 450))
{
    m_grid = new wxGrid(this, wxID_ANY, wxDefaultPosition, wxDefaultSize);
    m_table = new BigGridTable(sizeGrid);
    m_grid->SetTable(m_table, true);

    //The above code gave me the table
    //trying to get first three rows by render() function but it still gets the all of the grid values 
    **const wxGridCellCoords topLeft(0, 0);
    const wxGridCellCoords bottomRight(3,4 );
    wxClientDC  clientDC(this);  //this place I am not sure.. I couldnt find documentation
    //m_grid->SelectBlock(topLeft, bottomRight, false);
    m_grid->Render(clientDC, wxDefaultPosition, wxDefaultSize, topLeft, bottomRight, wxEXPAND);**

}

2 个答案:

答案 0 :(得分:1)

DC是您想要渲染网格的任何内容,通常是wxMemoryDC以将网格保存为位图。这不能用于在屏幕上部分渲染网格,您似乎想要这样做,因为它只是控件的静态快照。

考虑到this->Render()this而不是wxFrame*,我也不知道上面使用wxGrid*的代码如何编译。

答案 1 :(得分:0)

我误解了Render()函数。

对于分页,我使用了相同的逻辑 Changing Size of Grid when grid data is changed