Technician Geschrieben 6. November 2001 Geschrieben 6. November 2001 @siggi @all So, hier ist der Code, mit dem man eine VB-Form dauerhaft in den Hintergrund stellen kann. Benötigt wird eine Form Form1 und ein Timer Timer1 (die Form verliert ihre Hintergrund-Eigenschaft nämlich beim Anklicken wieder; möglich ist es auch, die Hintergrund-Eigenschaft beim Anklicken der Form neu auszuführen statt den Timer zu verwenden. Viel Spaß damit! Technician Option Explicit Private Const HWND_TOP = 0 Private Const HWND_TOPMOST = -1 Private Const HWND_BOTTOM = 1 Private Const SWP_NOMOVE = &H2 Private Const SWP_NOSIZE = &H1 Private Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE Private Declare Function SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Sub Form_Load() Me.Show Call StayNotOnTop(Form1) Timer1.Interval = 1 ' Zeitgeberintervall setzen. End Sub Sub StayNotOnTop(the As Form) Call SetWindowPos(the.hWnd, HWND_BOTTOM, 0, 0, 0, 0, FLAGS) End Sub Private Sub Timer1_Timer() Call StayNotOnTop(Form1) End Sub Zitieren
siggy Geschrieben 6. November 2001 Geschrieben 6. November 2001 Hey Technician, ja, schönes Ding... Allerdings jede ms auf die Form zuzugreifen ist ganz schön recourcenfressend und nervend beim traicen Solltest Du Fortschritte in deinem "futurischtischen Terminplaner" machen, würde ich gerne einen Blick drauf werfen. Man(n) kann ja nicht alles im Kopf behalten. Nebenbei mal erwähnt, habe die Borderstyle auf <kein> und Start <maximiert> eingestellt. Schwuppdiwupp hab ich einen neuen Desktop Ohne Timer!!!, sondern bei form1_click und bei form1_resize deine Funktion eingebaut... Gruß SIGGY Zitieren
Technician Geschrieben 6. November 2001 Autor Geschrieben 6. November 2001 Hi siggy! >ja, schönes Ding... Allerdings jede ms auf die Form >zuzugreifen ist ganz schön recourcenfressend und nervend >beim traicen >Ohne Timer!!!, sondern bei form1_click und bei >form1_resize deine Funktion eingebaut... meinte ich auch, als ich geschrieben habe "möglich ist es auch, die Hintergrund-Eigenschaft beim Anklicken der Form neu auszuführen statt den Timer zu verwenden." Es ging ja erstmal um "hauptsache, es geht!" >Solltest Du Fortschritte in deinem "futurischtischen >Terminplaner" machen, würde ich gerne einen Blick drauf >werfen. Man(n) kann ja nicht alles im Kopf behalten. Ich hab jetzt fast eine Woche an der GUI rumgebastelt *g* Gut, dass ich super Bildbearbeitungskenntnisse hab Neben dem Terminplaner (der noch voller msgbox-Aufrufe zweck Test ist ) funkioniert schon das Anlegen von Programmverknüpfungen (weil das Teil ja mal meinen ganzen Desktop ersetzen soll, braucht man das ) >Nebenbei mal erwähnt, habe die Borderstyle auf <kein> und >Start <maximiert> eingestellt. Schwuppdiwupp hab ich einen >neuen Desktop Ich hab auch Borderstyle auf "kein"; Start ist bei mir nicht auf maximiert, da der "Ersatz-Desktop" eine Art Menü am linken Rand ist und per Mausklick auf volle Desktop-Größe maximiert werden kann. Grund: ich will nicht immer den Terminplaner als Desktop haben; wenn das Teil eingeklappt ist, ist nur noch die Linkliste sichtbar. Gruß, Technician Zitieren
siggy Geschrieben 6. November 2001 Geschrieben 6. November 2001 AAAAh, jetzt verstehe ich langsam den dringenden Bedarf an "FORM IN HINTERGRUND" Viel Glück Gruß Siggy Zitieren
Technician Geschrieben 7. November 2001 Autor Geschrieben 7. November 2001 <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von siggy: <STRONG>AAAAh, jetzt verstehe ich langsam den dringenden Bedarf an "FORM IN HINTERGRUND" </STRONG> Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.