Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

GUI Vorschläge?!

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 04.03.2014, 14:08    Titel: GUI Vorschläge?! Antworten mit Zitat

Gibt es ausser den üblichen 'Verdächtigen' noch einfach zu verwendende GUI Libs oder in FreeBASIC geschriebene GUI Elemente?

WinAPI ist ein wenig zu kompliziert, speziell die 'update' Routinen, wx und gtk sind auch nicht sehr viel besser...

sGui von Mutton ist schon recht gut, könnte auf eigene Fenster verzichten, da ich im Grunde nur so was wie StringBox/InputBox einzeilig für Text und NumBoxen für Variablen benötigen würde... aber gern Windows-Like mit Markieren, Kopieren, Ausschneiden und Einfügen (würde da auch auf WinApi zurückgreifen)

Beispiel: http://www.freebasic-portal.de/porticula/windows-copypaste-text-1720.html

Zur Not müsste ich es halt selbst schreiben, aber da so was nicht mal so nebenbei geschrieben ist würde ich gern drauf verzichten zwinkern
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Affemitwaffel



Anmeldungsdatum: 02.06.2011
Beiträge: 39

BeitragVerfasst am: 04.03.2014, 17:13    Titel: Antworten mit Zitat

Ich bin im moment dabei eine "OOP-Verpackung" für wx-c zu schreiben. Du kannst dir die ja mal angucken, es fehlen allerdings noch einige Sachen.

EDIT: oops Link zum Repo vergessen: https://svn.freebasic-portal.de/svn/twrapper/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 04.03.2014, 18:00    Titel: Antworten mit Zitat

