المشاركات : 95
المواضيع 16
:
: 0
الإنتساب : Jul 2009
السلام عليكم
أود أن أستخرج أيقونة مجلد
بحيث كتابة المسار ويقوم تلقائيا باستخراج الأيقونة ووضعها في Timage
مثلا :
أود أيقونة هذا المجلد تظهر في Timage
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
وعليكم السلام ورحمة الله
المجلد ليست له أيقونة خاصة في Windows
ما تراه (في XP ونحوه) هو أيقونة ضمن المكتبة SHELL32.dll للنظام
أين تجد ذلك؟
ستجد ملف INI في المجلد تحت اسم Desktop.ini (بخصائص مخفي/نظام عادة)
تقوم بقراءة الملف (كما تقرأ أي INI استخدم البحث)
تقرأ منه السطر:
PHP كود :
IconFile=%SystemRoot%\system32\SHELL32.dll
في الـ Section (عادة)
وترتيب الأيقونة في الملف، مثال:
بعد أن حصلت على العنوان والترتيب، تقرأ الأيقونة من خلال Handle بمثل هذا:
PHP كود :
uses
ShellAPI;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.Icon.Handle := ExtractIcon(Application.Handle, '%SystemRoot%\system32\SHELL32.dll', 7);
end;
أضيف شيء آخر، لاستخدام علبة اختيار أيقونة من النظام:
PHP كود :
uses
ShellApi;
function PickIconDlgA(OwnerWnd: HWND; lpstrFile: PAnsiChar; var nMaxFile: LongInt;
var lpdwIconIndex: LongInt): LongBool; stdcall; external 'SHELL32.DLL' index 62;
// Example (changes application icon):
var
FileName: String;
Size, Index: LongInt;
begin
Size := MAX_PATH;
FileName := 'Shell32.dll';
if PickIconDlgA(0, PChar(FileName), Size, Index) then
begin
if Index <> -1 then
Application.Icon.Handle := ExtractIcon(hInstance, PChar(FileName), Index);
end;
end;
أي نقطة لم تفهمها ابحث في المنتدى...
بالتوفيق.
المشاركات : 39
المواضيع 9
:
: 0
الإنتساب : Oct 2010
جميل لاكن ايقونة البرنامج لا تتغير ! تتغير ايقونة البرنامج في المنيو بار (ان صحت التسمية) فقط
مثلا الاتوران وتلك الفيروسات التي تاخذ اسم ملفاتك وايقونة المجلد كيف ذلك ؟