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, 4, 5, 6 ... 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
Muttonhead



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

BeitragVerfasst am: 27.04.2012, 21:24    Titel: Antworten mit Zitat

http://muttonhead.homepage.t-online.de/data/Tester.zip

Test einer MultiLineBox.
Das Ganze ist noch kein Control, aber nun schon mehr als eine Idee.

derzeit sind als Editiermöglichkeiten nur DEL und BACKSPACE möglich.

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



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

BeitragVerfasst am: 27.04.2012, 22:20    Titel: Antworten mit Zitat

Ui, das sieht doch schon mal ganz schön aus. lächeln
_________________
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: 561
Wohnort: Jüterbog

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

Wäre nett, wenn mal jemand es ausprobieren und etwas zur Geschwindigkeit sagen könnte.
Also wie scrollt es und wie schnell ein Zeilenumbruch erfolgt.
Die Zeilenlänge sollte vermutlich keine Rolle spielen
Bin bei dieser Zeilenzahl auf meiner Mühle etwas irritiert.

http://muttonhead.homepage.t-online.de/data/Tester.zip

Mutton happy


Zuletzt bearbeitet von Muttonhead am 01.05.2012, 05:42, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 192
Wohnort: Frankreich

BeitragVerfasst am: 02.05.2012, 07:38    Titel: Antworten mit Zitat

Muttonhead hat Folgendes geschrieben:
Wäre nett, wenn mal jemand es ausprobieren und etwas zur Geschwindigkeit sagen könnte.
Also wie scrollt es und wie schnell ein Zeilenumbruch erfolgt.


Hallo Muttonhead !

Dein MultiLineEditBox ist ein hübsch Program. Für mich es funktioniert perfekt. Ich habe kein Problem mit Geschwindigkeit gefunden.

lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 02.05.2012, 09:28    Titel: Antworten mit Zitat

Läuft hier ganz gut. bzgl. Geschwindigkeit oder CPU-Auslastung gibts überhaupt keine Probleme.

Was man hinsichtlich usability wahrscheinlich ganz einfach verbessern könnte wäre die Unterstützung des Mausrades. Ebenfalls einfach zu Implementieren sind möglicherweise die Unterstützung für die Tasten, "Ende" bzw. "Pos 1" sowie "Bild Auf" und "Bild Ab".

Der große Cursor hat für mich den Eindruck, als würde man die folgenden Zeichen überschreiben - und nicht einfügen. Allerdings bin ich wohl hierbei von alten Editoren der DOS-Ära voreingenommen. Hier war es gängig für den Überschreibmodus einen vollen Cursor (wie bei deinem Editor) und für den Einfügemodus nur einen dickeren Unterstrich (so wie mans z.B. aus der Eingabeaufforderung kennt) zu verwenden.

Ich persönlich vermisse sehr das Scrollen durch ziehen der Auswahl außerhalb des Bereichs des Editorfensters. Da es keine Auswahl gibt und auch das Abfragen der Mauskoordinaten außerhalb des Fensters möglicherweise (hinsichtlich mehrerer Plattformen) problematisch werden könnte schätze ich das allerdings als zu großen Implementationsaufwand ein.

Ich muss aber dazusagen, dass ich im Allgemeinen kein wirklicher Freund von GUIs in FB bin bzw. für diese nur ein begrenztes Einsatzgebiet (z.B. Spiele) sehe, da die fixe Fenstergröße einfach hinderlich ist.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MilkFreeze



Anmeldungsdatum: 22.04.2011
Beiträge: 116

BeitragVerfasst am: 02.05.2012, 12:17    Titel: Antworten mit Zitat

Ich war mal so frei und hab unterstützung für Pos1 und End(e) eingebaut.

http://d.pr/f/ksAP

P.S.: Schöner code, aber ein paar Kommentare mehr würden nicht schaden.
_________________
Milch ftw grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Muttonhead



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

BeitragVerfasst am: 04.05.2012, 17:20    Titel: Antworten mit Zitat

Vielen Dank an alle die es getestet haben!!

Zitat:
Ich muss aber dazusagen, dass ich im Allgemeinen kein wirklicher Freund von GUIs in FB bin bzw. für diese nur ein begrenztes Einsatzgebiet (z.B. Spiele) sehe, da die fixe Fenstergröße einfach hinderlich ist.

@St_W:
[spaß]
mich hat auch schon gewundert,das du dich in die Niederungen des Testens solcher Projekte begibst[/spaß] grinsen

@MilkFreeze:
Oha... und du hast dich nicht im Code verirrt!! Respekt und Danke fürs Erweitern lächeln

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



