|
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 |
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 29.10.2005, 23:29 Titel: Visual freeBASIC |
|
|
Vor einiger Zeit ist im FB-Forum die Frage nach einem FB-Gui-Toolkit aufgetaucht. Sebi meinte dazu, dass diese Aufgabe auch für einen einzelnen Progger schaffbar wäre. => Ausprobieren
Nun, hier seht ihr das Ergebnis der ersten 6 Arbeitstage.
Inhalt des Archivs:
test.exe - Eine kleine Vorschau auf die Fähigkeiten des Progs.
VisualFB.bi - Alle Deklarationen, Typen, Globale Variablen
DrwCtrls.bas - Zeichnet alle Controlls
ManageCtrls.bas - Verwaltet die Controlls
FBF.bas - Font-Routine
Test.bas - Testet die einezelnen Funktionen vom Paket
OEM.FBF - die Font-File
VFB.FBS - die FB-Sitzung
Um ein GUI zu erstellen, muss, fast wie in VB nur noch ein UDT ausgefüllt, und dieser dann eingetragen werden. Das könnte z.B. so aussehen:
Code: | Title = "Mein Fenster"
Dim Form As FormType
With Form
With .p
.x1 = 100
.y1 = 100
.x2 = 500
.y2 = 500
End With
.capt = StrPtr(Title)
.back = CL_Window
With .state
.actualize = 1
.disabled = 0
.front = 1
.min = 0
.max = 0
.minbtn = 1
.maxbtn = 1
.closebtn = 1
End With
End With
hWnd = AddCtrl(Form) |
Für Später habe ich mir auch die "klassischen VB-Events" vorgenommen, z.B. Aufruf einer Prozedur, wenn auf ein Controll geklickt wird.
Was bereits funktioniert, ist das Ändern der Poistion und des Status der Controlls.
Sobald das alles mal Funktioniert, möchte ich auch eine echte IDE erstellen, so dass man - wie in VB - per Mausklick sein GUI erstellen kann, und dabei nicht auf die Vorzüge von FB verzichten muss.
Seht euch die Codes an, und sagt mir, was ihr davon haltet.
Danke.
have a nice day
Ciao _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
|
Lutz Ifer Grillmeister
Anmeldungsdatum: 23.09.2005 Beiträge: 555
|
Verfasst am: 30.10.2005, 13:47 Titel: |
|
|
Servus!
Zitat: | Forbidden! 403 - Hotlinking not allowed |
Gruß
Lutz Ifer |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 30.10.2005, 13:49 Titel: |
|
|
@Lutz Ifer
Ein kleiner Workaround: geh auf
http://dhost.info/
und ändere dann die Adresszeile zu
http://dhost.info/siteofkaos/freeBASIC/VFB.zip
dann gehts
@Dusky_Joe
sieht Interrasant aus, wobei das Beispiel etwas Abstrakt ist.
Mal ne Frage: Willst du das Sleep1 beihalten oder durch einen echten Event-Manger ersetzten?
Und wird dein Projekt irgendwann mal Multi-Tasking unstützung haben ?
Versteh's nicht Falsch, aber es wirkt irgendwie wirkt dein Programm wie ein Fake-OS aus QBasic zeiten ... _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 31.10.2005, 17:46 Titel: |
|
|
Irgendwann soll schon mal ein echter Event-Manager rein, deswegen auch die Comments CheckKey und CheckMouse (oder wie ich sie genannt habe).
Dazu (so habe ich mir gedacht), wäre dann das Array Actions() im Type Controlltye. Der Index dieses Arrays würde dann ein Event (wie z.B. Klick) bezeichnen. Der Wert wäre ein Pointer auf ein Programm, dass bei dem entsprechenden Event aufgerufen wird.
Das Sleep 1 erfüllt mehr oder weniger keinen Zweck, es soll nur den Prozessor ein bisschen entlasten - Tipp vom Igel.
Ein Fake-OS... naja, man könnts damit vergleichen, auch wenns nicht wirklich mein Ziel ist. Das Endergebnis sollte eigentlich eine IDE sein, wie man sie aus VB kennt.
Wenn du so willst, ist mein Ziel also kein Fake-OS, sondern eher ein Fake-OS-Maker
Die Beispiele:
Zugegeben - es wird wohl selten vorkommen, dass man ein Prog erstellt, bei dem sich der Button bewegen soll. Das ganze war eigentlich auch nur als Test von SetCtrlRPos gedacht. Diese Funktion wird man als User wohl recht selten einsetzen, das übernimmt dann das Endprogamm intern.
Sprich, die VB-Zeile
Button.x1 = 70
Würde dann interpretiert zu
SetCtrlRPos GetHandle("Button"), p
oder so....
Verdammt, wird das kompliziert
Ich hoffe bloß, dass das ganze nicht zu langsam wird...
@ Lutz Ifer:
Ein anderer Walkaround: Wenn du diesen Link benutzt:
http://dhost.info/siteofkaos/freeBASIC/
Bekommst du einen Index des Verzeichnisses. Das meiste, was da so rumliegt, gehört noch zur Befehlsreferenz, auf jeden fall sollte auch die VFB drin liegen.
Allerdings sollte schon einfaches kopieren der Adresse in die Adresszeile des Browsers genügen _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
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.
|
|