void __fastcall mtreeview::mtreeview_drawitem( tcustomtreeview *sender, ttreenode *node, tcustomdrawstate state, bool &defaultdraw) { ttreeview * tv = (ttreeview * )sender; trect r; ttreenode * node = (ttreenode *) node; r = node->displayrect(false); tv->canvas->brush->style = bssolid; tv->canvas->brush->color = 0xf3f3f2; tv->canvas->copymode=cmmergecopy ; tv->canvas->fillrect(r); //这里的背景色怎么也修改不了,估计是cb的漏洞 if(tv->hideselection==true) tv->hideselection=false; ////////////////////////////////////////////////////////////////////////////// //2021-01-26 修改,把画布的字体设小,用来使得间隔增大 int f; /* f = tv->font->height; if(f<0) f ; else f--; tv->canvas->font->height=f; */ f = tv->font->size - 1; if(f>=8) tv->canvas->font->size=f; // tv->canvas->brush->color = 0xf2f2f3; ////////////////////////////////////////////////////////////////////////////// //if(state.contains(cdsselected)) if (state.contains(cdsselected) ) { //treeview1->canvas->font->assign(selectedfontdialog->font); tv->canvas->brush->color = clred; tv->canvas->font->color = clblue; tv->canvas->brush->style = bssolid; defaultdraw=true; } if(node==this->selected ) { //defaultdraw=false; tv->canvas->brush->color = clwhite; tv->canvas->font->color = clblue; tv->canvas->brush->style = bssolid; defaultdraw=true; /* if(tv->focused()) tv->canvas->font->color = clblue; else tv->canvas->font->color = clblue; //0xa0a0ff; */ }; /* ttreeview * tv = (ttreeview * )sender; if(tv->hideselection==true) tv->hideselection=false; if(!state.contains(cdshot )) if(state.contains(cdsselected)) { if(tv->focused()) tv->canvas->font->color = clwhite; else tv->canvas->font->color = 0xf1f1f1; }; */ }

|