Anmeldungsdatum: 22.04.2011
Beiträge: 116

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

Muttonhead hat Folgendes geschrieben:

@MilkFreeze:
Oha... und du hast dich nicht im Code verirrt!! Respekt und Danke fürs Erweitern lächeln

Mutton


Naja, er ist etwas unaufgeräumt, aber ich hab mich schon in schlimmeren Zurecht gefunden. Wenn mir noch was zum einbauen einfällt, werd ich mich mal wieder ransetzen lächeln
_________________
Milch ftw grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 05.05.2012, 16:10    Titel: Antworten mit Zitat

Post 98000 grinsen

Die Multilinebox gefällt mir schon sehr gut, alles in allem ist sGUI die von mir am meisten beworbene FBgfx GUI.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Muttonhead



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

BeitragVerfasst am: 27.05.2012, 19:11    Titel: Antworten mit Zitat

mal nen neues Release ins Portal gestellt
http://www.freebasic-portal.de/downloads/sonstiges/sgui-192.html

Mutton
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 03.06.2012, 11:53    Titel: Antworten mit Zitat

Du solltest deine englischen Fans im Auge behalten, ich hatte doch gesagt, dass deine GUI Potenziale hat. zwinkern

Ich hab schon versucht, die ein oder andere Hilfestellung zu geben, die Übersetzung deiner Referenz wäre aber sicher nicht schlecht (zumindest stichpunktartig übersetzen).

Um ein Gadget readonly zu machen, hab ich nur GadgetSleep gefunden, vielleicht gibt es ja da noch eine andere Möglichkeit, oder du willst eine einbauen, falls es keine gibt. zwinkern

Deine Aussage hier ist aber auch nicht gut, du hast wirklich ein sehr überzeugendes Projekt abgeliefert, stell dein Licht nicht unter den Scheffel. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Muttonhead



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

BeitragVerfasst am: 03.06.2012, 16:43    Titel: Antworten mit Zitat

@MOD:
Der Schüler Muttonhead bemüht sich um Besserung
grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Eternal_pain



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

BeitragVerfasst am: 04.06.2012, 23:30    Titel: Antworten mit Zitat

Hab mir Deine GUI gerade mal angesehen und ein wenig mit herum gespielt (Demo_Activation.bas)
Alles in allem sehr schön und grösstenteils 'relativ' einfach, für mich persönlich sind ja die deutschen kommentare ein zusätzliches Highlight grinsen
Würde deine GUI gerne als BASIS für eine OpenGL GUI nutzen, muss mich allerdings noch ein wenig in den Draw Funktionen durchwuseln...

Bemerkte beim rumspielen mit meinem lieblingsgadget der Scrollbar ein
kleinen fehler...

Soweit ich das erkennen konnte müsste sich die Funktion in etwa so verhalten
Zitat:

[Function] AddScrollBar (Handle, StartX, StartY, Length, Min_Value, Max_Value, Start_Value, SS , HV)

Handle: Zeiger auf ein Event Handle

StartX: Horizontale Start Position in Pixel
StartY: Vertikale Start Position in Pixel
Length: Länge/Höhe in Pixel

Min_Value : kleinster anzunehmeder Wert
Max_Value : grösster anzunehmender Wert
Start_Value: Initiations-/Start- Wert
SS : grösse des "Scrolldingens"
HV : Horizontal(0)/Vertikal(1)


Was sie abgesehen von Max_Value auch tut, je nach grösse des 'Scrolldingens' komm ich nicht auf Max_Value, bei der voreingestellten grösse in der Demo von 30 komme ich nur auf einen Wert von 71 bei eingestellter Max_Value von 100, bei grösse 10 auf 91, es fehlen immer 'grösse des scrolldingens -1' happy
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Muttonhead



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

BeitragVerfasst am: 05.06.2012, 07:15    Titel: Antworten mit Zitat

tatsächlich soll dies so sein!
Das liegt an der sogenannten Pagegröße
Diese beeinflußt die Größe des Knobs(Schiebereglers) im Container.
Aber auch der Bereich des Rückgabewertes wird dadurch verändert.

Es nämlich die Frage was du (an)scrollen willst:
- einen bestimmten Wert zwischen min und max
- oder einen Bereich zwischen min und max

Beispiel:
angenommen du hast 100 Zeilen und kannst davon 30 gleichzeitig sehen
Das bedeutet als Parameter für die Pagegröße 30.

Der Returnwert geht nun nur noch von 1 bis 71
Er liefert "nur noch" die oberste Zeile des Scrollfensters/Bereiches!!!!

ein kleineres Beispiel:

Code:

