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:

sGUI - eine kleine GUI Simulation
Gehe zu Seite Zurück  1, 2, 3 ... , 12, 13, 14  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Haubitze



Anmeldungsdatum: 14.10.2009
Beiträge: 132

BeitragVerfasst am: 08.06.2019, 22:54    Titel: Antworten mit Zitat

naja was heist workararound...
ich hab mir einfach dein demo win in win genommen und in winA eine scrollbar
erstellt, danach schau ich in der gadgetmessage ob ich ein scrollbar event habe
und update die y position von winB per getscrollbarvalue.
das ich hier nur die y position aender liegt daran das ich hier nur die y position
brauche. ich kann aber auch winA verschieben, das aendert am verhalten
nichts lächeln

das erkennen der controlls funtzt soweit ich das feststellen konnte tip top auch
wenn sie nur zur haelfte oder weniger zu sehen sind lächeln

von daher kannich nur sagen haste alles richtig gemacht ;D
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 564
Wohnort: Jüterbog

BeitragVerfasst am: 09.01.2021, 22:38    Titel: Antworten mit Zitat

... die vergangenen 1 1/2 Jahre hatten so einige private Veränderungen für mich vorgesehen, mal ganz abgesehen von der darniederliegenden Weltgesundheit.
So bin ich erst jetzt wieder dazu gekommen, an meinem Dauerprojekt herum zu werkeln.
Ziel ist es, den alten Funktionsumfang + etwas Fensterspielerei herzustellen.
Soweit bin ich noch nicht, aber es soll werden lächeln!
Was wohl feststeht: alles wird irgendwie anders, von kompatibel kann keine Rede mehr sein :/
Viel Spass beim Herumprobieren mit dem Unfertigen lächeln
Mutton

https://drive.google.com/file/d/1gbfChVnMg-sTOGtiqRoal08xfuTH0v2Y/view?usp=sharing
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 194
Wohnort: Frankreich

BeitragVerfasst am: 10.01.2021, 21:40    Titel: Antworten mit Zitat

Sehr hübsch. Bei mir funktioniert alles (Linux 64). lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 564
Wohnort: Jüterbog

BeitragVerfasst am: 16.04.2021, 23:55    Titel: Antworten mit Zitat

28.04.2021

https://drive.google.com/file/d/1JFI_oW5yJHoS-1RVY8qxD6D6yjc610wq/view?usp=sharing
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 564
Wohnort: Jüterbog

BeitragVerfasst am: 09.05.2021, 20:20    Titel: Antworten mit Zitat

snapshot 13.05.2021:


https://drive.google.com/file/d/1O_BSiIp5DUkInLd1__FB7cZjJeNddHQl/view?usp=sharing
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 564
Wohnort: Jüterbog

BeitragVerfasst am: 01.01.2023, 16:31    Titel: Antworten mit Zitat

...Dinge die die Welt nicht braucht..lächeln
Nochmals der Hinweis, sGUI2 ist absolut nicht mehr kompatibel zur bisherigen Version!!!
https://www.freebasic-portal.de/downloads/sonstiges/sgui2-401.html

Mutton
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4679
Wohnort: ~/

BeitragVerfasst am: 01.01.2023, 18:07    Titel: Antworten mit Zitat

Ob die Welt es braucht, ist mir ehrlich gesagt egal. Ich habe jedenfalls erfreut festgestellt, dass diesmal wieder eine Referenz beiliegt - danke schön! lächeln

(und nachdem ich die Referenz gefunden habe, habe ich sogar im Beschreibungstext gelesen, dass eine drin ist grinsen )
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 564
Wohnort: Jüterbog

BeitragVerfasst am: 29.01.2023, 18:07    Titel: Antworten mit Zitat

PullDownMenü, Font-Printroutinen hinzugefügt, Ref aktualisiert
https://www.freebasic-portal.de/downloads/sonstiges/sgui2-401.html

Wer noch Gadget Ideen hat, her damit! lächeln

Wie sieht es mit Prozessorlast aus?

Mutton
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1047
Wohnort: Niederbayern

BeitragVerfasst am: 01.02.2023, 01:11    Titel: Antworten mit Zitat

Muttonhead hat Folgendes geschrieben:
PullDownMenü, Font-Printroutinen hinzugefügt, Ref aktualisiert
https://www.freebasic-portal.de/downloads/sonstiges/sgui2-401.html

Wer noch Gadget Ideen hat, her damit! lächeln

Wie sieht es mit Prozessorlast aus?

Mutton
Ich habe noch eine Gadget Idee: Wie wäre es mit einem Array Grid? Also ein Grid, wo man etwas eingeben kann? Zum Beispiel Zahlen und Buchstaben. So wie bei Excel oder anderen Programmen.
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 564
Wohnort: Jüterbog

BeitragVerfasst am: 01.02.2023, 06:10    Titel: Antworten mit Zitat

ALWIM hat Folgendes geschrieben:
Ich habe noch eine Gadget Idee: Wie wäre es mit einem Array Grid? Also ein Grid, wo man etwas eingeben kann? Zum Beispiel Zahlen und Buchstaben. So wie bei Excel oder anderen Programmen.


Ich guck mal was da machbar ist. wird aber sehr einfach gehalten sein lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 564
Wohnort: Jüterbog

BeitragVerfasst am: 18.03.2023, 10:21    Titel: Antworten mit Zitat

Dieses Gadget hat es in sich... :/
Für alle, insbesondere ALWIM, die es mal testen wollen.
Ist dieses Ding in irgend einer Weise benutzbar? Kommentare wären äusserst willkommen!

Das Archiv enthält eine Testbench nur fürs DataGrid.
Es musste an etlichen Stellen innerhalb der GUI geschraubt werden, was ich eigentl nicht vor hatte. Darum bedarf es noch einiger Tests ob der Rest so funktioniert wie er soll


https://1drv.ms/u/s!AnmEU4pVCZC7gUkl6fOy1tpDnu-E?e=6CjXIN

Mutton
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4679
Wohnort: ~/

BeitragVerfasst am: 09.08.2023, 18:36    Titel: Antworten mit Zitat

Ich komme erst jetzt dazu, mich ein wenig mit der neuen Version zu beschäftigen (die Version vom FreeBASIC-Portal). Sieht bisher sehr gut aus - ich gestalte aber bisher nur das Layout meiner GUI und habe noch keine Interaktionen eingesetzt. Die Möglichkeit zur eigenen Farbgestaltung gefällt mir. Nur doof, dass ich so schlecht in ästhetischer Gestaltung bin. grinsen
Gibt es eine Möglichkeit, gehoverten Text eines selektierten Objekts in einer anderen Farbe zu setzen als den eines unselektierten Objekts? Ich wollte das nicht selektierte Objekt hell mit schwarzer Schrift und das selectierte dunkel mit weißer Schrift, der Hover-Effekt soll sich nur leicht vom jeweiligen normalen unterscheiden. Dann beißt sich aber immer irgendwo die Schriftfarbe zwischen Hover und Nicht-Hover.

Bei dem "Menü durch Rechtsklick" denke ich sofort an Kontektmenüs. Ich bin noch nicht so weit eingestiegen - gibt es eine einfache Möglichkeit, durch das Mausevent festzustellen, auf welchem Objekt sich die Maus gerade befindet? Dann könnte man ein auf das entsprechende Objekt zugeschnittenes Menü aufrufen.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 564
Wohnort: Jüterbog

BeitragVerfasst am: 09.08.2023, 19:21    Titel: Antworten mit Zitat

Hallo nemored, zum "Farbproblem": du hast recht, der Hovereffekt benutzt nur 3 Farben, Texte/Symbole haben beim Hovern immer die gleiche Farbe. Ich will mal sehen, bis zum Wochenende werd ich dir da eine zusätzliche Farbe einbauen.

Leider gibt es noch keine Möglichkeit, von aussen festzustellen, worüber man sich grad mit der Maus befindet. Muss ich mal sehen, die GUI selbst kann es ja zwinkern.

Derzeit werkel ich noch immer an einer neuen Keyboardverarbeitung herum. Der kleine Versuch des Datagrids hat da einiges an Problemen verusacht, bzw tut es noch immer.
Die beschriebene Art und Weise der Benutzung bleibt aber erhalten.

ps: ganz einfache Lösung für "Worüber befindet sich die Maus" mit guieigenen Boardmitteln...

Code:
#include "sGUI\sGUI.bas"
#include once "sGUI\Gadget_SimpleToggle.bas"
using sGUI

declare sub GetHoveredObjects(byref win as sGUIWindow ptr, byref gad as Gadget ptr)

sGUIScreen 17
InitGUI
color Colors.Pen,Colors.BackGround
cls

dim as Gadget ptr btn_a,btn_b
dim as sGUIWindow ptr win,childwin
win=AddWindow(0,50,75,200,200,"Window",WFLAG_DRAGABLE or WFLAG_FRAMED)
childwin=AddWindow(win,10,10,120,60,"Child Window",WFLAG_DRAGABLE or WFLAG_FRAMED)

btn_a=AddSimpleGadget(0,200,10,60,25,"Btn A")
btn_b=AddSimpleGadget(childwin,30,10,60,25,"Btn B")

ShowWindow(win)
ShowWindow(childwin)
GadgetOn(btn_a)
GadgetOn(btn_b)

dim as sGUIWindow ptr hwin
dim as Gadget ptr hgad
do
  sleep 1
  MasterControlProgram
  if RMB=RELEASE then
    GetHoveredObjects(hwin,hgad)
    print hwin,hgad
    'OpenPopUpMenu(menulist,MOUSEX, MOUSEY)
  end if
loop until SCREENCLOSEBUTTON


sub GetHoveredObjects(byref win as sGUIWindow ptr, byref gad as Gadget ptr)
  win=0
  gad=0
  win=GetWindowPointer
  if win then gad=win->GetGadgetPointer
end sub
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4679
Wohnort: ~/

BeitragVerfasst am: 12.08.2023, 08:06    Titel: Antworten mit Zitat

Lassen sich in einer DropDownListBox einzelne Einträge (de-)aktivieren? Bzw. ich bin mir relativ sicher dass es aktuell nicht geht; aber lässt sich das mit vertretbarem Aufwand umsetzen?

Eine andere Sache ist das String-Gadget, das ja eine (einigermaßen willkürliche) Zeichenlimitierung zulässt. Wenn ich andere Zeichen zulassen will, habe ich bisher die Gadget_String.bas angepasst, was kein so großes Problem ist; aber eigentlich pfusche ich nicht gern im Quelltext externer Bibliotheken herum. Vielleicht wäre es möglich, dem String-Gadget (optional) einen Formatstring mitzugeben, der die erlaubten Zeichen erhält. Ich habe da vor Jahren schon eine Funktion aus Omikron BASIC nachprogrammiert, die eine sehr mächtige Eingabesteuerung erlaubt hat, falls es als Anregung hilft:
https://www.freebasic-portal.de/code-beispiele/maus-tastatur/inputusing-erweiterte-eingabemaske-257.html (insbesondere die Beschreibung von 'control')
Ein Teil der Möglichkeiten ist für das String-Gadget sowieso nicht interessant.

P. S.: Der Beautifier ist auf 'always on top' gesetzt, und ich glaube nicht, dass das Absicht ist. grinsen
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 564
Wohnort: Jüterbog

BeitragVerfasst am: 12.08.2023, 14:03    Titel: Antworten mit Zitat

nemored hat Folgendes geschrieben:
...
P. S.: Der Beautifier ist auf 'always on top' gesetzt, und ich glaube nicht, dass das Absicht ist. grinsen

Muss ich nochmal nachhaken: Was meinst du damit?

zum StringEingabeLimiter:
hier gibt es eine veränderte Gadget_String.bas:
https://www.freebasic-portal.de/porticula/gadgetstring-bas-mit-limitmode-6-1864.html

und hier eine Beispiel damit:

Code:
#include "sGUI\sGUI.bas"
#include once "sGUI\Gadget_String.bas"
using sGUI

sGUIScreen 19
InitGUI
color Colors.Pen,Colors.BackGround
cls

dim as Gadget ptr str_0
str_0=AddStringGadget (0,400,10,300,,6)'6=custom mode, oder so, i don't know

GadgetOn(str_0)
SetAllowedChars (str_0,"1234567890abcdefghABCDEFGH")
SetString(str_0,"")

do
  sleep 1
  MasterControlProgram
  if GADGETMESSAGE then
    select case GADGETMESSAGE
      case str_0
        print "> " & GetString(str_0)
    end select
  end if
loop until SCREENCLOSEBUTTON


Wie du siehst, ein zusätzlicher CharLimitationModus 6,
Mit SetAllowedChars () muss man sich die erlaubten Zeichen zusammenklöppeln.
Wobei ich jetzt wirklich fast geneigt bin, noch so etwas wie in deinem Beispiel bzw nen FormatString ala PrintUsing oder Format mit einzubauen. Das könnte dann die anderen Limiter ersetzen, mal sehen.

Benutzbar?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4679
Wohnort: ~/

BeitragVerfasst am: 12.08.2023, 16:35    Titel: Antworten mit Zitat

Muttonhead hat Folgendes geschrieben:
nemored hat Folgendes geschrieben:
...
P. S.: Der Beautifier ist auf 'always on top' gesetzt, und ich glaube nicht, dass das Absicht ist. grinsen

Muss ich nochmal nachhaken: Was meinst du damit?

Das Fenster in X_00_Beautifier.bas wird initialisiert über
Code:
sGUIScreenRes 1280,800,32

Damit bleibt das Fenster immer im Vordergrund, was ja in diesem Programm nicht nötig ist.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 564
Wohnort: Jüterbog

BeitragVerfasst am: 26.08.2023, 11:25    Titel: Antworten mit Zitat

Aktueller Appetizer:
* es wird bunter... mehr Pens (viel Spass beim Einstellen mittels Beautifier XD )
* Beautifier ist codetechnisch etwas aufgeteilt worden, das erleichtert mir das Einfügen weiterer Pens, so es notwendig sein wird
* in den ListBoxen ist es nun möglich, Einträge als inaktiv zu definieren
* das kleine Hovertool von oben ist nun Bestandteil von sGUI
* intern sind ein paar Bezeichner neu
* eine color-scheme-Datei, erzeugt vom Beautifier, wird jetzt mit eingebunden
* das Menüsystem hat RadioButtons hinzubekommen
* im StringGadget ist der oben beschriebene Zeichenlimiter eingebaut (Modus 6)

Mutton
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 194
Wohnort: Frankreich

BeitragVerfasst am: 16.01.2024, 07:12    Titel: Antworten mit Zitat

Wird diese neue Version bald verfügbar sein? lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 564
Wohnort: Jüterbog

BeitragVerfasst am: 27.01.2024, 17:43    Titel: Antworten mit Zitat

neuer Appetizer...

An zu vielen Stellen ist herumgeschraubt worden. Das Interface ist aber beibehalten worden.
Generell gibt es nun keine zusammengesetze Gadgets mehr. Diese sind jetzte Child-Window-Branches.

Ein neues Gadget ist hinzu gekommen: eine Art Datagrid
Viel Spass beim herumprobieren
https://www.freebasic-portal.de/downloads/sonstiges/sgui2-401.html
ps:natürlich war auch gleich ein bugfix nötig
Mutton
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 194
Wohnort: Frankreich

BeitragVerfasst am: 17.03.2024, 19:32    Titel: Antworten mit Zitat

Sehr, sehr schön!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2, 3 ... , 12, 13, 14  Weiter
Seite 13 von 14

 
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