Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

VB6: Fenster will nicht oben bleiben :-(

Enno / 5 Antworten / Baumansicht Nickles

Hi Freaks,

hab ein Problemchen, und zwar möchte ich, daß ich zu einem Hauptfenster ein weiteres Fenster schaffe, daß aber wie eine Toolbox im Vordergrund bleibt, auch, wenn man am Hauptfenster weiterarbeitet. Kann irgendwie nicht die Einstellung finden, vbModal ist es zumindest nicht. Freue mich auf Eure Antworten!!

ENNO

bei Antwort benachrichtigen
count.negative Enno „VB6: Fenster will nicht oben bleiben :-(“
Optionen

Mit Form2.Show kannst Du ganz einfach ein zweites Fenster einbauen. Dessen Eigenschaft BorderStyle setzt Du auf 4, dann hast Du schon ein Werkzeugfenster. Und jetzt ist die Frage was Du weitermachen willst. Soll das Teil immer Oben auf dem Bildschirm zu sehen sein (Stay on Top) dann bau das ein:

Declare Function SetWindowPos Lib "User" (ByVal hWnd As Integer, ByVal
hWndInsertAfter As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal
cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer

Global Const SWP_NOMOVE = 2
Global Const SWP_NOSIZE = 1
Global Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Global Const HWND_TOPMOST = -1
Global Const HWND_NOTOPMOST = -2

SetWindowPos (Form2.hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)

bei Antwort benachrichtigen
Enno Nachtrag zu: „VB6: Fenster will nicht oben bleiben :-(“
Optionen

Hi count.negative,
erstmal thanx, aber ich glaube, das ist nicht das, was ich suche. Eine ähnliche Funktion kenne ich bereits, die bewirkt aber, daß das Fenster "always on top" ist(also wohl das gleiche wie deine). Es soll aber nur innerhalb des Programms im Vordergrund erscheinen, auch wenn es nicht den Focus hat, aber beim Taskwechsel solls verschwinden. (vgl. Toolbox bei Corel Draw, etc.)

Es müsste doch irgendeine popelige Einstellung geben, die das bewirken kann :-)

bei Antwort benachrichtigen
count.negative Enno „Hi count.negative, erstmal thanx, aber ich glaube, das ist nicht das, was ich...“
Optionen

Du meinst evtl ein MDI-Child??
Dazu brauchst Du aber kein normales Form als Hauptformular sondern ein MDI Formular. Dieses dient dann als Elternteil für die Kinder. Dann stellst Du bei dem Formular welches Du als Tool haben willst die Eigenschaft MDIChild auf TRUE. Wenn Du das gemacht hast (ein F5 später) schau Dir mal das Ergebnis an.

P.S.
www.acivevb.de -> VB Forum
www.spotlight.de -> VB Forum

bei Antwort benachrichtigen
Enno Nachtrag zu: „VB6: Fenster will nicht oben bleiben :-(“
Optionen

Ja, wahrscheinlich geht das nur mit einem MDI Formular. Daß es damit funktioniert wußte ich bereits. Dann muß ich die Sache wohl mal umstricken!
Besten Dank jedenfalls :-)

bei Antwort benachrichtigen
Baschtl (Anonym) Enno „VB6: Fenster will nicht oben bleiben :-(“
Optionen

Tip: Nutze den Assistenten!

bei Antwort benachrichtigen