ايران ويج

نسخه‌ی کامل: مشکل در نمایش آیکون ...
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام به شما برنامه نویسان محترم ...
من یه برنامه نوشتم که آیکون ها رو نمایش میده ...
اما نمی دونم چرا بعضی از آیکون ها رو نشون نمیده و این پیغام رو میده :
Invalid Picture
اینم یه نمونه از اون آیکون ها

دانلود

حالا برای رفع این مشکل چیکار باید بکنم ...
برخی از آیکون های جدید که به صورت group icon هستن این مشکل رو دارن . یعنی ویژوال بیسیک نمی تونه اونها رو باز کنه برای باز کردن این آیکون ها با ید از توابع API استفاده کنی. پیشنهاد می‌کنم به یه مرجه تابع API مراجعه کنیAt
اینم یه ویرایشگر رسورس
pswin نوشته است:برخی از آیکون های جدید که به صورت group icon هستن این مشکل رو دارن . یعنی ویژوال بیسیک نمی تونه اونها رو باز کنه برای باز کردن این آیکون ها با ید از توابع API استفاده کنی. پیشنهاد می‌کنم به یه مرجه تابع API مراجعه کنیAt
سلام دوست من ...
امیدوارم حالت خوب باشه ...
میشه اون API رو معرفی کنید و یه مقداری درباره ش توضیح بدید ...
ممنون ...

Pedram_HookEx نوشته است:اینم یه ویرایشگر ریسورس
ممنون از لطفتون ...
ولی از این برنامه چیز زیادی متوجه نشدم !
منتظرم .
موفق باشید .
سلام.
این آیکون ها که group icon هستن رو میتونی با ادیتورهای آیکون تغییر بدی. چون در این آیکون ها چندین آیکون هست با اندازه های مختلف. که بعضی هاشون قابل نمایش نیستن. اگه اونا که مشکل دارن رو حذف کنی بقیه رو نشون میده.
سلام
اسم تابعی که با اون باید آیکون رو باز کنی ExtractIconEx هستش این تابع یک اشاره گر آیکون میسازه که تابع DrawIcon آیکون از اون برای رسم آیکون استفاده میکنه. لازمه بگم که در پایان با استفاده از تابع DestoryIcon باید اشاره گر آیکون رو از بین ببری تا فضای حافظه آزاد بشه. برای کار با این تابع میتونی از کتاب WIN32 API برای انتشارات نص استفاده کنی که داخل اون به صورت کامل کار با این تابع توضیح داده شده

-------------------------
www.ps-ware.net
اصلا ناراحتی به دل راه نده اینم کدش:

Private Declare Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" (ByVal lpszFile As String, ByVal nIconIndex As Long, phiconLarge As Long, phiconSmall As Long, ByVal nIcons As Long) As Long
Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long

Private Sub Form_Paint()
Dim hIcon As Long

Picture1.AutoRedraw = True
Me.ScaleMode = vbPixels
ExtractIconEx "shell32.dll", 50, hIcon, ByVal 0&, 1
DrawIcon Me.hdc, 32, 40, hIcon

ExtractIconEx "d:\windows\system32\shell32.dll", 75, hIcon, ByVal 0&, 1
DrawIcon Picture1.hdc, 0, 0, hIcon
DestroyIcon hIcon
End Sub

-
یادت نره یه پیکچر باکس رو فرم داشته باشی و آدرس هم در صورت لزوم تغییر بده
Hadi_VB نوشته است:اصلا ناراحتی به دل راه نده اینم کدش:

Private Declare Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" (ByVal lpszFile As String, ByVal nIconIndex As Long, phiconLarge As Long, phiconSmall As Long, ByVal nIcons As Long) As Long
Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long

Private Sub Form_Paint()
  Dim hIcon As Long
  
  Picture1.AutoRedraw = True
  Me.ScaleMode = vbPixels
  ExtractIconEx "shell32.dll", 50, hIcon, ByVal 0&, 1
  DrawIcon Me.hdc, 32, 40, hIcon
  
  ExtractIconEx "d:\windows\system32\shell32.dll", 75, hIcon, ByVal 0&, 1
  DrawIcon Picture1.hdc, 0, 0, hIcon
  DestroyIcon hIcon
End Sub

-
یادت نره یه پیکچر باکس رو فرم داشته باشی و آدرس هم در صورت لزوم تغییر بده
ای رحمت ...
دست و پنجه ت درد نکنه !
خیر ببینی جوووووون !
کارمو آسون کردی .
موفق و پیروز .
آقا دستتون درد نکنه واقعا آدم این همکاری ها رو میبینه به وجد میاد

سلام به شما دوستان عزیز ، مخصوصا آقا هادی گل ...
تا حد زیادی مشکل برطرف شد ولی یه مشکل !
وقتی آیکون مورد نظر نمایش داده میشه ، تا زمانی باقی می مونه که یه پنجره روش نیاد !
یعنی وقتی یه پنجره بیاد روی فرم برنامه و بعد پنجره رو Minimize کنید ، آیکون غیب میشه !
می خوام پایدار باشه ...
باید چیکار کنم .
امیدوارم منظورم رو تونسته باشم درست بیان کنم .
منتظرم .
سلام.
اگر برنامت در حال انجام محاسبات و گردش در حلقه ها و دستورات پیچیده است توشون Doevents بذار. ولی بعید میدونم مشکلت این باشه.
صفحه‌ها: 1 2