قبل از خواندن این مقاله، خواندن قسمت های قبلی مجموعه را به شدت توصیه می کنم.
- آموزش برنامه نویسی ویندوز جهانی از طریق C++ مدرن
- آموزش برنامه نویسی ویندوز جهانی از طریق C++ مدرن (کنترل دکمه)
- آموزش برنامه نویسی ویندوز جهانی از طریق C++ مدرن (Stackpanel)
- آموزش برنامه نویسی ویندوز جهانی از طریق C++ مدرن (CheckBox)
- آموزش برنامه نویسی جهانی ویندوز از طریق C++ مدرن (رادیو دکمه)
- آموزش برنامه نویسی جهانی ویندوز از طریق C++ مدرن (Combobox)
- آموزش برنامه نویسی ویندوز جهانی از طریق C++ مدرن (Border)
در این مقاله قصد داریم با کنترل CommandBar در C++ مدرن آشنا شویم.
CommandBar
کنترل CommandBar یک کنترل جدید در برنامه نویسی ویندوز جهانی است. این مانند یک کنترل نوار ابزار است که در مقایسه با کنترل نوار ابزار دارای امکانات بیشتری است.
یک CommandBar به دو ناحیه اصلی زیر تقسیم می شود:
- محتوا
- منطقه فرماندهی
CommandArea
یک Command Area فقط مجموعهای از دکمههای AppBarButton، AppBarToggleButton و AppBarSeparator دارد. ما نمی توانیم هیچ کنترل اضافی را مستقیماً در قسمت Command Area به لیست اضافه کنیم.
توجه داشته باشید که
وجود هر سه کنترل در CommandBar ضروری نیست.
یک منطقه فرماندهی به دو ناحیه زیر تقسیم می شود:
- دستورات اولیه
- دستورات ثانویه
دستورات اولیه و ثانویه یک منطقه اولویت و بدون اولویت هستند، منطقه اولویت همیشه برای کاربران قابل مشاهده است، یک منطقه بدون اولویت همیشه برای کاربران پنهان است. هر زمان که کاربر میخواهد با ناحیه ثانویه تعامل داشته باشد، روی منوی «…» که برای رابط کاربری قابل مشاهده است کلیک کنید.
دستورات ثانویه
دستورات ثانویه نواحی بدون اولویت هستند، اما هنگامی که کاربر روی ناحیه ثانویه کلیک کرد، آن را تا زمانی که کاربر با CommandBar بر اساس منوی زمینه تعامل برقرار کند قابل مشاهده می کنیم. به طور کلی، اگر خارج از منطقه منو کلیک کنیم، منوی سرریز به طور خودکار ناپدید می شود.
توجه داشته باشید
اگر فضایی برای نمایش کنترل های اصلی وجود نداشته باشد، به طور خودکار پنهان می شود و در ناحیه ثانویه نمایش داده می شود.
ex - اضافه کردن دکمه های اولیه و ثانویه
- auto appBtnPlay = CreateAppBarButton(Symbol::Play, L"Play", 1);
- auto appBtnAccept = CreateAppBarButton(Symbol::Accept, L"Accept", 2);
- CommandBar cmdBar;
- cmdBar.PrimaryCommands().Append(appBtnPlay);
- cmdBar.SecondaryCommands().Append(appBtnAccept);
- IsSticky: درست است، منو تا زمانی که روی هر کدام از آیتم های منو در CommandBar کلیک شود نمایش داده می شود.
- IsSticky: False، منو ناپدید می شود، در هر نقطه خارج از آیتم منو کلیک کنید (حالت پیش فرض).
توجه داشته باشید
ویژگی IsSticky را می توان به عنوان ویژگی های کلی CommandBar تنظیم کرد، این ویژگی برای Command Area اولیه اعمال می شود.
Ex - ویژگی Isopen را درست تنظیم کنید
- CommandBar cmdBar;
- cmdBar.IsSticky(true);
باز است