Fenster im Fokus halten.

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

pile

Betreff: Fenster im Fokus halten.

BeitragFr, Jul 20, 2007 3:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, wie ich ein Fenster im Vordergrund halte weiß ich.
Nämlich das hier in die decls:
Code: [AUSKLAPPEN]
USER32_SetWindowPos%(hWnd%,hWndInsertAfter%,x%,y%,cx%,xy%,Flags%):"SetWindowPos"
GetActiveWindow%() : "GetActiveWindow"

und das hier in den Code:
Code: [AUSKLAPPEN]
hWnd = GetActiveWindow()
   USER32_SetWindowPos(hWnd,-1,0,0,0,0,$1+$2)



Nur lässt es sich durch einen Mausklick in den Desktop oder den Start eines anderen Programms aus dem Fokus bringen (Titelleiste wird Grau). Jetzt ist das Fenster zwar immer noch im Vordergrund, aber man muss das Fenster erst wieder mit der Maus anklicken um z.B. eine Tasteneingabe machen zu können.
Was muss ich in die decls und in meinen Code schreiben, damit das Fenster immer im Fokus bleibt? Danke schon mal.

Achja, ich hab B3D
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238%
 

David

BeitragFr, Jul 20, 2007 7:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Dein Fenster "Subclassen" (d.h. Windowprozedur umleiten, Nachrichten verarbeiten und den Rest an die Orginal Prozedur weiterleiten) und auf WM_KILLFOCUS reagieren. Den Focus einfach per SetFocus() oder WM_SETFOCUS neu setzen.
http://bl4ckd0g.funpic.de

pile

BeitragFr, Jul 20, 2007 11:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, ich habs jetzt 5 Stunden versucht alleine hinzu bekommen, leider ohne Erfolg. Könntest du das bitte etwas genauer erklären? Danke.
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238%
 

Dreamora

BeitragFr, Jul 20, 2007 11:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Direkt in Blitz wird das nicht gehen.

Hast du Mal geguckt ob BlitzSys oder Winblitz3D etwas für dich wären?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

pile

BeitragFr, Jul 20, 2007 11:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist es denn nicht über die WinApi möglich?
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238%
 

Dreamora

BeitragFr, Jul 20, 2007 11:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Doch
Nur hast du keine FunctionPointer um irgend etwas umzuleiten was eine Funktion erwartet die neu aufgerufen wird. (Windowprocedur umleiten zb)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

pile

BeitragFr, Jul 20, 2007 12:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich hab mir die Beispiele in BlitzSys mal angesehen. Da waren ganz coole Sachen dabei, unter anderen, wie ich ein Fenster minimieren und maximieren kann. Aber leider nicht das mit dem Fokus.
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238%
 

Dreamora

BeitragFr, Jul 20, 2007 12:10
Antworten mit Zitat
Benutzer-Profile anzeigen
WinBlitz3D sollte das eigentlich haben mittlerweile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

pile

BeitragFr, Jul 20, 2007 12:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, das hoffe ich doch mal. Nicht das ich mich jetzt umsonst darin einarbeite Wink
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238%
 

Dreamora

BeitragFr, Jul 20, 2007 13:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Kannst ja ma nachsehen.
Bin mir ziemlich sicher das der Macher mal meinte das er Focus Funktionalität noch integrieren wolle
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group