a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 73|回复: 0

[Visual Basic] VB中实现带预览的对话框

[复制链接]
发表于 2012-7-31 22:10:12 | 显示全部楼层 |阅读模式
  用户在图片框中选择图片时,希望预先对图片的轮廓及大小有初步了解,但是VB的通用对话框没有预览的功能,为此需要定制一个自定义对话框。我们可以通过image控件加入窗体中来实现其功能。2 a7 a- m! b9 J  r
  程序示例:
0 ~" K  \: F5 n* t* l" e/ U  程序功能说明:
% x, J7 c% s& U! G( x  在窗体的file1中选择一个图片文件,点选“预览”复选框,image控件就显示相应的图片,label1就显示该图片的大小。4 i) o! f% h$ ]% T
  新建一个工程,加入以下控件:4 A1 w* m. _( t, Z# Y0 A1 u
  控件 名称 属性8 j. S( p) Y; V* [$ [& v2 ^
  form form1 borderstyle=3
; l; v* B3 }7 C  u7 h8 |- R  (vbsizedouble)
% d" n6 ?0 @* k! k" x* ^  caption=“图片预览对话框"& u( D, g* ^, p
  drivelistbox drive1
% j/ u' G% H% J0 ?8 h4 u. q) v  dirlistbox dir1( Z4 v9 z8 U+ g7 G
  filelistbox file1 pattern=“*.bmp;
1 [4 S: P3 j% ?9 c' }& n% f6 P  *.jpg;*.gif"8 D0 W) m1 C. [# s5 m8 g* D2 {
  image image1 stretch=true
# @! w& V: s8 G5 Y% N) G  checkbox chk value=“预览"2 j6 s5 @! L# s% z- P
  commandbutton cmd1 caption=“确定"2 T4 D$ d. l, z- {" f" M
  cmd2 caption=“退出"
! d0 K) @% d! Y  label lab1 caption=“"
& ^1 `; x" v" w; B4 S8 ^  源代码:
" E, d4 y' `( b9 d( l  'declare9 e& I' {  s# [  E  Y
  Public filename$! i& {1 T% ]8 `: M
  dim sfilename$6 Z0 |! [3 i- f/ Q' W
  Private sub drive1_change()
1 |( L& l2 E/ r/ C9 ?' Q  dir1.path=drive1.drive: ]8 G% ^' T! O: o6 h$ Q8 S4 b
  End sub& X/ \1 d+ k1 y9 x- X1 b) Z- N
  Private sub dir1_change()
/ p. ~8 X+ `! c6 z) b; q  file1.path=dir1.path
( D' K2 ^$ \: m* F! |+ R% ?/ g  End sub* z& s& ?. u4 `9 ]2 L4 F% \7 S) q
  Private sub cmd1_click()
& {- K; }6 z8 u7 t  filename=sfilename. A* P; e& `1 w
  End sub
/ b9 m$ v: a  K  Private sub cmd2_click()
3 G$ L" n# q4 n  End  N$ f- B, `+ [: P
  End sub& \. g1 |& `0 G! K& X- O
  Private sub file1_click()
0 S/ ]  I8 Q/ X; G2 j+ `) L  dim ssize as long0 Z2 K  r" Y- T. x) q
  if fille1.listcount>0 then
5 }* J# [( q% c  if right(file1.path,1)“\" then
7 O/ M& b8 i) X& Y3 F. `  sfilename=file1.path&“\"&file1.filename
/ J9 T, [6 U8 M: S  else
( J  W" Z! X' `1 p4 O- S  sfilename=file1.path&file1.filename  N/ y) x% U9 c! Q, P! ~$ w8 X: v
  End if
' h& [5 m7 R! L4 p6 X) k5 C5 e  if chk.checked then
9 D' M1 b1 ^- C$ o  image1.picture=loadpicture(“"); T3 t2 ~4 n4 }# f+ w
  image1.picture=loadpicture(sfilename)0 j/ g  r5 }/ T: C# y$ m: r5 l* P# n
  ssize=filelen(sfilename)7 ^1 E6 ^2 ^; F
  ssize=ssize/10001 A* l8 g+ V; {7 T
  lab1.caption=str(ssize)&“k"
2 C/ H' E* l1 ]+ ^  else0 A( h$ A" v& v! e% c1 S6 o& v
  lab1.caption=“"# _( e. p( }( ?* A- {
  image1.picture=loadpicture(“")$ v6 p: X* `+ f
  end if, P" k% c4 P' I/ g5 p# @& U1 W
  end if
3 W6 ]6 I1 J0 {' p! [  V3 L* _1 Z  End sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-18 09:48 , Processed in 0.720643 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表