Přizpůsobení vzhledu aplikace pomocí nových typů oken

Automaticky přeloženo z Deepl

V aplikaci 4D 20 R5, která odemyká nové možnosti přizpůsobení aplikací, jsou nyní k dispozici dva další typy oken, které nabízejí flexibilní modální nebo nemodální okna bez titulkových pruhů. To znamená naprostou volnost při přizpůsobování vzhledu aplikace přesně podle vašich požadavků. Představte si, že předěláte titulkový pruh tak, aby odpovídal vaší požadované estetice, a plynule do něj integrujete funkce, jako je přizpůsobené vyhledávací pole nebo jiné prvky.

Ale to není všechno! Představili jsme také několik nových příkazů určených k zefektivnění procesu vývoje:

  • Zmenšit okno v záhlaví v systému Windows nebo v doku v systému MacOS,
  • Zjistit, zda je okno zmenšeno v titulkovém pruhu v systému Windows nebo v doku v systému macOS,
  • Zjistit, zda je okno maximalizováno.

HDI: Zlepšení formy

Nové typy oken

Dvě nové konstanty lze použít s Open form window příkazem.

$winRef1:=Open form window("myForm1"; Plain form window no title)
$winRef2 :=Open form window("myForm2"; Movable form dialog box no title)

Form without title bar, with a "Hello World!" static text and a "OK" button

Zde je příklad s vlastním titulkovým pruhem:

  • Obdélník s automatickou barvou pozadí. V systému macOS je tedy ve světlém režimu obdélník bílý a v tmavém režimu je obdélník černý.
  • Neviditelné tlačítko nad obdélníkem. Po kliknutí na tlačítko se spustí DRAG WINDOW příkaz, který umožní přesunout okno.
  • Tři tlačítka: Zavřít, Maximalizovat a Minimalizovat s přidruženými příkazy. MAXIMIZE WINDOW, MINIMIZE WINDOW, a REDUCE RESTORE WINDOW. Co se týče vzhledu tlačítek, trochu více práce pro macOS, rolování se provádí na všech třech tlačítkách současně. Při událostech On Mouse enter a On Mouse Leave se tedy ikony tlačítek upravují pomocí příkazů OBJECT SET FORMAT příkazem.

 

V systému macOS:

Prostý formulář bez nadpisu

Plain form window with a custom title bar that contains "close", "minimize" maximize" buttons and a search area.

Pohyblivé dialogové okno bez nadpisu

Modal dialog with a custom title bar that contains "close", "minimize", "maximize" and "help"buttons

Ve WindowS:

Obyčejný formulář bez nadpisu

blank

Pohyblivé dialogové okno bez nadpisu

blank

 

Tento příklad v živém režimu:

Nové příkazy

Kromě těchto nových typů oken jsme zavedli také několik praktických příkazů, které vám usnadní vývoj:

  • Příkaz REDUCE RESTORE WINDOW umožňuje zmenšit nejpřednější okno nebo pojmenované okno na hlavním panelu v systému Windows v režimu SDI nebo v doku v systému MacOS. Pokud je okno zmenšeno, příkaz obnoví jeho předchozí stav.

REDUCE RESTORE WINDOW($winRef)

  • Příkaz Is window reduced Příkaz vám pomůže zjistit, zda je okno aktuálně ve zmenšeném stavu. Tuto znalost lze využít k provádění konkrétních akcí na základě stavu okna.

If(Is window reduced($winRef))
// Do something
End if

  • Příkaz Is window maximized Příkaz umožňuje zjistit, zda je okno v maximalizovaném stavu, takže lze snadno přepínat mezi maximalizovaným a předchozím stavem.

If(Is window maximized($winRef))
MINIMUM WINDOW ($winRef)
Else
MAXIMIZE WINDOW ($winRef).
End if

A…

Další informace o různých typech oken naleznete na této stránce dokumentace. Neváhejte se podělit o neuvěřitelná rozhraní, která jste pomocí této funkce vytvořili, na fóru 4D.

Vanessa Talbot
• Product Owner • Vanessa Talbot se připojila k programovému týmu 4D v červnu 2014. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Její úlohou je také zajistit, aby implementovaná funkce odpovídala potřebám zákazníka. Od svého příchodu pracovala na definování klíčových prvků ve 4D. Pracovala na většině nových funkcí preemptivního multi-threadingu a také na velmi složitém tématu: nové architektuře pro enginované aplikace. Vanessa má titul z Telecom Saint-Etienne. Svou kariéru začala ve Výzkumném ústavu kriminalistickém jako vývojářka pro audiovizuální oddělení. Působila také v mediální a lékařské oblasti jako expertka na technickou podporu, produkci i dokumentaci novinek.