Tag: gui

Entries for tag "gui", ordered from most recent. Entry count: 27.

Uwaga! Informacje na tej stronie mają ponad 5 lat. Nadal je udostępniam, ale prawdopodobnie nie odzwierciedlają one mojej aktualnej wiedzy ani przekonań.

Pages: > 1 2 3 4 >

# MFC i Smart PropertyGrid

16:43
Sat
06
Jun 2009

Używam w pracy MFC i powiem wam, że wbrew temu co się mówi (i co wcześniej powtarzałem za innymi), to wcale nie jest taka zła biblioteka. Ta dostępna w płatnych wersjach Visual C++ biblioteka do GUI to tak naprawdę cienka, obiektowa nakładka na WinAPI. Tak więc ma swoje klasy odpowiadające m.in. różnym kontrolkom interfejsu, obiektom GDI itp., ale z zestawów flag bitowych czy też zasobów z zaprojektowanymi graficznie okienkami korzysta już z tych samych, co czyste WinAPI. Nie oferuje zbyt wiele ponad to, co API systemowe, ale trochę uprzyjemnia pracę. Jeśli ktoś zna dobrze WinAPI, to nie ma kłopotów z opanowaniem MFC ani powodów do narzekań, chyba że co najwyżej na to, że biblioteka jest tym czym jest i niczym więcej.

Szukałem wczoraj rozwiązania kwestii kontrolki Property Grid dla MFC i znalazłem bibliotekę Smart PropertyGrid.MFC firmy Visualhint. Jest świetna - ładna, potężna, rozszerzalna, a dzięki dobrze zaprojektowanemu interfejsowi opartemu na wielu klasach i koncepcji iteratorów, także wygodna w użyciu. Twórcy udostępnili ją całkowicie za darmo, bo teraz rozwijają i sprzedają wersję tej kontrolki dla .NET (choć przecież platforma .NET ma taką kontrolkę w standardzie).

Smart PropertyGrid.MFC

Comments | #c++ #gui #libraries #winapi #visual studio Share

# Renderowanie kryształka i AntTweakBar

20:30
Sun
05
Apr 2009

Klejnoty, kryształy i wszelkie błyskotki to bardzo ładne obiekty, więc ciekawie jest próbować je wyrenderować :) Dawno temu przeczytałem artykuł "A Simple Method for Rendering Gemstones" (Thorsten Scheuermann, książka Game Programming Gems, tom 5). Potem wróciłem do tego tematu i trafiłem na artykuł Graphics Gems Revisited (Stephane Guy, Cyril Soler). Artykuł jest trudny i oparty na modelu fizycznym. Przy okazji z Wikipedii dowiedziałem się, że brylant to nie po prostu oszlifowany diament, ale w jubilerstwie istnieje cała obszerna sztuka nadawaniu klejnotom takiego szlifu, aby otrzymać jak najlepszą brylancję.

Jakiś czas temu spróbowałem opracować swoją, prostą metodę renderowania kryształka. Metoda opiera się na teksturze sześciennej, do której na początku jeden raz renderuję głębokość geometrii kryształka z punktu widzenia jego środka. Potem dzięki niej, podczas właściwego renderowania, w pixel shaderze liczę (bardzo) przybliżone odbicia promienia światła wewnątrz modelu, a na podstawie kąta i odległości tego odbicia obliczam końcowy kolor.

Gemstone Rendering

Ale nie tylko o tym chcę dzisiaj napisać. Chciałbym polecić wszystkim bibliotekę AntTweakBar. O jej istnieniu dowiedziałem się z wykładu Koshmaara na tegorocznej konferencji IGK'6-2009. Jest darmowa, banalnie prosta w użyciu, współpracuje z DirectX i OpenGL, a jej funkcja to zapewnienie arkusza właściwości (property grid) wewnątrz gry. Umożliwia edycję różnego typu danych, od bool, int, float, string, aż po enum, wektor i kwaternion. Napisanie samemu czegoś takiego to by był ogrom pracy. Przygotowałem mały filmik:

Modele kryształów pochodzą ze strony 3D Lapidary. Przy okazji do listy formatów modeli, które zdarzyło mi się w życiu wczytywać, dołączył DXF :)

Comments | #literature #rendering #libraries #gui Share

# Instalacja Qt 4.5 dla Visual Studio 2008 Professional

00:03
Tue
17
Mar 2009

Tak jak obiecałem, napiszę o moich przebojach z instalacją Qt. Ściągnąłem i zainstalowałem darmowe Qt 4.5. Chodzi o wersję dla Windows, a moim IDE jest Visual Studio 2008 Professional.

Sprawa okazała się niełatwa. Najpierw zainstalowałem gotową paczkę "Qt SDK for Windows". Wyglądała super - zawiera dokumentację wraz z przeglądarką Qt Assistant, przykłady, narzędzia (Qt Designer, Qt Linguist), nagłówki i... niestety biblioteki do linkowania w formacie A, a nie LIB :(

Przekompilowałem całą bibliotekę (configure, nmake) i... po tym programy pisane w Visual C++ udało się kompilować, linkować, uruchamiać, ale za to narzędzia Qt przestały działać. Narzekały na złą wersję pliku QtCore4.dll. Okazało się, że w katalogu z biblioteką są aż trzy różne wersje tego pliku i... żadna tym programom nie odpowiada :(

W końcu, na drugi dzień, postanowiłem dać Qt jeszcze jedną szansę. Ściągnąłem tym razem pakiet ze źródłami - "Qt libraries 4.5 for Windows". Następnie uruchomiłem kompilację. W tym celu trzeba dopisać do zmiennej środowiskowej PATH ścieżkę do qt-win-opensource-src-4.5.0\bin, uruchomić Start / Programy / Microsoft Visual Studio 2008 / Visual Studio Tools / Visual Studio 2008 Command Prompt, przejść do katalogu z Qt i wydać polecenie configure, a potem nmake.

Kompilacja się udała. Zajęła około 2 godziny. Po zakończeniu zajrzałem do katalogu, a tam czekała na mnie miła niespodzianka - gotowe nie tylko pliki H, LIB, ale też i wszystkie narzędzia oraz dokumentacja. Słowem - biblioteka zainstalowana i gotowa do użycia.

Zainstalowałem jeszcze wtyczkę "Visual Studio Add-in". Piszą, że jest w wersji Beta 2, ale działa bez zarzutu. Po instalacji trzeba tylko wskazać jej ścieżkę do biblioteki wybierając z menu Qt / Configure Qt Versions. Integruje się z Visual Studio w taki sposób, że dostępne są nowe kreatory projektów w File / New / Project, IDE automatycznie uruchamia moc, rcc, uic itp. dodatkowe "przetwarzarki" Qt, a kliknięcie w dodany do projektu plik ui czy qrc automatycznie otwiera Qt Designer i Qt Resource editor. Słowem - wszystko działa.

Zacząłem pisać w Qt mały, ale fajny program (premiera wkrótce...) i powiem tak: Każdy ma prawo nie wierzyć, że w C++ można pisać programy okienkowe równie szybko i wygodnie jak w C#... dopóki nie zobaczy Qt :)

Comments | #libraries #gui #visual studio #c++ Share

# Qt - Możliwości i wady

23:02
Thu
12
Mar 2009

Biblioteka Qt to jedna z bibliotek do tworzenia GUI. Choć kojarzy się z Linuksem, jest przenośna i działa także na Windows. Rozwijana wcześniej przez firmę Trolltech (swoją drogą, fajna nazwa ;) teraz została wykupiona przez Nokię. W tym roku jej wersja 4.5 stała się dostępna dla Windows na licencji GNU LGPL. Dzięki temu Qt można wykorzystać w dowolnych programach, także komercyjnych. W ten sposób dołącza do grona bibliotek, które pozwalają wygodnie robić okienka w C++. Używałem niejednej takiej biblioteki, a Qt uczyłem się na studiach i mogę chyba powiedzieć, że moim zdaniem Qt staje się teraz najlepszą z nich (deklasując wxWidgets, GTK, MFC i oczywiście czyste WinAPI). Chodzi mi tu nie tylko o możliwości, ale i o jej piękne, obiektowe API.

Przeczytałem Qt Technical Overview Whitepaper i jestem zachwycony możliwościami tej biblioteki. Pośród nich warto wymienić:

Read full entry > | Comments | #gui #libraries Share

# O wyższości wyszukiwania nad wybieraniem

21:25
Tue
10
Feb 2009

Mam wrażenie, że w rozwoju interfejsów użytkownika za szczyt wygody dawniej uważane było pokazanie listy jakiś elementów do wybrania przez kliknięcie myszką. Natomiast teraz jasne staje się, że lepiej pozwolić użytkownikowi zacząć wpisywać jakiś wyraz do wyszukania i od razu pokazywać listę pasujących wyników. Taką możliwość mamy np. w:

Comments | #philosophy #gui Share

# Skąd brać ikonki?

22:31
Fri
30
Jan 2009

MarekM25 poruszył ostatnio na naszym forum ciekawy temat: Skąd brać ikonki na przyciski do swoich programów?. Pośród odpowiedzi znalazły się darmowe galerie ładnych ikon: Silk Icons, Tango Icon Gallery, a także nie lada niespodzianka - paczka ikon dołączana do Visual Studio (niestety nie w wersji Express), schowana głęboko i spakowana w pliku VS2008ImageLibrary.zip.

VS2008ImageLibrary.zip

Przy okazji warto wspomnieć o stronie Ajaxload, na której można sobie wygenerować i ściągnąć animowane, obracające się kółeczko popularne ostatnio do oznaczania ładowania czegoś w tle. Znacie jeszcze inne tego typu zasoby?

Ajaxload

Comments | #web #gui #graphics Share

# Pasek przełączania stron w PHP

21:24
Wed
21
Jan 2009

Tym razem, nietypowo, napiszę o programowaniu stron WWW w PHP, a konkretnie o kwestii przełączania między stronami. Jeśli lista zarejestrowanych użytkowników, dodanych projektów, newsów czy czegokolwiek jest długa, istnieją różne rozwiązania na jej pokazywanie. Pierwsza to pokazać wszytkie (jak lista Parties na pouet.net). Druga to pokazać wszystkie na wybraną literę (jak lista Groups na pouet.net). Ta najczęściej stosowana to grupować obiekty po kilka na stronie i dać możliwość przełączania się między numerami stron.

Z kolei wybór strony też można pokazywać na różne sposoby. Można wstawić formularz z kontrolką <select>, czyli ComboBox. Można pokazać listę numerów stron. Jeśli jednak sama ta lista jest długa, warto ją skrócić. Tu właśnie, kończąc ten wstęp, chciałbym zaprezentować kawałek kodu PHP, który ostatnio napisałem. Wprowadziłem go do swojej strony domowej oraz na www.gamedev.pl. Wzorem SMF (używanego na naszym forum.gamedev.pl) pokazuje tylko numer strony bieżącej, pierwszej, ostatniej, dwóch poprzednich, dwóch następnych oraz dodatkowe strzałeczki do następnej i poprzedniej. Oto kod: Pasek_stron_PHP.txt. Tak to wygląda:

Pasek przełączania stron w PHP

Comments | #php #webdev #web #gui Share

# Visual Studio - Find/Command Box

14:54
Mon
29
Dec 2008

Find/Command Box to przydatna funkcja Visual Studio. Ma postać pola edycyjnego na pasku narzędzi u góry. Może służyć do wyszukiwania tekstu w dokumencie bez otwierania okienka Ctrl+F, ale ma też więcej funkcji. Na przykład wpisanie tam hasła i wciśnięcie F1 otwiera pomoc. Wpisanie tam numeru linii i wciśnięcie Ctrl+G przenosi do tej linii.

Z kolei wpisanie tam znaku ">" i dalej polecenia (lub jego skrótu) wraz z parametrami powoduje wykonanie polecenia Visual Studio. W ten sposób można na przykład szybko i wygodnie otworzyć plik (polecenie "File.OpenFile" lub w skrócie "of"). Zobacz: Lista poleceń przyjmujących parametry, Lista skróconych aliasów do poleceń.

Okienko to można aktywować skrótem Ctrl+D lub Ctrl+/ (ten drugi wpisuje od razu znak ">").

Visual Studio - Find/Command Box

Comments | #visual studio #gui Share

Pages: > 1 2 3 4 >

STAT NO AD
[Stat] [STAT NO AD] [Download] [Dropbox] [pub] [Mirror]
Copyright © 2004-2017