 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 19.03.2014, 13:16 Titel: |
|
|
Hi Eternal_Pain,
das ist wirklich ein sehr interessantes und nützliches Projekt! Gerade im Windows-GUI-Bereich hat das FreeBASIC-"Ökosystem" ja noch einige "Marktlücken". So eine vereinfachende Abstraktionsschicht über dem WinAPI verringert natürlich die Einstiegsbarriere. Und du nimmst damit anderen die umfangreiche Recherche und Pionierarbeit ab.
Ich finde, an dem Projekt solltest du auf jeden Fall dranbleiben!
Übrigens: Wenn du Interesse hast, könntest du auch gerne ein SVN-Repository auf dem Server dafür verwenden. Dann bräuchtest du Neuerungen nur noch per TortoiseSVN oder so aus dem Explorer heraus "einchecken" und die User könnten ihre Lib-Version ebenso einfach aktuell halten.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 19.03.2014, 19:19 Titel: |
|
|
Das Projekt ist eigentlich mehr aus der Not heraus als Nebenprojekt entstanden, immer wieder mal braucht man mal ein kleines Benutzermenü um seine Funktionen auch anderen 'Benutzerfreundlich' zur Verfügung stellen zu können.
Die meisten APIs wie GTK, wxWidgets... sind mir eigentlich zu kompliziert, VANYA aus dem englischen Forum hat eigentlich schon sehr schöne Arbeit mit seinem Windows9 geleistet, aber letztendlich gefiel es mir dann wegen meiner Extrawünsche auch nicht so wirklich
Einiges (besonders die Image Funktionen) habe ich mir von seinem Code aber abgeguckt und hier und da ist und wird es sicher eine Hilfe sein wenn ich das ganze noch erweitere
Leicht ist der Umgang mit der WinAPI aber wirklich nicht, so (kann man auch im Forum sehen) brauche ich bei fast jedem neuen Element das ich hinzufügen möchte ein wenig Hilfe.
Zur SVN, das klingt ganz gut Auch wenn ich noch nie eine verwendet habe.
Ansonsten bemühe ich mich natürlich dieses Projekt noch zu erweitern und zu verbessern... Auch wenn noch lange nicht alles vollständig funktioniert finde ich es sehr viel ansprechender ein Menü schnell und unkompliziert mit ein paar wenigen Zeilen erstellen zu können
Edit: als Hilfe würd ich gern eine chm erstellen, wie die FB Hilfe oder auch VAYAs hilfe zu seinem Windows9...
Hab mir mal das eine oder andere Programm zum erstellen von CHM dateien angeguckt, vielleicht hat aber noch jemand einen guten Tipp für mich?!
Nu funktionieren auch endlich RadioButtons
Code: |
'CreateRadioButton(Fenster Item, Erster RadioButton der Gruppe, X Position, Y Position, Text, GruppenFlag)
'
'Fenster Item - Handle zu einem Fenster oder Groupbox das mit CreateNewWindow oder CreateGroupBox erstellt wurde
'Erster RadioButton der Gruppe - Wenn es das erste RadioButton dieser Gruppe ist NULL, ansonsten das zuerst erstellte der Gruppe (Siehe Beispiel)
'X und Y Position sind die Koordinaten des Radiobuttons im Fenster bzw. in der GroupBox
'Text ist der Text hinter dem Radiobutton
'GruppenFlag gibt an ob es eine Neue Gruppe ist (1 für das erste Radiobutton der Gruppe) oder zu einer bereits bestehenden Gruppe gehört (0)
Dim as Item Main = CreateNewWindow(450,280,"Windows Ext.")
Dim as Item Group1 = CreateGroupBox(Main,10,100,430,160,"Group")
'Methode 1
'mit RadioButtonGroup wird eine neue Radiobutton Gruppe gestartet
'mit RadioButtonAdd wird ein Radiobutton zu einer bestehenden Gruppe hinzugefügt
Dim as Item Radio1 = RadioButtonGroup(Main , 100, 10, "Radio 1 Group 1")
Dim as Item Radio2 = RadioButtonAdd (Radio1, 100, 30, "Radio 2 Group 1")
Dim as Item Radio3 = RadioButtonAdd (Radio1, 100, 50, "Radio 3 Group 1")
'Methode 2
Dim as Item Radio4 = CreateRadioButton(Group1, NULL , 10, 20, "Radio 1 Group 2", 1)
Dim as Item Radio5 = CreateRadioButton(Group1, Radio4, 10, 40, "Radio 2 Group 2", 0)
Dim as Item Radio6 = CreateRadioButton(Group1, Radio4, 10, 60, "Radio 3 Group 2", 0)
SetRadioButtonState(Radio3,TRUE) 'das dritte der ersten gruppe auch checked setzen (unchecked automatisch alle anderen der gruppe)
SetRadioButtonState(Radio4,FALSE) 'das erste (automatisch aktivierte) RadioButton unchecked setzen, somit sind keine mehr gesetzt
|
 _________________
 |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 20.03.2014, 23:31 Titel: |
|
|
Es geht zwar nur langsam voran, aber es macht Spaß es stück für stück wachsen zu sehen.
Zeitgleich bemühe ich mich neben den Code auch eine Hilfe im praktischen .chm Format dabei zu schreiben...
Bis ich mit der SVN so richtig klar komme (keine Ahnung was ich da falsch mache) kann man den Aktuellen Stand aber auch einfach als ZIP laden.
http://users.freebasic-portal.de/eternalpain/WEG.zip
Anbei Danke für den FTP im Portal
So muss ich nicht bei jeder kleinen Änderung das Porticula voll machen  _________________
 |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1278 Wohnort: Ruhrpott
|
Verfasst am: 21.03.2014, 09:03 Titel: |
|
|
Hallo Eternal_pain!
Ich kann mich der Meinung von Sebastian nur anschließen: Super Projekt!
Die Programmlogik ist dem ersten Eindruck nach (zumindest für jemanden, der sich schon einmal mit Win-API-Programmierung befasst hat) leicht nachvollziehbar, und der Aufbau der Parameterlisten ist schön systematisch.
Einen Verbesserungsvorschlag hätte ich auch schon: Beim Testen deines Radiobutton-Beispiels ist bei mir ziemlich schnell der Wunsch nach einer .bi aufgekommen, die alle Includes enthält, damit man sich die erforderlichen Dateien nicht jedesmal einzeln zusammensuchen muß (auch wenn das den Programmcode aufbläht).
Vielleicht schaffe ich es ja jetzt endlich mal, meinen zahlreichen Konsolen-Helferlein ein zeitgemäßes Aussehen zu verpassen. Bisher war mir das immer zu aufwendig, zumal man auch mit der Konsole mehr machen kann, als man gemeinhin annimmt.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 21.03.2014, 16:13 Titel: |
|
|
grindstone hat Folgendes geschrieben: | Einen Verbesserungsvorschlag hätte ich auch schon: Beim Testen deines Radiobutton-Beispiels ist bei mir ziemlich schnell der Wunsch nach einer .bi aufgekommen... |
Das hat mich selbst schon etwas gestört.. also gesagt und getan... (Update im ersten Post)
Insgesamt ist es wohl leider noch weit entfernt um damit effektiv arbeiten zu können aber es vermittelt schon einmal einen Eindruck wie ich hoffe  _________________
 |
|
Nach oben |
|
 |
Lothar Schirm
Anmeldungsdatum: 24.04.2006 Beiträge: 65 Wohnort: Bayern
|
Verfasst am: 22.03.2014, 19:01 Titel: |
|
|
Du beziehst dich unter anderem auf Vanyas Window9, mit dem ich mich inzwischen sehr angefreundet habe, weil damit die Codierung eines GUI wirklich sehr einfach ist. Leider gibt es keinen GUI Designer dazu, aber das ist ein anderes Thema. Ich finde generell schon, dass es einen Mangel an guten und leicht zu codierenden GUI-Biliotheken mit einer vernünftigen Dokumentation bzw. Hilfe-Datei gibt, und da ist dein Projekt sicher sehr wertvoll. Andererseits liegt mit Window9 die Messlatte für dich sehr hoch, so dass ich dir viel Erfolg wünsche. Mich würde interessieren, was dein Projekt von Window9 unterscheiden wird? |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 22.03.2014, 21:40 Titel: |
|
|
Lothar Schirm hat Folgendes geschrieben: | Du beziehst dich unter anderem auf Vanyas Window9, mit dem ich mich inzwischen sehr angefreundet habe, weil damit die Codierung eines GUI wirklich sehr einfach ist. Leider gibt es keinen GUI Designer dazu, aber das ist ein anderes Thema. Ich finde generell schon, dass es einen Mangel an guten und leicht zu codierenden GUI-Biliotheken mit einer vernünftigen Dokumentation bzw. Hilfe-Datei gibt, und da ist dein Projekt sicher sehr wertvoll. Andererseits liegt mit Window9 die Messlatte für dich sehr hoch, so dass ich dir viel Erfolg wünsche. |
Vielen Dank
Ja, ich muss sagen Windows9 ist doch recht umfangreich, da ist mein Projekt vom Umfang her noch sehr weit entfernt... wird aber hoffentlich nach und nach
Lothar Schirm hat Folgendes geschrieben: | Mich würde interessieren, was dein Projekt von Window9 unterscheiden wird? |
Ganz allgemein möchte ich das Handling so einfach wie möglich halten, so wird für alle Benutzerelemente für den Benutzer ein Datentyp verwendet, so muss man nicht erst schauen wo wann was deklariert werden muss...
Dann denke ich habe ich ein halbwegs gutes Speichermanagment..
Der Benutzer muss bei Benutzerelementen nicht auf das Löschen oder Freigeben achten, der Destructor erledigt das alles...
Verschiedene Controls... zB das StaticTextItem vs TextGadget... hier muss man bei mir keine Höhe und Breite angeben, versuchen oder berechnen, solche Dinge macht das Item intern von selbst... bei anderen hat man wiederum die option ob es automatisch geschehen soll... zB ein ImageItem...
Aber wie gesagt bin ich noch weit vom effektiven nutzen weg... _________________
 |
|
Nach oben |
|
 |
Lothar Schirm
Anmeldungsdatum: 24.04.2006 Beiträge: 65 Wohnort: Bayern
|
Verfasst am: 23.03.2014, 16:35 Titel: |
|
|
Eternal_pain hat Folgendes geschrieben: |
Verschiedene Controls... zB das StaticTextItem vs TextGadget... hier muss man bei mir keine Höhe und Breite angeben, versuchen oder berechnen, solche Dinge macht das Item intern von selbst... |
Bei PureBasic gibt es eine sogenannte Dialog Library. Damit kann man ein GUI im XML-Format definieren, ohne Position und Abmessungen der Gadgets festzulegen, das macht sich sozusagen automatisch. Könnte das für dich hilfreich sein? |
|
Nach oben |
|
 |
|
|
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.
|
|