|
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 |
tom_verbatim
Anmeldungsdatum: 03.02.2007 Beiträge: 53
|
Verfasst am: 15.02.2007, 09:54 Titel: Fenster erstellen ohne Rahmen und min/max Button? |
|
|
Hallo,
hat jemand eine Idee, wie ich ein Fenster erstellen kann,
das exakt an der Position x,y auf dem Bildschirm ist, rahmenlos ist und auch keinerlei min/max Buttons(klar, wenn kein Rahmen da ist) hat?
Müßte wahrscheinlich irgendwie über die API-Funktionen gehen oder ?
Wie würdet Ihr das Vorhaben umsetzen ?
Hat jemand das evtl. schon mal hinbekommen?
Gruß Tom |
|
Nach oben |
|
|
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 15.02.2007, 10:20 Titel: |
|
|
Ich geh mal davon aus, dass du das für VB brauchst?
Dann müsste das imho auch einfacher gehen.
Jedenfalls muss als WindowStyle "WS_VISIBLE or WS_POPUP" angegeben werden. Sorgt dafür, dass dein Fenster sichtbar ist, aber (wie ein PopUp-Menü) keinen Rahmen und keine Caption hat.
Poste dann evtl. noch ein Beispiel zu... _________________ Eine handvoll Glück reicht nie für zwei.
--
|
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 15.02.2007, 11:10 Titel: |
|
|
Falls du FreeBASIC meinst, dann kannst du das, egal ob linux oder windows, mit dem Screen Befehl machen:
Code: |
#include "fbgfx.bi"
Screen 18,24,, GFX_NO_FRAME 'das GFX_NO_FRAME sorgt dafür, das keine Fensterleiste zu sehen ist'
Dim i As Integer
Sleep 100,1
For j = 1 to 4
For i = 1 to 500 Step 10
screencontrol(SET_WINDOW_POS, i, 250) 'mit screencontrol kann man u.a. die position des Fensters ändern, 2. parameter ist die x position, 3. parameter die y position'
Sleep 10, 1
Next i
For i = 500 to 1 Step -10
screencontrol(SET_WINDOW_POS, i, 250)
Sleep 10, 1
Next i
Next j
Sleep |
Eventuell benötigst du eine neue FreeBASIC version. _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
|
tom_verbatim
Anmeldungsdatum: 03.02.2007 Beiträge: 53
|
Verfasst am: 15.02.2007, 11:47 Titel: |
|
|
Hi Mao,
ja schon von VB aus, aber das Handling soll von Freebasic aus passieren,
ich will das Fenster über eine dll aufrufen und wie gesagt, daß Fenster soll Rahmenlos sein und an Position x,y fest verankert, bis ich es per dll wieder schließe...
@Programmierer
Danke für den Code, nur der Compiler kennt wohl den Befehl "screencontrol" nicht, bekomme jeweils in den Zeilen folgende Meldung
C:/Programme/FreeBASIC/rahmenlos.bas(11) : error 68: Array not dimensioned, before: '('
screencontrol(SET_WINDOW_POS, i, 250)
Gruß
tom |
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 15.02.2007, 12:04 Titel: |
|
|
Dann brauchst du eine neuere FreeBASIC Version.
Welche FBC version benutzt du zur Zeit? _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
|
tom_verbatim
Anmeldungsdatum: 03.02.2007 Beiträge: 53
|
Verfasst am: 15.02.2007, 12:23 Titel: die aktuellste |
|
|
ich denke ist wohl die aktuellste, die ich habe
compilerversion ist die 0.16
tom |
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 15.02.2007, 12:31 Titel: |
|
|
Dann wäre es empfehlenswert die 0.17 testing herunterzuladen, da ist es glaube ich schon eingebaut. Ich benutze immer die CVS Version, somit könnte es auch sein, dass du dir die runterladen musst. _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
|
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 15.02.2007, 12:47 Titel: |
|
|
Und die aktuelle CVS Testing bekommst du hier. _________________ Eine handvoll Glück reicht nie für zwei.
--
|
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 15.02.2007, 12:51 Titel: |
|
|
Das ist aber nicht die CVS version, die ich meine
Ich rede von den "Daily Updates": http://drv.nu/r/2
Das ist immer die Tagesversion, müsste man sonst selber kompilieren, da bekommt man die binaries. _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
|
tom_verbatim
Anmeldungsdatum: 03.02.2007 Beiträge: 53
|
Verfasst am: 15.02.2007, 13:44 Titel: häääää??? |
|
|
jetzt versteh ich gar nix mehr...
habe mir jetzt die Version 0.17 (02-15-2007) installiert und bekomme
MEHR Fehlermeldungen als vorher ?
tom
Compiler output:
C:/Programme/FreeBASIC/inc/test.bas(3) error 41: Variable not declared, GFX_NO_FRAME in 'Screen 18,24,, GFX_NO_FRAME 'das GFX_NO_FRAME sorgt dafür, das keine Fensterleiste zu sehen ist''
C:/Programme/FreeBASIC/inc/test.bas(3) warning 12(0): Implicit variable allocation, GFX_NO_FRAME
C:/Programme/FreeBASIC/inc/test.bas(9) error 41: Variable not declared, j in 'For j = 1 to 4'
C:/Programme/FreeBASIC/inc/test.bas(11) error 41: Variable not declared, SET_WINDOW_POS in 'screencontrol(SET_WINDOW_POS, i, 250) 'mit screencontrol kann man u.a. die position des Fensters ändern, 2. parameter ist die x position, 3. parameter die y position''
C:/Programme/FreeBASIC/inc/test.bas(11) warning 12(0): Implicit variable allocation, SET_WINDOW_POS
Results:
Compilation failed |
|
Nach oben |
|
|
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 15.02.2007, 13:57 Titel: |
|
|
Du musst die Variablen deklarieren, die du verwendest.
z.B:
[code]
Dim DieVariable As Integer
[/coder]
oder mehrere:
[code]
Dim As Integer DieVariable2, NochNeVariable, DritteVariable
[/code] _________________ Eine handvoll Glück reicht nie für zwei.
--
|
|
Nach oben |
|
|
tom_verbatim
Anmeldungsdatum: 03.02.2007 Beiträge: 53
|
Verfasst am: 15.02.2007, 14:09 Titel: ups klar |
|
|
Code: | #include "fbgfx.bi"
Dim i As Integer
dim j as integer
dim SET_WINDOW_POS as integer
dim GFX_NO_FRAME as integer
SET_WINDOW_POS=100
GFX_NO_FRAME=2
Screen 18,24,, GFX_NO_FRAME 'das GFX_NO_FRAME sorgt dafür, das keine Fensterleiste zu sehen ist'
Sleep 100,1
For j = 1 to 4
For i = 1 to 500 Step 10
screencontrol(SET_WINDOW_POS, i, 250) 'mit screencontrol kann man u.a. die position des Fensters ändern, 2. parameter ist die x position, 3. parameter die y position'
Sleep 10, 1
Next i
For i = 500 to 1 Step -10
screencontrol(SET_WINDOW_POS, i, 250)
Sleep 10, 1
Next i
Next j
Sleep |
hätte ich auch selber drauf kommen können *schäm*
nungut, aber wie bekomme ich denn nu das RAHMENLOSE FENSTER
habe mal GFX_NO_FRAME ist paar zahlen verpaßt, aber nichts mit Rahmenlos gefunden, einmal fullbildschirm, dann Rahmen, aber Fenster durchsichtig...
hmmm ? wie kriege ich den Rahmen weg...
tom |
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 15.02.2007, 14:23 Titel: |
|
|
Wenn du die cvs version hast dann musst du "FB." vor set_window_pos und gfx_no_frame setzen. _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
|
tom_verbatim
Anmeldungsdatum: 03.02.2007 Beiträge: 53
|
Verfasst am: 16.02.2007, 11:21 Titel: haäää ? |
|
|
hi programmierer,
hmm????
wo / wie / was ???
wo setzte ich genau FB. davor...
wenn wirklich vor jedem
SET_WINDOW_POS GFX_NO_FRAME
zeigt mir der Compiler diese Fehlermeldung,
Compiler output:
C:/Programme/FreeBASIC/inc/test.bas(4) error 121: Declaration outside the original namespace in 'dim FB.SET_WINDOW_POS as integer'
C:/Programme/FreeBASIC/inc/test.bas(5) error 121: Declaration outside the original namespace in 'dim FB.GFX_NO_FRAME as integer'
Results:
Compilation failed
lasse ich die Deklarationen weg, meckert der Compiler wieder, daß es deklariert werden soll....
also so läuft das nicht:
Code: |
#include "fbgfx.bi"
Dim i As Integer
dim j as integer
dim FB.SET_WINDOW_POS as integer
dim FB.GFX_NO_FRAME as integer
FB.SET_WINDOW_POS=100
FB.GFX_NO_FRAME=2
Screen 18,24,, FB.GFX_NO_FRAME 'das GFX_NO_FRAME sorgt dafür, das keine Fensterleiste zu sehen ist'
Sleep 100,1
For j = 1 to 4
For i = 1 to 500 Step 10
screencontrol(FB.SET_WINDOW_POS, i, 250) 'mit screencontrol kann man u.a. die position des Fensters ändern, 2. parameter ist die x position, 3. parameter die y position'
Sleep 10, 1
Next i
For i = 500 to 1 Step -10
screencontrol(FB.SET_WINDOW_POS, i, 250)
Sleep 10, 1
Next i
Next j
Sleep
|
Gruß Tom |
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 16.02.2007, 11:24 Titel: |
|
|
Code: | #include "fbgfx.bi"
Dim i As Integer
dim j as integer
Screen 18,24,, FB.GFX_NO_FRAME 'das GFX_NO_FRAME sorgt dafür, das keine Fensterleiste zu sehen ist'
Sleep 100,1
For j = 1 to 4
For i = 1 to 500 Step 10
screencontrol(FB.SET_WINDOW_POS, i, 250) 'mit screencontrol kann man u.a. die position des Fensters ändern, 2. parameter ist die x position, 3. parameter die y position'
Sleep 10, 1
Next i
For i = 500 to 1 Step -10
screencontrol(FB.SET_WINDOW_POS, i, 250)
Sleep 10, 1
Next i
Next j
Sleep |
So müsste es eigentlich gehen, vorausgesetzt du hast eine neue FreeBASIC Version. Die Variablen FB.SET_WINDOW_POS, etc sind in der fbgfx.bi dimensioniert, somit brauchst/kannst du das nicht in dem Hauptprogramm dimensionieren _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
|
tom_verbatim
Anmeldungsdatum: 03.02.2007 Beiträge: 53
|
Verfasst am: 16.02.2007, 11:52 Titel: danke |
|
|
danke !!!
jetzt läuft es
gruß tom |
|
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.
|
|