Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Visual Basic always on top

  1. #1
    Registriert seit
    19.08.2007
    Beiträge
    162
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen!
    Ich versuche mit Visual Basic eine always on top Anwendung zu erstellen,
    d.h. sobald ich die Anwendung starte soll das Fenster immer oben auf sein!
    Ich bekomm es aber irgendwie nicht hin.
    Hat jemand eine Beispielanwendung die er mir zukommen lassen könnte?
    MfG
    Zitieren Zitieren Visual Basic always on top  

  2. #2
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.235
    Danke
    642
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Ist nicht direkt sondern nur mit Win32-API-Aufrufen möglich.
    In einem normalen Modul (*.bas) deklarieren:
    Code:
    Public Const SWP_SHOWWINDOW = &H40
    Public Const HWND_TOP = 0
    Public Const HWND_TOPMOST = -1
    Public Const HWND_NOTOPMOST = -2
    
    Public 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
    und in dem Hauptfenster aufrufen:

    Code:
    SetWindowPos Me.hwnd, HWND_TOPMOST, Left \ Screen.TwipsPerPixelX, Top \ Screen.TwipsPerPixelY, Width \ Screen.TwipsPerPixelX, Height \ Screen.TwipsPerPixelY, SWP_SHOWWINDOW
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  3. #3
    demmy86 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.08.2007
    Beiträge
    162
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo!
    Danke erst mal!
    Also der Aufruf im Modul hat funktioniert, nur bekomme ich beim Aufruf in der Form eine Fehlermeldung!

    Mit welchem Befehl muss ich das denn aufrufen? gibt es da einen bestimmten?

    gruß

  4. #4
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.235
    Danke
    642
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Welcher Aufruf im Modul? Dies sind nur Deklarationen, damit VB die Konstanten und Funktionen kennt. Danach einfach im Load-Ergeignis der gewünschten Form SetWindowPos wie angegeben aufrufen.
    Wenn schon Fehlermeldungen erwähnt werden, dann auch bitte den Code dazu und die genaue Fehlermeldung einstellen. Die Glaskugeln sind leider gerade aus. Ach ja, um Ärger mit Kollege Vierlagig zu vermeiden, beim Beispiel-Code immer schön die Code-Tags verwenden.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  5. Folgender Benutzer sagt Danke zu Rainer Hönle für den nützlichen Beitrag:

    vierlagig (20.09.2008)

  6. #5
    demmy86 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.08.2007
    Beiträge
    162
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi also wie du schon gemerkt haben solltest hab ich nicht soo die Ahnung von Visual Basic ich versuch mich da momentan ein wenig rein zu arbeiten!
    Also nun noch mal zu meinem Problem:
    Also ich denke das ich díe Deklaration nun richtig gesetzt hab! aber wo platziere ich jetzt den Aufruf?

    Code:
    
    PublicClass Form1
    PublicConst SWP_SHOWWINDOW = &H40
    PublicConst HWND_TOP = 0
    PublicConst HWND_TOPMOST = -1
    PublicConst HWND_NOTOPMOST = -2
    PublicDeclareFunction SetWindowPos Lib"user32" (ByVal hwnd AsLong, ByVal hWndInsertAfter AsLong, ByVal X AsLong, ByVal Y AsLong, ByVal cx AsLong, ByVal cy AsLong, ByVal wFlags AsLong) AsLong
    PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
    EndSub
    EndClass
    
    Egal wie ich es versucht habe! ich hab immer eine Fehlermeldung erhalten!

  7. #6
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.866
    Danke
    78
    Erhielt 806 Danke für 549 Beiträge

    Standard

    welches vb nutzt du?
    du hast den 1sten code ins form kopiert. das ist falsch

    im projekt ein 'modul' hinzufügen
    dort den 1.sten code einfügen.

    im form den code anzeigen lassen.
    im linken auswahlfeld das form anwählen. im rechten load
    dort den 2.ten code einfügen.

    fertig

    wie reiner schon erwähnt... welchen fehler. hellseher sind wir hier nicht
    Geändert von volker (21.09.2008 um 13:11 Uhr)
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  8. #7
    demmy86 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.08.2007
    Beiträge
    162
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    hallo,
    ich benutze Microsoft Visual Basic Express Edition.

    also ich komme bis zu dem Teil: "im form den code anzeigen lassen"
    ich hab den jetzt Code der form geöffnent, aber nun komm ich nicht so recht weiter mit deinen Angaben.

    das mit den Fehlermeldungen: es sind zu viele! laut dem Programm würde gar nichts stimmen!

    Könnte mir jemand das mal als Projekt erstellen und mir zukommen lassen.
    Das wäre super!
    Ich versteh einfach nicht wieso das nicht funktioniert.
    danke schon mal!

  9. #8
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.866
    Danke
    78
    Erhielt 806 Danke für 549 Beiträge

    Standard

    der code funzt unter .net nicht.

    hier ist das ohne code möglich.
    in den eigenschaften der form TopMost auf true setzen.

    geht natürlich auch im code
    [PHP]Private Sub Form1_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load

    ' Form in den Vordergrund
    Me.TopMost = True
    End Sub[/PHP]
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  10. #9
    demmy86 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.08.2007
    Beiträge
    162
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ahh jetzt wird mir einiges klar! Vielen dank!
    ich glaub ich habs!

  11. #10
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.235
    Danke
    642
    Erhielt 955 Danke für 769 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Tja, mein Code funktioniert nur unter VB 6 (und wahrscheinlich älter). Und für Fragen in der Zukunft: VB .net ist nicht VB und grundsätzlich anders zu behandeln.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

Ähnliche Themen

  1. Visual Basic .NET und OPC XML
    Von wiesel187 im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 12.10.2010, 15:34
  2. OPC XML-DA und Visual Basic
    Von magmaa im Forum Hochsprachen - OPC
    Antworten: 18
    Letzter Beitrag: 14.05.2010, 09:34
  3. OPC und Visual Basic 6
    Von Daredevil im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 08.03.2005, 08:00
  4. OPC und Visual Basic 6
    Von Daredevil im Forum Hochsprachen - OPC
    Antworten: 0
    Letzter Beitrag: 05.03.2005, 19:59
  5. Visual Basic.Net
    Von Hamster im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 11.10.2004, 09:48

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •