Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Struktura dx Grafika, interfejs użytkownika, zdarzenia i wiele więcej!
#1
DX Framework Mała i zgrabna biblioteka Windowsowa oparta na zdarzeniach z grafiką, interfejsem użytkownika i wieloma innymi interfejsami!   Zakresy: dx Lib FileIO    Interfejs graficzny    Okno      Matematyka    Netto         Układ typów (sortowane według kolejności):           typedef uint     typedef ulong     typedef bajt     enum Key     Klasa kolorów     struct is_pointer <T>     struct is_reference <T>     struct is_array <T>     struct remove_pointer <T>     struct remove_reference <T>     struct remove_array <T>     struct remove_all <T>     klasa String     Iterator klasy <T>     klasa ReverseIterator <T>     klasa AsyncKeeper     klasa AsyncGuard     klasa FlexibleGuard     klasa StopWatch     używając Clock = StopWatch     klasa DeltaTimer     używając Timer = DeltaTimer     klasa TimedTask <T>     klasa timed_function <T>     class EventHandler <T>     zdarzenie klasy <T>     klasa EventArgs     Ścieżka klasy     enum Token_t     Token klasy     Tokenizer klasy     struct TokenizerMessage     bufor klasy <T>     klasa Vector2     klasa Region     klasa BasePainter     klasa Czcionka     linia klasy     klasa Malarz     klasa Pen     klasa Tekst     klasa Circle     klasa tekstury     okno klasy     klasa MsgBox     klasa WindowMovedArgs     klasa WindowClosingArgs     klasa KeyDownArgs     klasa KeyUpArgs     klasa KeyDownCharArgs     klasa MouseMovedArgs     klasa MouseClickedArgs     klasa MouseReleasedArgs     klasa ScrollArgs     klasa MessageDataArgs     enum Style     Motyw enum     klasa StyleManager     Komponent klasy     Klasy guzik     klasa Checkbox     klasa Textbox                 Dokumentacja Wszystkie metody w klasach są udokumentowane, wystarczy znaleźć funkcję, którą chcesz sprawdzić i spojrzeć na podsumowanie.     Przykłady! Oto przykład, jak utworzyć okno i zarejestrować kilka zdarzeń.     Kod:   /// [...] #include <src / api> /// [...] /// [...] auto application = dx :: Application :: Create (); /// [...] // Utwórz okno w pozycji 300x300 o rozmiarze 930x690. auto window = dx :: Window :: Create ("ClassName", "Title! | dx framework", dx :: Region {dx :: Vector2 {300, 300}, dx :: Vector2 {930, 590}}); // Możesz specjalizować się, gdy wydarzenie "OnPaint" zostanie podniesione za pomocą okna SpecializePaint -> SpecializePaint (dx :: Window :: OnEvent_t); // Teraz zostanie podniesiony tylko wtedy, gdy WindowProc otrzyma "WM_PAINT" lub dx :: Window :: ForcePaint. // To jest dobre, jeśli nie musisz bardzo często aktualizować ramki // Możesz także narysować co tick, możesz dostosować częstotliwość każdego tick w dx :: Application :: setTickRate window -> SpecializePaint (dx :: Window: : OnTick_t); // Teraz zostanie podniesiony każdy tyk. // Pokaż okno window -> Show (); // Przywołuje okno do górnego okna -> BringToTop (); // Opcjonalnie załaduj okno ikon -> LoadIcon ("MyTaskBarIcon.ico"); okno -> LoadIconSm ("MyWindowIcon.ico"); // Umożliwia obsługę OnClosingEvent, może użytkownik przypadkowo nacisnął ikonę "X", więc otworzymy okno dialogowe i zapytamy, czy jest pewien. window -> OnWindowClosing () + = [] (dx :: Window * sender, dx :: WindowClosingArgs & args) {if (dx :: MsgBox ("Czy na pewno chcesz wyjść?", "Pewnie?", dx :: YesNo | dx :: IconQuestion). Show () == dx :: dx :: MsgBox :: Yes) args. ShouldClose = true; inaczej argumentuje. ShouldClose = false; }; // Teraz zajmij się faktycznym rzeczywistym zamknięciem okna (jeśli użytkownik był pewny, że chce wyjść) okno -> OnWindowClosed () + = [] (dx :: Window * sender) {dx :: Application :: get () -> exit (); // Wyjdź z pętli aplikacji, po prostu upewnij się, że aplikacja-> run () przestaje działać. }; // Istnieje wiele innych zdarzeń i metod wewnątrz dx :: Window, zachęcam do ich sprawdzenia, aby uzyskać zrozumienie // sposobu obsługi okna w zapleczu. // Teraz uruchom aplikację aplikacji -> run ();   Chcesz zarejestrować klawisze skrótów? NIE MA PROBLEMU!     Kod:   /// [...] /// Tworzenie okna i aplikacji /// [...] dx :: Hotkey my_hotkey {{dx :: key_shift, dx :: key_up}, "my_hotkey"}; // Możesz zarejestrować skrót, wiążąc go z obsługą zdarzeń lub ręcznie podnosząc / dx :: Hotkey :: Zdarzenie OnKeyDown / OnKeyUp. // Tutaj ręcznie zgłaszam zdarzenia, gdy dx :: Window :: OnKeyDown / OnKeyUp jest wywoływany // Pozwala również przechowywać je w procedurze obsługi zdarzeń, abyśmy mogli ewentualnie usunąć określone programy obsługi zdarzeń //, jeśli nie chcemy już zdarzenia podniesione okno -> OnKeyDown () + = dx :: EventHandler <dx :: Window :: OnKeyDownSig> ("HandleHotkey_down", [& / * Capture all * /] (dx :: Window * sender, dx :: KeyDownArgs & args ) {my_hotkey. OnKeyDown (sender, args);}); // Teraz musisz też obsługiwać OnKeyUp, w przeciwnym razie my_hotkey nie będzie wiedział, czy klucz nie jest już przytrzymany. okno ->
Reply
#2
hmm nie widzę wideo nawet z nami proxy
Reply
#3
Zacytować: Originally Posted by synthfx hmm Nie mogę zobaczyć wideo nawet z proxy USA Cholera, źle, zapomniałem, że słucham muzyki, ponownie załaduję się bez muzyki. EDYTOWAĆ: Usunięty dźwięk potrwa trochę czasu, zanim youtube przetworzy.
Reply
#4
Niezły wkład, dziękuję za udostępnienie
Reply
#5
Czy przyciski działają poprzez nakładkę DirectX?
Reply
#6
Zacytować: Napisał pierwotnie Entry0x8 Czy przyciski działają poprzez nakładkę DirectX? Tak, musisz ręcznie utworzyć nakładkę
Reply




Users browsing this thread: 1 Guest(s)