Das sieht eigentlich schon recht vielversprechend aus... (war aber mal Zeit endlich auf 0.90.1 upzudaten happy

Eine Frage noch, ist es Möglich diese:
Code:

   Dim choice As TChoice
   Dim choiceItems As TArrayString
   choiceItems.Add ("test")
   choiceItems.Add ("bla")
   choiceItems.Add ("b")

Irgendwie mit BMPs oder FBImages zu benutzen?
Wäre das einzige das mir noch fehlt, dann könnte ich das gut gebrauchen lächeln
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 65
Wohnort: Bayern

BeitragVerfasst am: 04.03.2014, 19:18    Titel: Antworten mit Zitat

Das da sieht auch sehr gut aus: http://www.freebasic.net/forum/viewtopic.php?f=14&t=17058&hilit=FBGUI2. Allerdings muss man da wohl aus einer älteren FB-Version irgendwelche Bibliotheken mit übernehmen, die anscheinend neuerdings nicht mehr mitgeliefert werden.

Aber bei der Arbeit von AffemitWaffel fände ich es toll, wenn diese in den neuen WX-C Designer Eingang fände, der zur Zeit durch MOD in die wxFBE integriert wird. Wenn der so einen übersichtlichen Code erzeugen würde, täte man sich mit der Programmierung in WX-C doch wesentlich leichter als bisher.


Zuletzt bearbeitet von Lothar Schirm am 04.03.2014, 19:55, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 04.03.2014, 19:53    Titel: Antworten mit Zitat

Das sieht auch sehr gut aus lächeln
Leider alles auf russisch :/ hab aber glaube schon alle wesentlichen Elemente gefunden die ich brauche wie die Image ComboBox usw lächeln

danke, werds mir mal genauer ansehen lächeln
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 65
Wohnort: Bayern

BeitragVerfasst am: 04.03.2014, 19:57    Titel: Antworten mit Zitat

Auf Souceforge (auf den Link auf der ersten Seite klicken) kann man sich auch eine englische Hilfedatei herunterladen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 04.03.2014, 20:57    Titel: Antworten mit Zitat

danke, das ist deutlich hilfreicher lächeln

aber nochmal eine frage dazu (fals einer ahnung hat) ists damit möglich so eine ComboBoxImageGadget nur mit images zu erstellen, also keine kleinen icons wie n*n sondern images von zB 400x20 zB?
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 65
Wohnort: Bayern

BeitragVerfasst am: 04.03.2014, 21:03    Titel: Antworten mit Zitat

Also, ich bin nur im englischen Forum drauf gestoßen, habe aber noch nicht damit gearbeitet. Es hat mich aber sehr angesprochen, weil ich auch schon viel mit PureBasic gemacht habe, dem ist es ja nachempfunden. Eigentlich stört mich nur, dass es keinen GUI Designer dazu gibt. Vielleicht wäre es aussichtsreicher, wenn du deine Frage auf der Projektseite in freebasic.net stellst?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RWK



Anmeldungsdatum: 04.07.2011
Beiträge: 44

BeitragVerfasst am: 04.03.2014, 21:30    Titel: Antworten mit Zitat

Also wenn man wirklich was unter Windows basteln will, kommt man meines Erachtens nicht um FireFly umhin.

Vielleicht bin ich auch zu sehr VB6 verdorben, aber ich klickere mir erst immer mein UI zusammen und dann bastele ich den Code zu den einzelnen Widgets ein...und mit FireFly geht das halt wirklich einfach. Und wenn ich den Code der Callbacks bearbeite sehe ich nicht den ganzen Rest an Wust der UI Generierung.

FLTK vom Joshy ist auch super...aber da tue ich mich halt noch mit einfachen Sachen recht schwer...und sei es einfach nur ein zweites Fenster zu öffnen. Und die Beispiele auf der FLTK Seite kann ich auch nicht mal so eben in FB umsetzen.

Das WX-C vom Mod verfolge ich ja auch schon eine ganze Zeit. Aber auch hier fehlt mir eindeutig die Trennung von Frame Code und den Callbacks.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 04.03.2014, 23:12    Titel: Antworten mit Zitat

FireFly fand ich eigentlich recht kompliziert... wenn hätte ich ja am liebsten so was wie bei AutoIt (lange her) das war wirklich einfach, auch das Handling im Code fand ich sehr gut lächeln

Das windows9 dingen sieht eigentlich schon ganz gut aus...

Aber scheinbar gibt es bei keiner GUI (winapi eingeschlossen) so was das ich gern hätte... eine DrowDownListe mit (Vorschau)Bildern zum auswählen... oder kann ich so was einfach nur nirgendwo finden?
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 65
Wohnort: Bayern

BeitragVerfasst am: 07.03.2014, 11:44    Titel: Antworten mit Zitat

RWK hat Folgendes geschrieben:
Also wenn man wirklich was unter Windows basteln will, kommt man meines Erachtens nicht um FireFly umhin.

Vielleicht bin ich auch zu sehr VB6 verdorben, aber ich klickere mir erst immer mein UI zusammen und dann bastele ich den Code zu den einzelnen Widgets ein...und mit FireFly geht das halt wirklich einfach. Und wenn ich den Code der Callbacks bearbeite sehe ich nicht den ganzen Rest an Wust der UI Generierung.


Da muss ich dir zustimmen. Für mich ist generell eine GUI-Bibliothek ohne GUI-Designer nur sehr eingeschränkt brauchbar, eine Bedienoberfläche "von Hand" zu codieren ist einfach zu mühsam und erfordert etliche Iterationsschritte, bis alles passt. Und da ist eigentlich das Angebot an Controls und der Bedienkomfort mit FireFly super. Man braucht auch nicht groß in Header-Dateien oder Dokumentationen herumzuwühlen, um die notwendigen Funktionen zu finden, da man nur unten in die Function Library reinklicken muss und (fast) alles hat, was man so braucht. Ich habe mich jetzt zwar auch in den WX-C Designer eingearbeitet, weil er so schönen schlanken Code erzeugt, aber er ist schon etwas minimalistisch ausgestattet, man kann mit dem Designer nur ein Fenster erzeugen, Nacharbeiten im Design sind schwierig, wenn die Codierung schon weiter fortgeschritten ist, und die Syntax von WX-C finde ich irgendwie sehr gewöhnungsbedürftig. Und statt Window9 würde ich lieber gleich PureBasic verwenden, da hat man dann auch einen Form Designer dabei.

Für unsere Linux-Freunde gibt es so was schönes wie FireFly leider nicht. Die müssen dann mit WX-C oder Glade / GTK zurecht kommen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 07.03.2014, 12:48    Titel: Antworten mit Zitat

Naja, wie gesagt hab ich mir Firefly schon angesehen, es ist zwar ein toller designer und allgmein sehr wünschenswert aber leider konnte ich damit nicht solche comboboxen erstellen wie ich sie gerne wollte (mit vorschaubilder zur laufzeit erstellt)

mit windows9 konnte ich immerhin ein minimales beispiel zum laufen kriegen aber effektiv nutzen kann ich es leider auch nicht da jeder windowscreate über die dll geht und ich so keine WM_CREATE Message abfangen kann um weitere daten zu nutzen...

bin grad verzweifelt dabei mir ganz was eigenes auf basis von WinApi zu bauen...
WinApi und ich werden aber keine Freunde happy
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 65
Wohnort: Bayern

BeitragVerfasst am: 07.03.2014, 17:24    Titel: Antworten mit Zitat

WinAPI mag ich auch nicht. Ein kleiner Nachteil für mich bei FireFly, dass ich den Code der Main-Datei nicht verstehe. Aber den versteht man ja bei Visual Studio auch nicht. Ich wünsche Dir bei deinen Bemühungen viel Erfolg!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
arduno



Anmeldungsdatum: 12.05.2011
Beiträge: 252

BeitragVerfasst am: 09.03.2014, 19:42    Titel: Antworten mit Zitat

......Leider alles auf russisch.....

Die gibt es auch im Englischen.

Irgendwo in den letzten20 Seiten wird es angeboten:
http://www.freebasic.net/forum/viewtopic.php?f=14&t=17058

Gruss
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 65
Wohnort: Bayern

BeitragVerfasst am: 10.03.2014, 20:07    Titel: Antworten mit Zitat

Link zu allen Files von window9 einschließlich englischer Hilfe: http://sourceforge.net/projects/guiwindow9/files/

Ich habe jetzt doch mal zwei kleine Programme mit window9 gemacht. Geht super! Nicht allzu komplexe GUIs kriegt man auch ohne GUI Designer ganz gut hin, sonst muss man eben ein bisschen fummeln. Und die einfache Syntax macht einfach Spaß. grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 12.03.2014, 19:02    Titel: Antworten mit Zitat

arduno hat Folgendes geschrieben:
......Leider alles auf russisch.....

Die gibt es auch im Englischen.

Irgendwo in den letzten20 Seiten wird es angeboten:
http://www.freebasic.net/forum/viewtopic.php?f=14&t=17058

Gruss


...

Lothar Schirm hat Folgendes geschrieben:
Auf Souceforge (auf den Link auf der ersten Seite klicken) kann man sich auch eine englische Hilfedatei herunterladen.


Aller guten Dinge sind 3 happy

Lothar Schirm hat Folgendes geschrieben:
Link zu allen Files von window9 einschließlich englischer Hilfe: http://sourceforge.net/projects/guiwindow9/files/


War aber sehr hilfreich, das es den Source auch gibt hatte ich wohl übersehen...

da ich grad mit den Images am basteln war hab ich direkt einen Windows Image Loader über die GDIPlus funktion gebastelt

Direkt Jpg, Png, Gif, Bmp, Ico, Tif Laden, als FBImage oder HBITMAP oder halt GPBITMAP

Code:
'Jpg, Png, Gif, Bmp, Ico, Tif
#Include once "windows.bi"
#include once "win\gdiplus.bi"

Sub Win_LoadImage_Init CONSTRUCTOR
    Using GDIPLUS

    Dim as ULONG_PTR ControlPTR
    Dim as GDIPLUSSTARTUPINPUT GDIPLUSInit
    GDIPLUSInit.GdiplusVersion = 1

    If (GDIPLUSSTARTUP(@ControlPTR, @GDIPLUSInit, NULL) <> 0) THEN
        ?"Fehler"
    End If   
End Sub

Declare Function LoadFBImage(byval Filename as String) as any ptr
Declare Function LoadGDIImage(byval Filename as String) as any ptr
Declare Function LoadWINImage(byval Filename as String, byval BackColor as Integer = &h000000) as HBITMAP

Function LoadFBImage(byval Filename as String) as any ptr
    Using GDIPLUS
        Dim as GPBITMAP ptr Image   = LoadGDIImage(Filename)
      Dim as any ptr      FBImage, pixels
        Dim as Integer      w, h, pitch
        Dim as BitmapData   ImageData
        Dim as UInteger ptr row
        Dim as RECT         rc
       
        If Image = 0 Then Return 0
       
        GdipGetImageWidth(Image, @w)
      GdipGetImageHeight(Image, @h)       
       
        rc = Type(0, 0, w-1, h-1)
        FBImage = ImageCreate(w,h)
        ImageInfo FBImage, ,,, pitch, pixels
       
        GdipBitmapLockBits(Image,Cast(Any Ptr,@rc),ImageLockModeRead ,PixelFormat32bppARGB, @ImageData) ' Lock
            For y As Integer = 0 To h-1
                row = pixels + y * pitch
            For x As Integer = 0 To w-1
                row[x] = cast(Integer Ptr,ImageData.Scan0)[x+y*w]
            Next x
            Next y
        GdipBitmapUnlockBits(Image,@ImageData) ' UnLock       
        GdipDisposeImage(Image)
    Return FBImage
End Function


Function LoadWINImage(byval Filename as String, byval BackColor as Integer = &h000000) as HBITMAP
   Using GDIPLUS
        Dim as GPBITMAP ptr Image = LoadGDIImage(Filename)
        Dim as any ptr      Temp1, Temp2
        Dim as Integer      w,h
        Dim as HBITMAP      hhbitmap
   
        If LOBYTE(LOWORD(GetVersion)) < 6 Then
            Dim As Integer w,h
            GdipGetImageWidth(Image, @w)
            GdipGetImageHeight(Image, @h)
            GdipCreateBitmapFromScan0(w, h, NULL, PixelFormat32bppARGB, NULL, @Temp1)
            GdipGetImageGraphicsContext(Temp1, @Temp2)
            GdipGraphicsClear(Temp2, BackColor or &hff000000)
            GdipDrawImageRectI(Temp2, Image, 0, 0, w, h)
            GdipCreateHBITMAPFromBitmap(Temp1, @hhbitmap, BackColor or &hff000000)
            If Temp1 <> 0 Then GdipDisposeImage(Temp1)
            If Temp2 <> 0 Then GdipDeleteGraphics(Temp2)
        Else
            GdipCreateHBITMAPFromBitmap(Image ,@hhBitmap, BackColor or &hff000000)
        End If
        GdipDisposeImage(Image)
    Return hhbitmap
End Function

Function LoadGDIImage(byval Filename as String) as any ptr
    Using GDIPLUS
        Dim as GPBITMAP ptr Image
        Dim as UInteger     FLen    =   (Len(Filename)*2)+2
        Dim as WString ptr  wbuf    =   allocate(FLen)

        MultiByteToWideChar(CP_ACP, 0, Filename, -1, wbuf, FLen)
   
        GDIPLOADIMAGEFROMFILE( *wbuf, @Image)
        Deallocate(wbuf)
    Return Image
End Function


Beispiel:
Code:

#Include "win_LoadImage.bas"

Screenres 800,600,32

Dim testimage as any ptr = LoadFBImage("test.png")

If testimage Then put(0,0),testimage,pset Else Print "Fehler"

sleep

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz