![]() |
|
تغيير السكين للبرنامج وقت التنفيذ(سؤال) - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : تغيير السكين للبرنامج وقت التنفيذ(سؤال) (/showthread.php?tid=12176) |
تغيير السكين للبرنامج وقت التنفيذ(سؤال) - bouh25 - 07-01-2023 في هذا المثال قمت بتعبئة السكينات المحددة برمجيا في المكون PopupMenu و لم استطيع تغيير السكينات المعبئة المثال: كود : procedure TForm1.PopupMenu1Popup(Sender: TObject);
var
sName :string;
begin
PopupMenu.Items.clear;
for sName in TStyleManager.StyleNames do
if (sName<>'Windows') and (sName<>TStyleManager.ActiveStyle.Name) then
PopupMenu.Items.Add (NewItem (sName, 0, False, True, nil, 0, ''));
end;فكيف اقوم بتغيير السكين برمجيا وباختصال . الكود
كود : [align=right]var[/align]
sName :string;
begin
if Assigned(TStyleManager.ActiveStyle) and (TStyleManager.ActiveStyle.Name<>'Windows') then begin
TStyleManager.TrySetStyle('Windows');
end else begin
TStyleManager.TrySetStyle(sName);RE: تغيير السكين للبرنامج وقت التنفيذ(سؤال) - ferrero - 07-01-2023 كود : procedure PopupItemClick(Sender: TObject);
....
procedure TForm1.FormCreate(Sender: TObject);
var
i: Byte;
menuItem: TMenuItem;
begin
PopupMenu1.Items.clear;
PopupMenu1.AutoHotkeys := maManual;
PopupMenu1.AutoLineReduction := maManual;
for i := Low(TStyleManager.StyleNames) to High(TStyleManager.StyleNames) do
begin
menuItem := TMenuItem.Create(PopupMenu1);
menuItem.RadioItem := true;
menuItem.Caption := TStyleManager.StyleNames[i];
PopupMenu1.Items.Add(menuItem);
menuItem.OnClick := PopupItemClick;
end;
end;
procedure TForm1.PopupItemClick(Sender: TObject);
begin
TStyleManager.SetStyle((Sender as TMenuItem).Caption);
(Sender as TMenuItem).Checked := true;
end;RE: تغيير السكين للبرنامج وقت التنفيذ(سؤال) - bouh25 - 08-01-2023 شكرا الاخ ferrero لكن البرنامج يعطي خطأ في السطر الأخير menuItem.OnClick := PopupItemClick; الخطأ [dcc32 Erreur] Unit1.pas(49): E2009 Types incompatibles : 'pointeur de méthode et procédure normale' |