【★急急急★】如何将一个treeview(包括未显示部分)保存为图片? treeview的树很大我用canvas来保存图片,但是只能保存可见部分,无法保存滚动条以下未显示的内容哪位大侠帮帮忙,如果将所有内容保存为图片。谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你用图片是肯定不能保存所有数据的。你可以这样做TreeView.Savetofile('D;\Tree.txt');放到一个文本文件中。 那么至少你得知道如果全部显示,图片有多大,尽管显示器显示不完。例如会是4000*800。那么代码控制treeview大小 40000*800,然后canvas,然后大小再调回去。就想出了个这么个办法,希望对你有用。 canvas总是可见部分, kuki84()的方法行的 canvas总是可见部分, kuki84()的方法是不可行。有没有哪位老大知道怎么办啊。 根据树信息,自己在canvas上画吧。最没办法的办法:) 楼主可能不了解kuki84()的意思.你在copyrect之前,先使treeview的长度为不显示出滚动条(具体要你自己去调试了),然后bitblt把listview的图拷下来,再把listview的长宽设为原来的就成了 //参考如下代码~~//也可以动态创建一个TTreeView来处理~~procedure TForm1.Button1Click(Sender: TObject);var vTreeNode: TTreeNode; vOldHeight: Integer;begin ///////Begin 全部展开 vTreeNode := TreeView1.TopItem; while Assigned(vTreeNode) do begin vTreeNode.Expand(True); vTreeNode := vTreeNode.GetNextSibling end; ///////End 全部展开 ///////Begin 拍照 vOldHeight := TreeView1.Height; TreeView1.Visible := False; TreeView1.ClientHeight := TreeView1.Items.Count * (TreeView1.Canvas.TextHeight('|') + 3); Image1.Width := TreeView1.ClientWidth; Image1.Height := TreeView1.ClientHeight; TreeView1.PaintTo(Image1.Canvas, - 2, - 2); TreeView1.Height := vOldHeight; TreeView1.Visible := True; ///////End 拍照end; 关于socket的send函数中buf的传递方式 从文件中读入计算公式的问题! 还是函数问题 borland 的中文名称是 “博览”? 谁能把我这段DELPHI代码改成VB代码 关于乌龟的屁股 怎么样把RICHEDIT里的内容包括字体格式这些存入数据库 关于DBGrid的操作————急!!! 李維<<系統篇>>中第2-36頁例子MDDemo為什麼會出現'OLE服務無法連接物件'錯???誰指點.... 网站: 国外类似 csdn 的网站的网址,叫做什么 ‘..Exports.net’我记不清 作为程序员,在公司里面,有权保证自己的代码隐私吗? 问csv文件的问题
你可以这样做TreeView.Savetofile('D;\Tree.txt');放到一个文本文件中。
那么代码控制treeview大小 40000*800,然后canvas,然后大小再调回去。
就想出了个这么个办法,希望对你有用。
//也可以动态创建一个TTreeView来处理~~
procedure TForm1.Button1Click(Sender: TObject);
var
vTreeNode: TTreeNode;
vOldHeight: Integer;
begin
///////Begin 全部展开
vTreeNode := TreeView1.TopItem;
while Assigned(vTreeNode) do
begin
vTreeNode.Expand(True);
vTreeNode := vTreeNode.GetNextSibling
end;
///////End 全部展开 ///////Begin 拍照
vOldHeight := TreeView1.Height;
TreeView1.Visible := False;
TreeView1.ClientHeight := TreeView1.Items.Count * (TreeView1.Canvas.TextHeight('|') + 3);
Image1.Width := TreeView1.ClientWidth;
Image1.Height := TreeView1.ClientHeight;
TreeView1.PaintTo(Image1.Canvas, - 2, - 2);
TreeView1.Height := vOldHeight;
TreeView1.Visible := True;
///////End 拍照
end;