Moravské přístroje, a. s., zdroj: https://www.mii.cz/art?id=648&lang=405, vytištěno: 09/05/2024 03:44:35

Hlavní stránkaPodporaFAQ

3D grafika
Otázky a odpovědi související s 3D grafikou v systému Control Web.

Obsah sekce:

Proč 3D přístroje umístěné v objektech gl_panel nebo gl_scene nevyvolávají proceduru OnMouseDown a nezobrazují text v bublině?

Proč 3D přístroje umístěné v objektech gl_panel nebo gl_scene nevyvolávají proceduru OnMouseDown a nezobrazují text v bublině?

Tyto mechanismy (spolu s několika jinými), jsou vázány na existenci okna ve Windows (HWND, spolu s ním DC atd...), fungují tedy nad každým takovýmto oknem (obdélníkem na obrazovce). U 3D přístrojů pracují jen nad přístroji, které mají registrováno takovéto své okno (a spolu s ním svůj vykreslovací kontext), tedy na první úroveň registrovaných 3D přístrojů nad pracovní plochou Windows (ať je tato v libovolné hierarchické úrovni 2D panelů). 3D přístroje v dalších úrovních nad 3D panelem nebo 3D scénou již obecně nejsou reprezentovány nějakým obdélníkem na obrazovce (jedná se o perspektivní projekci 3D polygonů přístroje do 2D plochy obrazovky).

Tyto mechanismy by sice bylo možno i ve 3D prostoru do jisté míry napodobit a simulovat, detekce viditelných polygonů, nad kterými je právě kurzor myši, je celkem snadná, avšak náročná na výkon počítače. V systému Control Web je tako vlastnost vestavěna, je ale implicitně vypnuta.

3D přístroje disponují událostní procedurou On3DMouseClick, která je vyvolávána při kliknutí levým tlačítkem na přístroj. Podmínkou aktivace těchto mechanismů je zapnutí solve_mouse_click v 3D scéně nebo 3D panelu.