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 in den Vordergrund holen

 
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
1igel



Anmeldungsdatum: 15.03.2006
Beiträge: 21

BeitragVerfasst am: 19.04.2006, 12:43    Titel: Fenster in den Vordergrund holen Antworten mit Zitat

mit der Funktion
DateiName = LoadSaveDialog (1,,,,"BMP")
gelingt es unter XP, den WINDOWS-eigenen Modus zur Auswahl und Eingabe von Speicherpfad etc. zu verwenden.
Wenn dieser Aufruf in FB z.B. mit Screen-Modus 20 erfolgt, so liegt das neue Fenster unsichtbar im Hintergrund.
Wer kann mir bitte einen Tipp geben, wie ich aus FB heraus (nicht händisch mit ALT & TAB) das Fenster sichbar machen kann?
Danke sagt 1igel
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 19.04.2006, 21:20    Titel: Antworten mit Zitat

Hi,
schau mal hier
http://forum.qbasic.at/viewtopic.php?p=18836
http://forum.qbasic.at/viewtopic.php?p=19722#19722
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
1igel



Anmeldungsdatum: 15.03.2006
Beiträge: 21

BeitragVerfasst am: 20.04.2006, 10:33    Titel: Antworten mit Zitat

[quote="volta"]Hi,
schau mal hier
http://forum.qbasic.at/viewtopic.php?p=18836
http://forum.qbasic.at/viewtopic.php?p=19722#19722[/quote]

geht leider nicht, weil der Programmablauf in dem verborgenen Fenster auf eine Eingabe wartet und so lange alle anderen "Zugriffe" verwehrt sind.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 20.04.2006, 11:08    Titel: Antworten mit Zitat

Dann starte doch einene 2. Thread. SOmit kannst du das parallel ablaufen lassen. Wenn ich dich richtig vestanden habe, dann müsste das so klappen.
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 20.04.2006, 17:45    Titel: Antworten mit Zitat

Mach keinen Zweiten Thread auf!
Der Ansatz ist völlig Verdreht, weil man eben auf diese Eingabe wartet.

@1igel
Ein Idee habe ich:
Du arbeitest im Vollbildmodus, wenn du zuerst in den Fenster Modus wechselst, sollten die Links/Tipps von volta gehen.
Wenn dein Programm dann wieder die Kontrolle bekommt, gehst du wieder in den Vollbildmodus.

(Hab jetzt einfach angenommen das du im Vollbildmodus bist)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 20.04.2006, 19:28    Titel: Antworten mit Zitat

Ich denke, 1igel will das Fenster *im Vollbildmodus* sichtbar haben...

jb
_________________
Elektronik und Programmieren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 20.04.2006, 19:38    Titel: Antworten mit Zitat

Das ist doch bei Windows gar nicht vorgesehen?!
Man kann doch schon alleine durch das Wort "Vollbild" erwarten das dem eignem Programm das Volle Bild hat.
Also kein anderes Programm oder Fenster kann den Bildschirm mit benutzen.

Soweit ich weiss, is es nicht möglich ein Fenster zuöffnen das eine Vollbild Anwendung überdeckt.
(Weil die Anwendung eben Vollbild hat)

Was spricht aber gegen das kurze in den Fenstermodus wechseln?
Den Bildschirminhalt kann man ja mit GET PUT retten.


Zuletzt bearbeitet von Michael Frey am 20.04.2006, 19:39, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 20.04.2006, 19:38    Titel: Antworten mit Zitat

Michael Frey hat Folgendes geschrieben:
Mach keinen Zweiten Thread auf!
Der Ansatz ist völlig Verdreht, weil man eben auf diese Eingabe wartet.


Ähm, wieso?

Die Funktion wartet so lange, bis man in dem Dialog auf Öffnen geklickt hat. Aber schon vorher soll doch der Dialog zum Öffnen in den Vordergrund. Da die Funktion blockiert, kann man doch in nem 2. Thread den Öffnen-Dialog in dem Vordergrund holen. Oder versteh ich was falsch?
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 20.04.2006, 19:53    Titel: Antworten mit Zitat

Jetzt verstehe ich, sorry.
(dein erstes Posting war etwas knapp)
Trotzdem etwas eigenartig.
Thread 1 macht Thread 2 auf,
Thread 1 holt Thread 2 in den Vodergrund
Thread 1 wartet auf Thread 2
Thread 1 macht weiter.
Aber es sollte gehen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 20.04.2006, 20:42    Titel: Antworten mit Zitat

Naja, oder anders:

Thread 1 macht Thread 2 auf
Thread 1 öffnet den öffnen-Dialog
Thread 2 holt den Open/Savedialog in den Vordergrund
Thread 2 beendet sich
Thread 1 wartet auf ausgewählte dateien
fertig^^
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 20.04.2006, 21:07    Titel: Antworten mit Zitat

Zu der Vollbildsache: Das kommt ganz aufs benutzte Grafiksystem an etc. Wenn ich zB (das alte) CounterStrike im Vollbild hab und mich schreibt jemand im ICQ an erscheint das fenster über meinem counterstrike vollbild. Bei anderen Games wie oder Warcraft 3 fängt das ganze ein wenig an zu flackern weil sich das messagefenster vor die Vollbildapplikation setzt und die das aber sofort wieder übermalt, das ganze is natürlich nich synchronisiert also flackerts und wenn ich da hin klicke wo das fenster sich befindet klick ich das Chatfenster an und flieg aus dem game (wie raustabben, also das läuft schon noch weiter), bei manchen anwendungen wie b&w2 ists dann auch so dass es flackert aber dennoch nicht anklickbar ist und bei anderen Games die vollbild pur opengl oder die alten Dos-Screens benutzen zB seh ich von dem chatfenster garnichts mehr. Kann man also nicht pauschal sagen.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 21.04.2006, 11:18    Titel: Antworten mit Zitat

Sowas meinte ich. Ich kenne ein Spiel, wenn da ein ICQ-Fenster auftaucht,
dann spiegelt es sich sogar auf der Wasseroberfläche einer Map lachen

jb
_________________
Elektronik und Programmieren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 21.04.2006, 12:10    Titel: Antworten mit Zitat

Hi,
das Problem ist einfacher und doch etwas kompliziert verwundert
Der LoadSaveDialog von mir ist ausdrücklich für Konsoleanwendungen geschrieben, dabei wird kein Handle (bzw NULL) übergeben.
Bei einem Gfx-Window wird solch ein Aufruf im Hintergrund verschwinden, da das Gfx-Fenster im Vordergrund bleibt.
Dem LoadSaveDialog muss, damit er im Vordergrund steht, das Handle (FB_Win32.Wnd) des Gfx-Window mitgegeben werden (Parent-Frame).
Wie man das bekommt steht im zweiten Link von mir (oben).
Gruß
Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
1igel



Anmeldungsdatum: 15.03.2006
Beiträge: 21

BeitragVerfasst am: 22.04.2006, 23:03    Titel: Antworten mit Zitat

Hi Volta,
es hat gedauert, bis ich es begriffen habe. Aber nun geht es!
Ich sage noch einmal DANKE SCHÖN
1igel
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