| 
				
					|  | 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, 08: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, 09: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, 10: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, 10: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, 11: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, 11: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, 11: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, 11: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, 11: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, 12: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, 12: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, 13: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, 13: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, 10: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, 10: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, 10: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.
 
 |  |