View Full Version : cmdDlg
banafshe_b66
جمعه 28 اردیبهشت 1386, 16:55 عصر
می خوام به وسیله common dialog boxیک برنامه بنویسم که بتواند یک فایل را باز کند و ذخیره کندو......
چه کار باید بکنم
bashiry
شنبه 29 اردیبهشت 1386, 19:40 عصر
خوب میتونی با توایع کار با فایل در ویژوال بیسیک کار کنی
که کار سختی نیست.
CodeMasterX
یک شنبه 30 اردیبهشت 1386, 00:23 صبح
این کنترل برای بازکردن فایل،ذخیره فایل،انتخاب پرینتر،انتخاب رنگ و فونت و غیره استفاده میشه که تمام این کارهای در VB6 یا همین یک کنترل انجام میشه.یه سری خواص داره که زیاد استفاده میشه که چند تاشون رو توضیح میدم مابقی هم خواص واضحی هستن.
Filename
نام فایل انتخاب شده در دیالوگ رو بر میگردونه،همینطور شما میتونید با انتساب یک مقدار رشته ای به این مقدار نام فایل پیش فرض رو ست کنید.
Flags
یه سری پارامتر های خاص.مثلا اگر بخواید در دیالوگ ذخیره فایل کاری کنید که در صورت وجود فایل همنام به کاربر پیغامی برای تایید جایگزینی داده بشه میتونید از مقدار H2& استفاده کنید.لیست کامل این مقادیر رو حفظ نیستم توی سایت MSDN مایکروسافت پیداش میکنید.
CancelError
یه سری خطاهای متداول در هنگام اجرای دیالوگ رو دفع میکنه.
DialogTitle
عنوان دیالوگ مورد نظر رو ست میکنه.
InitDir
مکان پیش فرض بازشدن دیالوگ رو ست میکنه.مثلا شاید بخواید دیالوگ از درایو C باز بشه.
Filter
فیلتر فایل های قابل نمایش رو تعیین میکنه.میتونید فیلتر های تکی و یا چند فایلی بهش انتساب بدین. برای مثال:
cdl.Filter = "All Supported Picture Files(*.jpg,*.jpeg,*.bmp)|*.jpg;*.jpeg;*.bmp"
این کد فایل های JPG,JPEG,Bitmap رو برای دیالوگ تعریف میکنه.همونطور که میبینید برای تعریف فیلتر های بیشتر از یک باید فرمت فایل ها رو با ; جدا کنید.
این هم یه قطعه کد برای بازکردن یک عکس و نمایش اون در یک PictureBox:
On Error GoTo hell
With cdl
.CancelError = True
.Filter = "All Supported Picture Files(*.jpg,*.jpeg,*.bmp)|*.jpg;*.jpeg;*.bmp"
.DialogTitle = "Open a picture file..."
.InitDir = App.Path
.Filename = ""
.ShowOpen
If .Filename <> "" Then
Me.Caption = .FileTitle
Picture1.Picture = LoadPicture(.Filename)
End If
End With
hell:
If Err.Number = 32755 Then Resume Next
همونطور که دقت میکنید یک مدیر استثنا داره این کد که اگر شماره خطا با 32755 برابر باشه برنامه رو ادامه میده.این شماره خطا مربوط به وقتی میشه که کاربر دیالوگ رو Cancel کنه.
موفق باشید.
banafshe_b66
یک شنبه 30 اردیبهشت 1386, 15:25 عصر
یک دنیا thanks
CodeMasterX
یک شنبه 30 اردیبهشت 1386, 15:42 عصر
خواهش می کنم.
این هم لینک توضیحات کامل درباره این کنترل از زبان مایکروسافت:
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnarvb4/html/msdn_comdlg.asp
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.