10 Zeilen/ 3 gleichzeitig sichbar
x gleichzeitig sichtbare Zeilen/ Pagegröße
< ist der Rückgabewert

Scrollbar am Textanfang
1 x<  Rückgabewert 1
2 x
3 x
4
5
6
7
8
9
10


Scrollbar am Textende
1
2
3
4
5
6
7
8 x<  maximaler Rückgabewert 8
9 x
10x




Also wenn du alle Zeile oder alle Elemente anscrollen willst, muß die Pagegröße=1 sein
Dann schrumpft der Knob aber auf eine feste Minimalgröße

ps:
ein paar Bilder aus der grad entstehenden Referenz,
vielleicht erklären die das Verhalten ewas besser:
Pagesize=1

Pagesize>1

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



Anmeldungsdatum: 05.12.2011
Beiträge: 192
Wohnort: Frankreich

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

Hallo Muttonhead !

Zuerst, ich bitte Entschuldigung für mein schlecht Sprache.

Ich habe eine Frage über mein Schachprogramm.

Da ist mein Code:

Code:
do
  event->xSleep(1)
  if event->GADGETMESSAGE then
    select case event->GADGETMESSAGE
      case textedit
        s=GetString(textedit)
        SetString(textedit,"")' Zug löschen
        strToCoup(s, monCoup)
        mouvement(monCoup, courante)' Zug spielen
        dessineTablier(10,10)
        SetString(textedit,"...")' Computer "denkt"
        variantes
        SetString(textedit,"")' Nun du kannst wieder spielen
    end select
  end if
loop until event->EXITEVENT


Ich möchte, wenn die Arbeit des Computers ist beendet, das Cursor automatisch wieder zu sehen, um zu wissen das ich kann spielen.

Ist es möglich ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Muttonhead



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

BeitragVerfasst am: 10.06.2012, 15:33    Titel: Antworten mit Zitat

@Francis: Leider nein, der User muß erst in das Control klicken... traurig

Ich versuch mal eine Lösung für dich zu finden

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



Anmeldungsdatum: 05.12.2011
Beiträge: 192
Wohnort: Frankreich

BeitragVerfasst am: 10.06.2012, 15:46    Titel: Antworten mit Zitat

Muttonhead hat Folgendes geschrieben:
@Francis: Leider nein, der User muß erst in das Control klicken... traurig

Ich versuch mal eine Lösung für dich zu finden

Mutton


Danke !

lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Muttonhead



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

BeitragVerfasst am: 10.06.2012, 16:21    Titel: Antworten mit Zitat

Testversion:
http://www.freebasic-portal.de/porticula/modifizierte-stringgadget-bas-1527.html

@Francis:
Bitte tausche die StringGadget.bas im sGUI Ordner aus!!

AddStringGadget hat nun 8 Parameter(!)
Hinzu gekommen ist Focus. Wenn Focus =1 dann hält das Control auch nach Return den Focus bis ein anderes
Control angeklickt wurde.

Code:

AddStringGadget(event,10,50,10,"t",,,1)


Vielleicht auch noch das Control in den SLEEP Modus setzen, während der Computer denkt...

Code:

do
  event->xSleep(1)
  if event->GADGETMESSAGE then
    select case event->GADGETMESSAGE
      case textedit
        s=GetString(textedit)
        SetString(textedit,"")' Zug löschen
        GadgetSleep(textedit)'<---?
        strToCoup(s, monCoup)
        mouvement(monCoup, courante)' Zug spielen
        dessineTablier(10,10)
        SetString(textedit,"...")' Computer "denkt"
        variantes
        SetString(textedit,"")' Nun du kannst wieder spielen
        GadgetOn(textedit)'<---?
    end select
  end if
loop until event->EXITEVENT


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



Anmeldungsdatum: 05.12.2011
Beiträge: 192
Wohnort: Frankreich

BeitragVerfasst am: 10.06.2012, 17:31    Titel: Antworten mit Zitat

Perfekt !

Vielen Dank, Mutton !

Ich werde testen.


happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 192
Wohnort: Frankreich

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

hervorragend !

Code:
'#include once "sGUI\StringGadgetOld.bas"
#include once "sGUI\StringGadget.bas"


Code:
textedit=AddStringGadget(event, 10, 10 + 320 + 32, 5, "e2e4",,,1)


Code:
        GadgetSleep(textedit)
        strToCoup(s, monCoup)
        mouvement(monCoup, courante)
        dessineTablier(10,10)
        'SetString(textedit,"...")
        variantes
        'SetString(textedit,"")
        GadgetOn(textedit)



happy
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, 4, 5, 6 ... 12, 13, 14  Weiter
Seite 5 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