 |
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 |
-schumi-

Anmeldungsdatum: 28.10.2009 Beiträge: 131 Wohnort: Südbayern
|
Verfasst am: 23.02.2010, 20:36 Titel: rahmenlose Fenster:durchsichtige Flächen und beliebige Größe |
|
|
Hallo zusammen!
Ich habe in letzter Zeit versucht grafisch möglichst ansprechende Programme zu gestalten, und dabei die Windows-Bibliothek verwendet (#Include "windows.bi")...
Fand vor allem die rahmenlosen Fenster sehr originell
Jetzt hab ich 2 Fragen:
1. Kann ich irgendwie rausfinden, welches Bild sich hinter dem Fenster befindet? (um durchsichtige Flächen darzustellen)
2. Wie kann ich die größe des RAHMENLOSEN Fensters beliebig in Pixel angeben. Ich kenne nur die Methode mit dem screen-Befehl, und da sind nur feste Größen wie 320x240 usw. möglich..
Das mit screenres funktioniert nur mit Rahmen
MFG
-schumi- |
|
Nach oben |
|
 |
Stueber
Anmeldungsdatum: 07.07.2008 Beiträge: 202
|
Verfasst am: 23.02.2010, 21:17 Titel: |
|
|
Wie erstellst du denn das Rahmenlose Fenster ohne die Größe anzugeben?
Irgendwo hast du doch CreateWindow stehen, da muss dann auch die Größe sein. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 23.02.2010, 23:56 Titel: |
|
|
Unsinn. Warum sollte man mit ScreenRes keine rahmenlosen Fenster erzeugen können? Du kannst damit, genau wie auch bei Screen, transparente Fenster erzeugen, ohne irgendwie selbst die Bilddaten "dahinter" auslesen zu müssen. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
-schumi-

Anmeldungsdatum: 28.10.2009 Beiträge: 131 Wohnort: Südbayern
|
Verfasst am: 24.02.2010, 19:21 Titel: |
|
|
@Stueber:
hab noch nichts von createwindow gehört... (fast schon peinlich )
Bis jetz hab ich das mit dem Fenstererstellen immer so gemacht:
(erstellt ein Rahmenloses Fenster und lädt ein Bild. Das Fenster kann man dann wie ein normales Fenster mit Rahmen verschieben)
Code: |
#Include "windows.bi"
DIM AS INTEGER forx, mxpos, mypos, ltaste, altmxpos, altmypos, fxpos, fypos
Dim As String titel="Rahmenlos"
WindowTitle titel
Screen 14,32,,8
fxpos=100 'steht für FensterXPOS
fypos=100
SetWindowPos FindWindow(0, titel),0,fxpos,fypos,0,0,SWP_NOSIZE
BLOAD "C:\Simon\Basic\fb\files\fenstertest.bmp"
DO
GETMOUSE mxpos, mypos, ,ltaste 'MausXPOS, MausYPOS und LinkeTASTE
IF mypos<20 and ltaste=1 and mypos>0 Then 'Falls man in die obere Leiste klickt...
altmxpos=mxpos
altmypos=mypos
DO
DO
GETMOUSE mxpos, mypos, ,ltaste
LOOP UNTIL ltaste=0 or mxpos<>altmxpos or mxpos<>altmxpos
IF mxpos=-1 THEN mxpos=altmxpos: mypos=altmypos
IF altmxpos<>mxpos or altmypos<>mypos THEN
fxpos=fxpos+(mxpos-altmxpos)
fypos=fypos+(mypos-altmypos)
SetWindowPos FindWindow(0, titel),0,fxpos,fypos,0,0,SWP_NOSIZE
END IF
LOOP UNTIL ltaste=0
END IF
LOOP UNTIL INKEY$<>""
|
(fenstertest.bmp kann natürlich ein beliebiges 320x240 Bild sein oder die Zeile einfach rauslöschen)
@Jojo:
Kannst du mir 1-2 Codebeispiele geben? (falls du Zeit und Lust hast natürlich, sonst such im mir das selbst raus..)
MFG
-schumi-
ps: hab grad erst mit der Windowsbibliothek angefangen, also nicht wundern wenn miene Codes ein wenig seltsahm aussehen...  |
|
Nach oben |
|
 |
Stueber
Anmeldungsdatum: 07.07.2008 Beiträge: 202
|
Verfasst am: 24.02.2010, 19:37 Titel: |
|
|
Wenn du mit der Winapi anfängst sind aber screen und windowtitle fehl am Platz. |
|
Nach oben |
|
 |
-schumi-

Anmeldungsdatum: 28.10.2009 Beiträge: 131 Wohnort: Südbayern
|
Verfasst am: 24.02.2010, 19:49 Titel: |
|
|
wie gesagt: bin noch anfänger (was WinAPI angeht)
screen und windowtitle werden schon noch verschwinden...
(les mir grad das WinAPI Tuturial von MOD durch, is wirklich ganz schön umfangreich)
MFG
-schumi- |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 24.02.2010, 20:02 Titel: |
|
|
[richtigstellung]
Das Tutorial wurde von Lutz_Ifer erstellt, ich hab es nur aktualisiert.
[/richtigstellung] |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 24.02.2010, 22:04 Titel: |
|
|
Du kannst bei ScreenRes genau die selben attribute wie bei Screen verwenden. Die Parameter haben halt andere Bedeutung, aber die Flags (durchsichtig + kein rahmen) sind dieselben. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
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.
|
|