|
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 |
ALWIM
Anmeldungsdatum: 08.08.2006 Beiträge: 1041 Wohnort: Niederbayern
|
Verfasst am: 28.08.2020, 19:47 Titel: sGUI - Verwendung in Sub? |
|
|
Ich habe folgenden Quellcode in etwa:
Code: | #INCLUDE ONCE "WINDOWS.BI"
'
#include ONCE "sGUI\sGUI.bas"
#include once "sGUI\ComboBox.bas"
using sGUI
DECLARE SUB DATEI_LADEN
SCREENRES 640, 640, 32,, &h04
InitGFX
' ComboBox aktivieren/definieren
DIM AS EventHandle PTR event=new EventHandle
DIM AS Gadget PTR ComboBox=AddComboBox (event,110,156,42,40)
FOR j = 1 TO 195
TO_AppendLine(ComboBox,STR(j))
NEXT
UpdateGadget(ComboBox)
SetComboBoxVal(ComboBox,1)'Eintrag 1 auswählen
GadgetOff(ComboBox)
DIM AS INTEGER mausx, mausy, wheel, mausk
DO
GETMOUSE mausx, mausy, wheel, mausk
' Datei laden
SELECT CASE mausx
CASE 80 TO 140
SELECT CASE mausy
CASE 300 TO 350
DATEI_LADEN ' Textdatei wird geladen
SetComboBoxVal(ComboBox, 1) ' Eintrag 1 wird definiert
END SELECT
END SELECT
IF MULTIKEY(&h01) THEN END
SLEEP 1
LOOP
SUB DATEI_LADEN
' Textdatei laden und auf dem Bildschirm anzeigen
END SUB |
Beim Aufruf der SUB Datei_laden, zeigt der mir auf dem Bildschirm den Inhalt der Textdatei an (wird in der SUB DATEI_LADEN auf dem Bildschirm angezeigt). Leider ist es so, dass nach dem Aufruf von "SetComboBoxVal(ComboBox, 1)" ein paar Leerzeichen angezeigt werden. Diese überdecken das andere angezeigte, den geladenen Text. Nicht gerade Optimal! Kann ich irgendwas machen, dass nach dem Aufruf von "SetComboBoxVal(ComboBox, 1)" keine Leerzeichen angezeigt werden? In der Sub, kann ich "SetComboBoxVal(ComboBox, 1)" nicht aktivieren, da ich eine Fehlermeldung bekomme. ComboBox nicht deklariert? Gibt es eine Möglichkeit, "SetComboBoxVal(ComboBox, 1)" in der Sub zu aktivieren/setzen? Problem ist, dass die ComboBox nicht auf der aktiven Seite angezeigt wird! Ich habe mehrere Bildschirmseiten und nur auf der Seite 3 wird die Box aktiviert.
Ich kann ja schlecht, 2x den Inhalt der Datei auf dem Bildschirm anzeigen lassen. Das wäre nicht gerade Optimal.
Edit: Jetzt habe ich eine Idee?! Mal schauen, ob das klappt...
Wahrscheinlich nicht. _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4601 Wohnort: ~/
|
Verfasst am: 28.08.2020, 21:16 Titel: |
|
|
Zur zweiten Frage:
Eine SUB folgt ganz normal den Sichtbarkeitsregeln, die für Variablen nun einmal gelten: lokale Variablen im Hauptprogramm (wie hier ComboBox) sind im Unterprogramm nicht sichtbar. Du kannst die Variable z. B. an die SUB als Parameter übergeben, dann kannst du dort auch auf sie zugreifen. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
ALWIM
Anmeldungsdatum: 08.08.2006 Beiträge: 1041 Wohnort: Niederbayern
|
Verfasst am: 28.08.2020, 21:59 Titel: |
|
|
nemored hat Folgendes geschrieben: | Zur zweiten Frage:
Eine SUB folgt ganz normal den Sichtbarkeitsregeln, die für Variablen nun einmal gelten: lokale Variablen im Hauptprogramm (wie hier ComboBox) sind im Unterprogramm nicht sichtbar. Du kannst die Variable z. B. an die SUB als Parameter übergeben, dann kannst du dort auch auf sie zugreifen. |
Stimmt! An diese Möglichkeit habe ich gar nicht dran gedacht. Vielen herzlichen Dank für die Info! Müsste jetzt funktionieren. Zumindest sieht es auf den ersten Blick danach aus. Musste den Quellcode dafür leider etwas umschreiben. Wollte ich zwar vermeiden, aber wenn es nicht anders geht, hilft es nicht... _________________ SHELL SHUTDOWN -s -t 05 |
|
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.
|
|