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:

Fenster erstellen ohne Rahmen und min/max Button?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
tom_verbatim



Anmeldungsdatum: 03.02.2007
Beiträge: 53

BeitragVerfasst am: 15.02.2007, 09:54    Titel: Fenster erstellen ohne Rahmen und min/max Button? Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 15.02.2007, 10:20    Titel: Antworten mit Zitat

Ich geh mal davon aus, dass du das für VB brauchst? zwinkern
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. lächeln

Poste dann evtl. noch ein Beispiel zu...
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 15.02.2007, 11:10    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
tom_verbatim



Anmeldungsdatum: 03.02.2007
Beiträge: 53

BeitragVerfasst am: 15.02.2007, 11:47    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 15.02.2007, 12:04    Titel: Antworten mit Zitat

Dann brauchst du eine neuere FreeBASIC Version.
Welche FBC version benutzt du zur Zeit?
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
tom_verbatim



Anmeldungsdatum: 03.02.2007
Beiträge: 53

BeitragVerfasst am: 15.02.2007, 12:23    Titel: die aktuellste Antworten mit Zitat

ich denke ist wohl die aktuellste, die ich habe

compilerversion ist die 0.16


tom
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 15.02.2007, 12:31    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 15.02.2007, 12:47    Titel: Antworten mit Zitat

Und die aktuelle CVS Testing bekommst du hier.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 15.02.2007, 12:51    Titel: Antworten mit Zitat

Das ist aber nicht die CVS version, die ich meine Zunge rausstrecken

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
tom_verbatim



Anmeldungsdatum: 03.02.2007
Beiträge: 53

BeitragVerfasst am: 15.02.2007, 13:44    Titel: häääää??? Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 15.02.2007, 13:57    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
tom_verbatim



Anmeldungsdatum: 03.02.2007
Beiträge: 53

BeitragVerfasst am: 15.02.2007, 14:09    Titel: ups klar Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 15.02.2007, 14:23    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
tom_verbatim



Anmeldungsdatum: 03.02.2007
Beiträge: 53

BeitragVerfasst am: 16.02.2007, 11:21    Titel: haäää ? Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 16.02.2007, 11:24    Titel: Antworten mit Zitat

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 zwinkern
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
tom_verbatim



Anmeldungsdatum: 03.02.2007
Beiträge: 53

BeitragVerfasst am: 16.02.2007, 11:52    Titel: danke Antworten mit Zitat

danke !!!

jetzt läuft es zwinkern


gruß tom
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
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