Własny interfejs aplikacji – przegląd kontrolek i test działania

Odpowiedz Nowy wątek
2018-03-02 19:30
6

Nudziliście o demówkę wiele razy, więc w końcu znalazłem czas i przygotowałem małą aplikację do potestowania. Co prawda nie są w niej zawarte wszystkie komponenty, bo nie wszystkie są gotowe, a i pełna ich funkcjonalność też nie jest przedstawiona. Choć tyle powinno wystarczyć – mało nie jest.

Demówka po uruchomieniu powinna wyglądać tak:

demo.png

Okno powinno przykrywać cały ekran, łącznie z paskiem zadań. Kolorowa ramka z oknem ma taki rozmiar a nie inny – na potrzeby demówki jest nieduża. We właściwej aplikacji zajmuje 90% powierzchni ekranu, a obszar ze znakiem wodnym stanowi niewielki margines (zwykle nieco większy po bokach).

No dobrze, teraz czas na opis zawartości, ale nie opiszę szczegółowo każdej z nich, bo dnia mi braknie.


Na kolorowym pasie (po lewej stronie) są zwykłe małe przyciski, separatory, przyciski zakładek i znacznik aktywnej zakładki. Zwykłe przyciski nie mają przypisanych akcji po kliknięciu. Przyciski zakładek zmieniają zawartość widoczną wewnątrz okna, więc można poklikać.

U góry jest grid z kolorami interfejsu – po kliknięciu w daną kostkę, okno zostanie przemalowane na dany kolor. Niebiestki jest domyślny, choć sam preferuję pomarańczowy i czerwony.

Pod separatorem są boksy ze zgrupowanymi kontrolkami dla zakładek. Pierwsza zakładka zawiera jedną dużą formatowalną etykietę, a na dole są nieformatowalne będące linkami – po lewej poziomy link, po prawej pionowy. Druga zakładka zawiera dużą etykietę oraz trochę przycisków z przypisanymi etykietami – można poklikać. Trzecia zakładka zawiera etykietę i trzy duże przyciski, w dwóch stylach.

Wszystkie kontrolki obsługują hinty – większość z nich pokazuje je automatycznie, z wyjątkiem tabelki kolorów. W niej hinta pokazuje się i ukrywa prawym przyciskiem myszy. Wszystkie kontrolki dają się stylować na żywo – po kliknięciu w kostkę koloru interfejs zostanie przemalowany.

Po kliknięciu w przycisk 4:3 interfejs zostaje wyszarzony, po ponownym znów pokolorowany. Oryginalnie ten przycisk służy do czegoś innego, jednak nie miałem czasu na zmianę grafik. Samo wyszarzanie interfejsu, we właściwej aplikacji, realizowane jest przed pokazaniem innego okna modalnie – tutaj robi się to ręcznie, tylko dla podglądu możliwości.


No cóż – pobawcie się, poklikajcie, have fun. Gdzieniegdzie mogą pojawić się błędy – nie wszystkie bugi zdołałem załatać, więc nie zdziwcie się, jeśli coś nie zostanie prawidłowo odmalowane (bo głównie z tym miewam problemy). Część funkcjonalności nie jest jeszcze zaimplementowana – np. focus i sterowanie klawiaturą (jeszcze zastanawiam się nad wyglądem focusa).

W załącznikach spakowana demówka – częstujcie się. Jeśli podoba się to komentujcie lub łapka w górę – jak tam chcecie. Jeśli macie pytania to pytajcie, jeśli coś się nie podoba to krytykujcie. Jestem otwarty na dyskusję i ew. propozycje.

@lampasss @cerrato ;)


Edit: załącznik demo.zip wymieniłem na ten zawierający poprawnie działającą demówkę. Dla potomnych się przyda, aby nie musieli czytać całego wątku i szukać odpowiednio działającej wersji.


edytowany 6x, ostatnio: furious programming, 2018-03-05 12:04

Pozostało 580 znaków

2018-03-02 21:13
_JarekZ
0

Fajne.... ale nawet się nie uruchamia :(
Windows 7 prof. wisi w zadaniach i tyle.....

Pozostało 580 znaków

2018-03-02 21:18
0

Moment, sprawdzę na swoim Win7 i dam znać.


Pozostało 580 znaków

2018-03-02 21:22
0

Ładnie to wygląda.
Mógłbyś napisać conieco więcej do czego takie gui przygotowujesz.

tak, win 7 64 bit - lampasss 2018-03-02 21:33
U mnie też, na takim samym systemie. :/ - furious programming 2018-03-02 21:33

Pozostało 580 znaków

2018-03-02 21:33
0

Sprawdziłem pod Windows 7 64-bit – działa prawidłowo. Sprawdzę co jeszcze może być powodem problemów. Gdyby komuś demówka nie uruchamiała się to podajcie proszę informacje o systemie.

@lampasss: nie chcę podawać zbyt wielu szczegółów. Będzie to program narzędziowy, po części prezentacyjny/wizualizacyjny, z którym do czynienia będą mieli ogólnie rozumiani przedstawiciele handlowi, ale też ich klienci – stąd konieczność niestandardowego interfejsu.

Program musi ładnie wyglądać, skoro będzie przedstawiał ładnie wyglądające rzeczy. ;)


edytowany 3x, ostatnio: furious programming, 2018-03-02 22:40
ale to coś komercyjnego rozumiem :)? - lampasss 2018-03-02 21:54

Pozostało 580 znaków

2018-03-02 21:43
_JarekZ
0

no niestety u mnie nie działa, nawet po restarcie kompa.
może jakieś dll do tego potrzeba ??

Pozostało 580 znaków

2018-03-02 21:56
0

Na "prawdziwym" Win7 nie działa, ale za to u mnie na Linux Mint 18.2 (uruchomienie oczywiście z użyciem Wine) poszło od razu bez jakichkolwiek problemów ;)
Działa ładnie, widać że dużo pracy w tą apkę wsadziłeś.

Pozostało 580 znaków

2018-03-02 22:05
0
_JarekZ napisał(a):

może jakieś dll do tego potrzeba ??

Nie, program korzysta wyłącznie z bibliotek systemowych. Zestaw używanych funkcji znajduje się już w Win2000, więc dziwię się dlaczego nie startuje. Chyba że brakuje Ci jakichś systemowych .dll. ;)

cerrato napisał(a):

Na "prawdziwym" Win7 nie działa […]

To chyba mój jest nieprawdziwy, bo działa bez zająknięcia… :/


edytowany 1x, ostatnio: furious programming, 2018-03-02 22:44
Pokaż pozostałe 6 komentarzy
No ale nie chodzi mi o to, że konkretnie te symbole powodują problem - tylko że to może być nie wina samego systemu, tylko "czegoś" co w nim siedzi. Niedawno instalowałem na nowym systemie Lazarusa - zarówno samo środowisko, jak i aplikacje nim tworzone - bardzo powoli się uruchamiały albo zaliczały losowe zwiechy. Nie było przy tym żadnych komunikatów - po prostu wszystko się zatrzymywało. Okazało się, że winny jest F-secure (antywirus) - dodanie Lazarusa oraz katalogu z projektami do wyjątków antywirusa rozwiązało problem - cerrato 2018-03-02 23:46
więc pytanie do _JarekZ - czy masz na tym problematycznym kompie jakieś dodatkowe zabezpieczenia - antywirusy, firewalle itp.? Jeśli tak to dwie prośby - po pierwsze napisz, co takiego masz, a po drugie spróbuj to wyłączyć / zablokować i zobacz, czy bez tych zabezpieczeń apka furiousa się uruchomi normalnie. - cerrato 2018-03-02 23:47
Sam nie używam antywirusów – właśnie dlatego, że ciągle są z nimi problemy i zabierają niepotrzebnie moc. A mój laptop nie ma jej zbyt wiele. :D - furious programming 2018-03-02 23:48
@furious programming: ale Twoi użytkownicy używają, i faktycznie Twoja aplikacja jest skanowana dłuuugo zanim winda ją odpali. Jeśli to AntyVir, to widać w jego logu co i dlaczego. Jeśli nie, to ProcessExplorer pewnie powie więcej. - wloochacz 2018-03-03 07:42
@wloochacz: tak i tu jest główny problem. Do tej pory sam testowałem program na kilku urządzeniach (na jednym był Avast) z różnymi wersjami Windowsa i nie miałem żadnego problemu. Tym bardziej takiego, że okno w ogóle nie pojawia się na ekranie. Cóż, póki co projekt nie jest gotowy i jeszcze daleko do tego, więc wiele testów i poprawek przede mną. - furious programming 2018-03-04 18:49

Pozostało 580 znaków

2018-03-02 22:39
0

@_JarekZ: jeśli możesz to sprawdź nową wersję – demo.zip

Zmieniłem sposób wyświetlania formularza, bo coś mi wsMaximize podejrzanie wyglądał – teraz formularz w konstruktorze przyjmuje rozmiar domyślnego ekranu. Dodałem też kod sprawdzający ładowanie fontów – jeśli się nie uda to wyskoczy informacja i program zakończy działanie.

  • demo.zip (1,07 MB) - ściągnięć: 24

edytowany 2x, ostatnio: furious programming, 2018-03-02 22:39

Pozostało 580 znaków

2018-03-03 07:39
1
furious programming napisał(a):

@lampasss: nie chcę podawać zbyt wielu szczegółów. Będzie to program narzędziowy, po części prezentacyjny/wizualizacyjny, z którym do czynienia będą mieli ogólnie rozumiani przedstawiciele handlowi, ale też ich klienci – stąd konieczność niestandardowego interfejsu.

Nie chcę się czepiać, ale... to jakieś kuriozum jest. Bo jak mam to rozumieć?
Że aplikacja dla klientów wymaga niestandardowego interfejsu?

Powiem tak; każdy niestandardowy element dla standardowego użytkownika, to niestandardowy problem dla supportu tego systemu.

Program musi ładnie wyglądać, skoro będzie przedstawiał ładnie wyglądające rzeczy. ;)

Przecież jedno nie wyklucza drugiego - może wyglądać ładnie, schludnie i profesjonalnie na standardowym UI.
A może wyglądać jak paw po bełcie zapity browarem i zagryziony bułą na ciepło z grzybkami i papryką, na super niestandardowych kontrolkach.
Albo vice-versa :)
Inaczej - użycie jakichkolwiek kontrolek nie sprawi, że będzie to wyglądało dobrze samo z siebie.

Twoje wygląda dobrze.
Ale nieintuicyjnie.

Dobra, to dopiszę... ;-)
Gdzie nieintuicyjnie polega głownie na tym, że nie widać na pierwszy oka:

  1. Gdzie można kliknąć; te ołówki inne obrazki są bardzo ładne. Ale nie sugerują, że są klikalne. Gdyby te elementy były na czymś takim jak toolbar, to by się rozumiało samo przez się. Ale tak nie jest i... ja mam lekką konfuzję.
  2. Większy problem to widoczność, a raczej jej brak, aktywności danej zakładki; gdyby ie było napisane first/second tab to bym się nie zorientował na szybko. Sugerowałbym obramowanie dookoła aktywnej zakładki, albo marker. Dam przykład od siebie, czy widać co jet aktywne (strzałki wskazują na marker aktywnej zakładki)?
    dfPageControlMarker.png
edytowany 1x, ostatnio: wloochacz, 2018-03-05 21:22
Pokaż pozostałe 18 komentarzy
Ja sobie wypraszam, ja Daniel jestem :D - wloochacz 2018-03-09 22:52
Nawet komina mieć nie można… dobra, wytnę go – zostanie sama strzałka. ;) - furious programming 2018-03-09 22:56
Sorry ale nie wpadłbym raczej na to że to domek, nie w tej pozycji, chyba że aplikacja jakoś miałaby odwołanie że to ustawienia związane z domem. Żeby było widać że to komin to przydałby się dym z komina. Chociaż w tej pozycji to raczej nic ciekawego z tego by nie wyszło :) - Clarc 2018-03-09 23:02
Dobra dobra, już nie wkręcajcie mnie w dymy, solary itd., już wolę usunąć ten komin. :] - furious programming 2018-03-09 23:04
Ja z tym dymem to serio mówiłem https://comps.canstockphoto.pl/kolorowanie-dom-konturowany-ksi%C4%85%C5%BCka-wektory-eps_csp48778585.jpg tylko że odwrócone to by źle wyglądało. Z dymem nikt by raczej nie miał wątpliwości że to dom. - Clarc 2018-03-09 23:11

Pozostało 580 znaków

2018-03-03 07:39
_JarekZ
0

niestety dalej to samo
mam ESET-a ale jego wyłączenie nic nie dało
Próbowałem wyłączać usługi np mssql,klucz HASP-a comarchowy,firebirda itd.
Nic to nie pomogło. Z drugiej strony aplikacja uruchamia się VirtualBox-ie Windows10.
To jest jakiś początek projektu, gdzie nie ma chyba "zaawansowanej technologii kosmicznej", więc powinien działać. Do tworzenia aplikacji używam delphi (różne wersje) i wszystko śmiga -również na moim kompie. Może się nie za bardzo znam (dopiero 15 lat zajmuje się delphi) ale gdzieś masz błąd. Aplikacja jest prosta, mała, nie wymaga mega zasobów więc powinna działać na każdym kompie z windowsem. Tym bardziej, że jak piszesz ma to być większy projekt to chyba musisz to posprawdzać. Aplikacja "wisi" w menadżerze zadań, nie pobiera zasobów procesora, nic nie wyświetla. W związku z tym zrób jakiegoś loga do pliku i ewentualnie zapisuj tam jakieś komunikaty.

Użyj ProcessExplorera, pomóż chłopakowi :) - wloochacz 2018-03-03 07:46
Jeśli VirtualBox to może nie ma aktualnych Guest Additions? Ewentualnie nie włączona akceleracja 3D - Clarc 2018-03-03 08:02
OK, ale co ma do tego akceleracja 3D, bo nie rozumiem? - wloochacz 2018-03-03 09:09
Problem dotyczy VirtualBoxa i aplikacji z niestandardowym interfejsem. W VB jedyne 'opcje' związane z grafika, które nie są standardowo włączone to Guest Additions i akceleracja 3D. Może aplikacja korzysta z jakiś bibliotek 3D. Spotkałem się z paroma problemami, których rozwiązanie nie było bezpośrednio związane z dany problemem, tutaj też przedstawiam ewentualne linie problemu. - Clarc 2018-03-03 09:49
@Clarc, @wloochacz: program nie korzysta z dodatkowych bibliotek (tym bardziej 3D!). Wszystkie kontrolki to najzwyklejsze komponenty, z własnym kodem OnPaint, w którym używam wyłącznie tego co standardowy Canvas posiada. - furious programming 2018-03-03 15:52

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0