موقعیت و اندازه

ساخت وبلاگ

قسمتهای بزرگی از تنظیم UI برنامه Common TouchGFX را می توان با طراح TouchGFX ایجاد کرد ، اما به طور معمول شما نیز باید کمی با دست بنویسید. به عنوان مثال برای انجام انیمیشن های بیشتر یا ایجاد یک تنظیم پویا از ابزارک ها که به رویدادهای کاربر یا داده های پیکربندی بستگی دارد.

هنگامی که این کار را شروع می کنید ، می تواند یک مزیت باشد که می دانید چند روش در کلاس ها را می توان کمک کرد.

تمام ابزارک های موجود در چارچوب TouchGFX زیر کلاسهای کلاس قابل ترسیم هستند. این کلاس شامل روشهای کلی برای کنترل اندازه و موقعیت است.

سلسله مراتب ویجت (جزئی)

شما رابط کاربری خود را در بسیاری از موارد اشیاء ویجت ایجاد می کنید. این اشیاء به عنوان عضو به یک زیر کلاس مشاهده می شوند. کلاس نمایش زیر کلاس کلاس صفحه است.

کلاس صفحه نمایش یک عضو کانتینر دارد. به این ظرف ریشه گفته می شود. ظرف ریشه برای شروع (0/0) آغاز می شود و کل منطقه نمایشگر را پر می کند (عرض = HAL :: DISPLAY_WIDTH ، ارتفاع = HAL :: DISPLAY_HEIGHT).

اضافه کردن ابزارک

ویجت ها با ایجاد اعضا در کلاس View به یک نمای اضافه می شوند. در اینجا جعبه ای به نام mybox اضافه می کنیم:

Screen1view. hpp
#عبارتند از  #عبارتند از  #عبارتند از   طبقه صفحه نمایش 1 : عمومی Screen1Viewbase  عمومی: صفحه نمایش 1(); مجازی ~صفحه نمایش 1() > مجازی خالی صفحه تنظیم(); مجازی خالی صفحه نمایش(); حفاظت شده:  جعبه mybox; >; 

برای استفاده از کادر موجود در کد خود ، باید شامل Box. hpp باشید ، مگر اینکه قبلاً در پرونده هدر کلاس پایه قرار داشته باشد.

برای جلب ویجت جعبه ، باید آن را به نمودار صحنه اضافه کنید (درخت ابزارک موجود در صفحه).

درخت ابزارک

این کار با عملکرد ADD انجام می شود. به طور معمول در SetupScreen:

Screen1view. cpp
#عبارتند از   صفحه نمایش 1::صفحه نمایش 1()  >  خالی صفحه نمایش 1::صفحه تنظیم()  Screen1Viewbase::صفحه تنظیم(); اضافه کردن(جعبه); > 

روش افزودن روی صفحه تماس با افزودن روی ظرف ریشه:

خالی اضافه کردن(کشیده پذیر& d)   کانتینر.اضافه کردن(d); > 

اگر ظرف دیگری در صفحه خود دارید می توانید با تماس با افزودن روی ظرف ، ویجت ها را به آن اضافه کنید:

void screen1view :: setupscreen ()   .  myContainer. add (mybox) ؛ > 

تنظیم اندازه و موقعیت

بیشتر ابزارک ها دارای موقعیت پیش فرض (0/0) و عرض و ارتفاع صفر هستند. این بدان معنی است که تقریباً همیشه برای تعیین اندازه و موقعیت ویجت مورد نیاز است.

روش اصلی برای تنظیم موقعیت ، روش setxy است:

 mybox. setxy (10 ، 10) ؛// MyBox را در x = 10 قرار دهید ، y = 10 

عرض و ارتفاع را می توان با روش SetWidthheight تنظیم کرد. یا روش های SetWidth ، Setheight:

 mybox. setwidthheight (200 ، 100) ؛// به Mybox عرض 200 ، ارتفاع 100 

این دو را می توان با روش تنظیم ترکیب کرد:

 mybox. setposition (10 ، 10 ، 200 ، 100) ؛// mybox را در x = 10 ، y = 10 ، با عرض 200 ، ارتفاع 100 قرار دهید 

روشهای یاور

کلاس Drawable دارای روش های یاور است که می تواند در تنظیم Drawable کمک کند:

در حال گسترش

روش Drawable :: Expand () باعث می شود ویجت (قابل ترسیم) به همان اندازه والدین خود باشد. می توانید حاشیه ای تنظیم کنید. ویجت در گوشه سمت چپ فوقانی (به علاوه حاشیه) قرار داده شده است:

 mybox. expand (10) ؛// mybox را در x = 10 ، y = 10 ، اندازه والدین به جز حاشیه 10 پیکس قرار دهید 

محور

Drawable :: Centerx ()) ، Drawable :: Centery ()) ، Drawable :: Center () روش ها ویجت را در داخل والدین خود قرار می دهد (به صورت افقی ، عمودی و هر دو):

 mybox. centerx () ؛// مرکز MyBox را به صورت افقی در والدین خود قرار دهید 

بی اعتبار

هنگامی که اندازه ویجت را تغییر می دهید ، باید قسمت های صفحه را که نیاز به تغییر مجدد دارند ، باطل کنید. اگر ویجت را بزرگتر می کنید ، می توانید اندازه جدید را باطل کنید. اگر ویجت را کوچکتر می کنید ، باید قبل از تغییر اندازه آن را باطل کنید:

 // جعبه را گسترش دهید ، بعد از آن را باطل کنید تا اندازه جدید دوباره پیدا کنید  mybox. expand (10) ؛  mybox. invalidate () ؛  .  // جعبه را به اندازه کوچک کاهش دهید ، قبل از آن ، بی اعتبار کنید تا دوباره پس زمینه بدست آورید  mybox. invalidate () ؛  mybox. mybox. setposition (10 ، 10 ، 200 ، 100) ؛ 

به یاد داشته باشید که وقتی ویجت را باطل می کنید ، منطقه روی صفحه نمایش که توسط ویجت اشغال شده است (در آن زمان) در مرحله قرعه کشی بعدی دوباره ساخته می شود. این بدان معناست که اگر یک ویجت را باطل کنید ، و سپس آن را کوچکتر کنید ، قسمت های دیگر ویجت ها (پشت) که اکنون قابل مشاهده هستند ، مجدداً مورد استفاده قرار می گیرند ، نه تنها ویجت که شما را باطل می کنید.

در حال حرکت

کلاس Drawable دارای یک روش قابل ترسیم است :: MoveLative (int16_t x ، int16_t y) برای انتقال ویجت از روی صفحه از یک موقعیت به موقعیت دیگر. این می تواند به عنوان بخشی از یک انیمیشن یا فقط برای تنظیم مجدد قطعات رابط کاربری استفاده شود.

Drawable :: Moverelative (int16_t x ، int16_t y) نامعتبر است ، بنابراین ما مجبور نیستیم این کار را انجام دهیم:

 mybox. moverelative (1 ، 0) ؛// حرکت 1 پیکسل به سمت راست 

روش دیگر قابل ترسیم است :: Moveto (int16_t x ، int16_t y) که ویجت را به موقعیت مشخص شده منتقل می کند:

 mybox. moveto (100 ، 100) ؛// حرکت به 100 ، 100 از موقعیت فعلی 

این روش همچنین نامعتبر است.

فارکس کاران ایران...
ما را در سایت فارکس کاران ایران دنبال می کنید

برچسب : نویسنده : ديناروند فهيمه بازدید : 31 تاريخ : پنجشنبه 26 مرداد 1402 ساعت: 14:12