View Full Version : مشکل با رنگ Panel
حمیدرضاصادقیان
یک شنبه 09 اردیبهشت 1386, 11:35 صبح
سلام.من یک panel روی فرم قرار دادم و parentcolor رو هم False کردم و برای آن رنگ تعیین کردم. ولی باز با اجرای برنامه داره رنگ فرم رو به خودش میگیره.
zman123456
یک شنبه 09 اردیبهشت 1386, 12:44 عصر
سلام
من چک کردم درست بود و مشکل شما رو نداشت.میشه Source رو بگذارید.
SoftDevCo
یک شنبه 09 اردیبهشت 1386, 13:04 عصر
سلام.من یک panel روی فرم قرار دادم و parentcolor رو هم False کردم و برای آن رنگ تعیین کردم. ولی باز با اجرای برنامه داره رنگ فرم رو به خودش میگیره.
احتمالا theme Xp روی برنامه شما فعاله، درسته ؟
حمیدرضاصادقیان
یک شنبه 09 اردیبهشت 1386, 13:21 عصر
دقیقا همینطوره.حالا باید چکار کرد.
babak869
یک شنبه 09 اردیبهشت 1386, 15:27 عصر
در قسمت uses عبارت XPMan رو پاک کنید و پروژه رو مجددا کامپایل کنید
موفق باشید
SoftDevCo
یک شنبه 09 اردیبهشت 1386, 15:33 عصر
در قسمت uses عبارت XPMan رو پاک کنید و پروژه رو مجددا کامپایل کنید
موفق باشید
به جای اینکار می تونید پنل رو داخل یه فریم قرار بدید و Parent Color و Parent Back رو False قرار دهید.
امتحان کن خبرشو بده.
N_D
یک شنبه 09 اردیبهشت 1386, 18:54 عصر
این ختصیت رو False کن مشکلت حل میشه
Panel1.ParentBackground := False;
حمیدرضاصادقیان
یک شنبه 09 اردیبهشت 1386, 20:20 عصر
سلام.با تشکر از دوستان. اولاً من نمی خوام کهxpman رو پاک کنم. بعد راه اخر که دوست عزیز N_D مطرح کردند هم حل نشد. حتی داخل فریم هم گذاشتم و کاری که شما گفتین انجام دادم بازم حل نشد.
نمیشه خود یونیت xpman رو تغییرش داد؟
SYNDROME
یک شنبه 09 اردیبهشت 1386, 22:57 عصر
با سلام
از یک Lable استفاده کن و رنگ Label را تغییر بده.
حمیدرضاصادقیان
دوشنبه 10 اردیبهشت 1386, 07:39 صبح
متاسفانه همچنان ایراد باقی است.نمیشه تغییری در یونیت خود xpman داد؟
SoftDevCo
دوشنبه 10 اردیبهشت 1386, 09:10 صبح
پنل رو داخل یه فریم قرار بده و به جای رنگ پنل، رنگ فریم رو تغییر بده.
mzjahromi
دوشنبه 10 اردیبهشت 1386, 09:38 صبح
تنها راهی که من تونستم رنگی به پنل بودم قراردادن یک Shape درون پنل بود
اینجوری مشکلی نداره
MNosouhi
دوشنبه 10 اردیبهشت 1386, 10:38 صبح
متاسفانه همچنان ایراد باقی است.نمیشه تغییری در یونیت خود xpman داد؟
فایل pas مربوط به این یونیت ارائه نشده است ، خود دلفی هم با فایل dcu اون کار می کنه ، در نتیجه نمیشه در سورسش تغییری ایجاد کرد.
Arman_1367
دوشنبه 10 اردیبهشت 1386, 11:11 صبح
از مشخصات پنلParentBackground را فالس کن:بامزه:
اینم دی اف امش:
object Form1: TForm1
Left = 198
Top = 123
Width = 696
Height = 480
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Shape1: TShape
Left = 224
Top = 112
Width = 65
Height = 65
end
object Panel1: TPanel
Left = 152
Top = 184
Width = 185
Height = 81
Caption = 'Panel1'
ParentBackground = False
TabOrder = 0
end
object Button1: TButton
Left = 352
Top = 64
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 1
end
object XPManifest1: TXPManifest
Left = 64
Top = 72
end
end
SoftDevCo
دوشنبه 10 اردیبهشت 1386, 11:13 صبح
Xp Man کامپوننت خاصی نیست فقط Manifest اکس پی که در قالب XML هست رو به فایل EXE اضافه می کنه.
شما می تونید به جای استفاده از XPMAN، یک فایل XML با نام EXEName.Manifest بسازید و کد زیر رو هم در داخلش قرار بدین.
سورس Manifest XP ا:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="CompanyName.ProductName.YourApp"
type="win32"
/>
<description>Your application description here.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
SoftDevCo
دوشنبه 10 اردیبهشت 1386, 11:18 صبح
از مشخصات پنلParentBackground را فالس کن:بامزه:
اینم دی اف امش:
object Form1: TForm1
Left = 198
Top = 123
Width = 696
Height = 480
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Shape1: TShape
Left = 224
Top = 112
Width = 65
Height = 65
end
object Panel1: TPanel
Left = 152
Top = 184
Width = 185
Height = 81
Caption = 'Panel1'
ParentBackground = False
TabOrder = 0
end
object Button1: TButton
Left = 352
Top = 64
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 1
end
object XPManifest1: TXPManifest
Left = 64
Top = 72
end
end
دوست عزیز چون ایشون از تم XP استفاده می کنند (XPMan)، رنگ پیش فرض یه سری از آبجکت ها تغییر میکنه و تنها راهش رو در پست شماره 11 گفتم.
دوستانی که از تم کلاسیک ویندوز استفاده می کنند به این مشکل بر نمی خورند.
SoftDevCo
دوشنبه 10 اردیبهشت 1386, 11:23 صبح
از مشخصات پنلParentBackground را فالس کن:بامزه:
اینم دی اف امش:
object Form1: TForm1
Left = 198
Top = 123
Width = 696
Height = 480
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Shape1: TShape
Left = 224
Top = 112
Width = 65
Height = 65
end
object Panel1: TPanel
Left = 152
Top = 184
Width = 185
Height = 81
Caption = 'Panel1'
ParentBackground = False
TabOrder = 0
end
object Button1: TButton
Left = 352
Top = 64
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 1
end
object XPManifest1: TXPManifest
Left = 64
Top = 72
end
end
دوست عزیز چون ایشون از تم XP استفاده می کنند (XPMan)، رنگ پیش فرض یه سری از آبجکت ها تغییر میکنه و تنها راهش رو در پست شماره 11 گفتم.
دوستانی که از تم کلاسیک ویندوز استفاده می کنند به این مشکل بر نمی خورند.
Hamid_PaK
دوشنبه 10 اردیبهشت 1386, 12:40 عصر
این کد رو بصروت Runtime اجرا کنید مشکل حل می شود ، مثلا در FormCreate این کد را بنویسید :
procedure TForm1.FormCreate(Sender: TObject);
begin
//;
Panel1.ParentBackground := False;
Panel1.Color := clBlack;
end;
یا حق ...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.