fix a issue that listbox draws string outside a column
This commit is contained in:
parent
ed58fcf85a
commit
9ca02afe61
@ -3139,7 +3139,7 @@ namespace nana
|
|||||||
graph->set_text_color(cell_txtcolor);
|
graph->set_text_color(cell_txtcolor);
|
||||||
graph->string(point{ item_xpos + content_pos, y + txtoff }, m_cell.text); // draw full text of the cell index (column)
|
graph->string(point{ item_xpos + content_pos, y + txtoff }, m_cell.text); // draw full text of the cell index (column)
|
||||||
|
|
||||||
if (ts.width + static_cast<unsigned>(content_pos) > header.pixels) // it was an excess
|
if (static_cast<int>(ts.width) > static_cast<int>(header.pixels) - (content_pos + item_xpos)) // it was an excess
|
||||||
{
|
{
|
||||||
//The text is painted over the next subitem // here beging the ...
|
//The text is painted over the next subitem // here beging the ...
|
||||||
int xpos = item_xpos + static_cast<int>(header.pixels) - static_cast<int>(essence_->suspension_width);
|
int xpos = item_xpos + static_cast<int>(header.pixels) - static_cast<int>(essence_->suspension_width);
|
||||||
@ -3148,8 +3148,8 @@ namespace nana
|
|||||||
graph->rectangle(rectangle{ xpos, y + 2, essence_->suspension_width, essence_->item_size - 4 }, true);
|
graph->rectangle(rectangle{ xpos, y + 2, essence_->suspension_width, essence_->item_size - 4 }, true);
|
||||||
graph->string(point{ xpos, y + 2 }, STR("..."));
|
graph->string(point{ xpos, y + 2 }, STR("..."));
|
||||||
|
|
||||||
//Erase the part that over the next subitem.
|
//Erase the part that over the next subitem only if the right of column is less than right of listbox
|
||||||
if (display_order + 1 < seqs.size()) // this is not the last column
|
if (item_xpos + content_pos < content_r.right() - static_cast<int>(header.pixels))
|
||||||
{
|
{
|
||||||
graph->set_color(bgcolor); // we need to erase the excess, because some cell may not draw text over
|
graph->set_color(bgcolor); // we need to erase the excess, because some cell may not draw text over
|
||||||
graph->rectangle(rectangle{ item_xpos + static_cast<int>(header.pixels), y + 2,
|
graph->rectangle(rectangle{ item_xpos + static_cast<int>(header.pixels), y + 2,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user