delphi4arab منتديات دلفي للعرب

نسخة كاملة : تغيير السكين للبرنامج وقت التنفيذ(سؤال)
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
في هذا المثال قمت بتعبئة السكينات المحددة برمجيا في المكون 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);
كود :
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;
شكرا الاخ ferrero لكن البرنامج يعطي خطأ في السطر الأخير
menuItem.OnClick := PopupItemClick;
الخطأ 
[dcc32 Erreur] Unit1.pas(49): E2009 Types incompatibles : 'pointeur de méthode et procédure normale'