PDA

View Full Version : تغییر رنگ start



مینا موسوی
جمعه 25 مرداد 1387, 19:46 عصر
با سلام
دوستان لطف کنند بنده رو راهنمایی کنند با چه دستوری رنگ دکمه start رو می توان عوض کرد.
کد تغییر متن دکمه استارت رو دارم اما کد تغییر رنگش رو ندارم.

Felony
جمعه 25 مرداد 1387, 20:02 عصر
:اشتباه:تا اونجا که میدونم منوی start رنگ نداره تا بتونی عوضش کنی.
تا اونجا که یادمه منوی start یه Bitmap هستش و اینجوری نمیشه تغیرش داد.

:متفکر:البته مطمن نیستم ...
:لبخندساده:دوستان کسی هست که اطمینان داشته باشه که عکس هست یا کلید ؟

Hsimple11
شنبه 26 مرداد 1387, 00:00 صبح
یک Bitmap است.

احتمالا میتوانید با بدست آوردن handle آن و فرستان پیغام آن را تغییر دهید.

مینا موسوی
شنبه 26 مرداد 1387, 15:20 عصر
با تشکر
فرقی نمی کنه رنک است یا bitmap به چه صورت باید عوضش کرد.و handle این دکمه را چطوری باید پیدا کرد و از هندل بدست آمده چطوری باید استفاده کرد.

Delphi_Developer
شنبه 26 مرداد 1387, 16:47 عصر
یه کامپوننتی داشتم اسمشو یادم رفته الانم هرچی گشتم نصب نیست - تو Property های یه Speed Button بهش میدادی اون Speed Button ات رو Replace میکرد به جای Start Menu - اگه پیداش کردم میذارم - ولی ABF هم یکی داره که برای دستکاری Start Menu هست اما فقط اندازه و Caption اش رو میشه تغییر بدی

Delphi_Developer
یک شنبه 27 مرداد 1387, 17:25 عصر
ضمنا دکمه استارت Button هست نه Bitmap - بک گراندش شاید Bitmap باشه اما خودش Button هست - میتونید با API نوع کلاسش رو ببینید - اون کامپوننت هم که من میگم کارش همین بود یه Button بهش میدادی Replace میکرد

Hsimple11
یک شنبه 27 مرداد 1387, 17:33 عصر
ضمنا دکمه استارت Button هست نه Bitmap

بله دوست عزیز. همه هم منظورشان پس زمینه آن بود.

Hsimple11
یک شنبه 27 مرداد 1387, 17:46 عصر
handle این دکمه را چطوری باید پیدا کرد

با استفاده از توابعی مانند FindWindow و برای پس زمینه FindWindowEx.


از هندل بدست آمده چطوری باید استفاده کرد.

در مورد هندلها و کار با آنها در سایت جستجو کنید.

مثال :


var
Form1: TForm1;
StartButton : hWnd;
OldBitmap : THandle;
NewImage : TPicture;
...

procedure TForm1.FormCreate(Sender: TObject) ;
begin
NewImage:=TPicture.create;
NewImage.LoadFromFile('C:\Windows\Circles.BMP') ;
StartButton := FindWindowEx
(FindWindow(
'Shell_TrayWnd', nil),
0,'Button', nil) ;
OldBitmap:=SendMessage(StartButton,
BM_SetImage, 0,
NewImage.Bitmap.Handle) ;
end;
...

procedure TForm1.FormDestroy(Sender: TObject) ;
begin
SendMessage(StartButton,BM_SetImage,0,OldBitmap) ;
NewImage.Free;
end;

منبع : Delphi.About

samprp
دوشنبه 28 مرداد 1387, 05:44 صبح
سلام
ببخشید که اینجا می پرسم :

میتونید با API نوع کلاسش رو ببینید
می شی یه راهنمایی بکنید .

vcldeveloper
پنج شنبه 31 مرداد 1387, 02:48 صبح
ببخشید که اینجا می پرسم :
نقل قول:
میتونید با API نوع کلاسش رو ببینید
می شی یه راهنمایی بکنید . __________________
با استفاده از تابع GetClassName