网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
用Delphi实现缩略图查看
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式
Panel);
        DrawPanel(ThumbBmp.Canvas,7,7+ThumbBmpTop,64,ThumbBmpHeight+1,LoweredPanel);
        ThumbBmp.Canvas.StretchDraw(Rect(8,8+ThumbBmpTop,71,8+ThumbBmpTop+ThumbBmpHeight),OriginalBmp);
        imagelist1.Add(ThumbBmp,nil);
      end;

      with ListView1.Items.Add  do
      begin
        ImageIndex:=imagelist1.Count-1;
        caption:=ImageFileList.GetCurFileName;
      end;
      ProgressBar1.Position:=i;
      application.ProcessMessages;
    end;
  finally
    listview1.Items.EndUpdate;
    ProgressBar1.Visible:=false;
  end;
  screen.Cursor:= crDefault;
  IsRefreshImageFinished:=true;

end;

7.过程DrawPanel的代码如下:

//在canvas上画一个Panel
procedure DrawPanel(canvas:TCanvas;Left,Top,Width,Height:integer;PanelType:integer);
var
  Right,Bottom:integer;
  LeftTopColor,RightBottomColor:TColor;
begin
  //凸起的panel
  if PanelType=RaisedPanel  then
  begin
    LeftTopColor:=clwhite;
    RightBottomColor:=clgray;
  end
  else //凹下去的panel
  begin
    LeftTopColor:=clgray;
    RightBottomColor:=clwhite;
  end;
      Right:=Left+width;
      Bottom:=Top+Height;

      Canvas.Pen.Width:=1;
      Canvas.Pen.Color:=LeftTopColor;

      Canvas.MoveTo(Right,Top);
      Canvas.lineTo(Left,Top);

      Canvas.LineTo(Left,bottom);

      Canvas.Pen.Color:=RightBottomColor;

      Canvas.lineTo(Right,Bottom);
      Canvas.lineTo(Right,Top);
end;
 8.接下来我们在ListView1的OnSelectItem事件里添加代码:

procedure TForm1.ListView1SelectItem(Sender: TObject; Item: TListItem;
  Selected: Boolean);
begin
  //当ShellTreeView1目录改变时 会激发此事件,
  if listview1.SelCount=0 then exit;

  //当窗体释放时也会激发此事件
  //ImageFileList.GetFileCount=0 后再 ImageFileList.SetIndex(item.Index);
  //会引起异常
  if ImageFileList.GetFileCount=0 then  exit;

  ImageFileList.SetIndex(item.Index);
  ShowPreImageFit(ImageFileList.GetCurFullFileName);
end;


9.其中过程ShowImageFit的代码比较罗嗦,如下所示:

//image1在Panel1中居中显示图片文件ImageFileName


procedure TForm1.ShowPreImageFit(const ImageFileName: string);
begin
  Image1.Visible:=false;
  if IsJpgFile(ImageFileName) then
  begin
    JpgToBmp(ImageFileName,PreViewJpg,PreViewBmp);
    Image1.Picture.Bitmap:=PreViewBmp;
  end
  else
 

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号