روش دوم : ساخت منو بوسیله کامپوننت TTIWMainMenu : این کامپوننت در TMS IW وجود دارد .
برای ایجاد منوی جدید در پروژه به یک Frame دیگر نیاز داریم . از منوی File گزینه New و سپس ...Other را انتخاب کنید و مانند تصویر یک Frame جدید به پروژه اضافه کنید. (دقت کنید منظور Frame است نه Form)
[برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
نام IWFrame1 را به MenuFrame_TMS و نام Unit1.pas را به MenuFrame_TMS_Unit.pas تغییر دهید .
یک کامپوننت TMainMenu و یک TTIWMainMenu روی فریم قرار دهید و یونیت های ServerController و UserSessionUnit و LoginUnit و UserProfileUnit و SelectDifficultyLevelUnit و ChangePasswordUnit را به قسمت implementation / uses اضافه کنید .
کد:implementation uses ServerController, UserSessionUnit, LoginUnit, UserProfileUnit, SelectDifficultyLevelUnit, ChangePasswordUnit;
مانند تصویر آیتم های منو را برای TMainMenu تعریف کنید.
و نام آیتم ها را مانند زیر قرار دهید :[برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
کد زیر را برای OnCreate کامپوننت IWFrameRegion بنویسید :کد:mnuChangePassword: TMenuItem; mnuSelectDifficultyLevel: TMenuItem; mnuUserProfile: TMenuItem; mnuExit: TMenuItem; mnuLogin: TMenuItem;
و کد های زیر را برای Event های OnClick آیتم های منو بنویسید و مقدار OnClick را برای mnuLogin برابر با mnuExitClick قرار دهید :کد:procedure TMenuFrame_TMS.IWFrameRegionCreate(Sender: TObject); begin if (TIWAPPForm(Parent).Name = 'RegisterForm') or (TIWAPPForm(Parent).Name = 'ForgetPasswordForm') then begin mnuChangePassword.Visible := False; mnuSelectDifficultyLevel.Visible := False; mnuUserProfile.Visible := False; mnuExit.Visible := False; end else mnuLogin.Visible := False; end;
مقدار Menu از کامپوننت TIWMainMenu1 را به MainMenu1 تغییر دهید تا ارتباط بین دو کامپوننت برقرار شود.کد:procedure TMenuFrame_Intraweb.mnuChangePasswordClick(Sender: TObject); begin TChangePasswordForm.Create(TIWAPPForm(Parent)).Show; end; procedure TMenuFrame_Intraweb.mnuExitClick(Sender: TObject); begin UserSession.CurrentUserID := 0; TLoginForm.Create(TIWAPPForm(Parent)).Show; end; procedure TMenuFrame_Intraweb.mnuSelectDifficultyLevelClick(Sender: TObject); begin TSelectDifficultyLevelForm.Create(TIWAPPForm(Parent)).Show; end; procedure TMenuFrame_Intraweb.mnuUserProfileClick(Sender: TObject); begin TUserProfileForm.Create(TIWAPPForm(Parent)).Show; end;
تا اینجا ساخت منو به روش دوم تمام شد . برای اینکه بتوانید منو را در تمام فرم ها ببینید مراحل زیر را دنبال کنید:
فرم BaseForm را باز کنید .
مانند تصویر در قسمت Tool Palette عبارت Frame را جستجو کنید و سپس روی Frames کلیک کنید . سپس در محل دلخواه خود روی فرم کلیک کنید تا پنجره ی انتخاب فریم باز شود.
MenuFrame_TMS را از لیست فریم های موجود انتخاب کرده و OK را کلیک کنید.
از این پس منو ایجاد شده در تمام فرم ها نمایش داده خواهد شد . بعضی از فرم ها مانند فرم ورود کاربران نیازی به منو ندارند . از این رو فرم نام برده را باز کنید و خصوصیت Visible فریم منو را False کنید.
[برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
علاقه مندي ها (Bookmarks)