Bildbetrachter, Blinkende Titelleiste

Function, DirListBox, DriveListBox, FileListBox, Timer
API-Funktion für blinkende Titelleiste.
Private Declare Function FlashWindow Lib "user32" (ByVal hwnd As Long, ByVal bInvert As Long) As Long
Dim blink As Boolean
Dieses Beispiel verwendet die Drag-Methode, um den
Private Sub Form_Load() Dateinamen einer Bitmap-Datei in ein Bildfeld zu ziehen,
  Me.Show in dem die Bitmap dann angezeigt wird.
  blink = Not blink Vier Zeilen zur Blinkenden Titelleiste.
  Timer1.Interval = 500
  Timer1.Enabled = blink
  FlashWindow Me.hwnd, False
  
  Label1.Visible = 0 Bezeichnung des Labels ausblenden.
  File1.Pattern = "*.bmp;*.gif;*.jpg;*.wmf" Dateimuster setzen (ohne Leerfelder eingeben!).
  Form1.Left = Screen.Width - Form1.Width - 100 Position des ersten Formulars:
  Form1.Top = Screen.Height - Form1.Height - 500 rechte untere Bildschirmecke.
End Sub
Private Sub Dir1_Change()
  File1.Path = Dir1.Path Jede Änderung der DirListBox in FileListBox übernehmen.
End Sub
Private Sub Drive1_Change()
On Error GoTo ERR
  Dir1.Path = Drive1.Drive Jede Änderung der DriveListBox in DirListBox übernehmen.
  Exit Sub
ERR:
  MsgBox "Legen Sie einen Datenträger ein." Fehler abfangen, wenn keine Diskette im Laufwerk.
End Sub
Private Sub File1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim dy
dy = TextHeight("A") Höhe des Bezeichnungsfeldes bestimmen.
Label1.Move File1.Left, File1.Top + Y - dy / 2, File1.Width, dy Kontur des Bezeichnungsfeldes.
Label1.Drag
End Sub
Private Sub File1_Click()
  File1.SetFocus
End Sub
Private Sub File1_KeyDown(KeyCode As Integer, Shift As Integer)
  Select Case KeyCode Bild-Auswahl, wenn die CursorUp oder -Down-Tasten
    Case 33, 34, 38, 40: Call anzeigen benutzt werden.
    Case Else: KeyCode = 0
  End Select
End Sub
Private Sub File1_DblClick()
On Error Resume Next
  Call anzeigen Bild-Auswahl durch DoubleClick-Ereignis.
End Sub
Private Sub File1_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
On Error Resume Next Source ist das gezogene Steuerelement; State ist eine
  If State = 0 And Right$(File1.FileName, 4) = ".ICO" Then Ganzzahl, die dem Zustand des gezogenen Elements
    Label1.DragIcon = LoadPicture(File1.Path + "\" + _
      File1.FileName)
entspricht. "Ziehen"-Symbol verwenden.
  ElseIf State = 1 Then
    Label1.DragIcon = LoadPicture() Kein "Ziehen"-Symbol verwenden.
  End If
End Sub
Private Sub Dir1_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
  Call status(Source, X, Y, State) siehe Modul_1
End Sub
Private Sub Drive1_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
  Call status(Source, X, Y, State)
End Sub
Private Sub Form_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
  Call status(Source, X, Y, State)
End Sub
Private Sub Timer1_Timer()
  FlashWindow Me.hwnd, True Blinkende Titelleiste.
End Sub
Private Sub Dir1_Click()
  Timer1.Enabled = False Bei Auswahl aus DirListBox wird der Timer ausgeschaltet.
End Sub
Private Sub Form_Unload(Cancel As Integer)
  Unload Form2
End Sub
Ab hier Formular_2:
Private Sub Form_Load()
  Top = 0: Left = 0 Position des zweiten Formulars: linke obere Ecke.
  Picture1.AutoSize = -1 AutoSize einschalten.
End Sub
Private Sub Picture1_DragDrop(Source As Control, X As Single, Y As Single)
On Error Resume Next
  Call anzeigen Bild-Auswahl durch Drag & Drop-Ereignis.
End Sub
Ab hier Modul_1:
Public Sub anzeigen()
Dim oldx#, oldy#, newx#, newy# Deklarationen für alte und neue Formular-Breiten / -Höhen.
On Error Resume Next
With Form2
  .Show Wichtig, um das Formular immer komplett anzuzeigen.
  oldx = .Picture1.Width Alte Bildgröße merken.
  oldy = .Picture1.Height
  .Picture1.Picture = LoadPicture(Form1.File1.Path + "\" + _
      Form1.File1.FileName)
Bild wird geladen
  newx = .Picture1.Width Neue Bildgröße merken.
  .Width = .Width + newx - oldx Formular an neue Bildgröße anpassen.
  newy = .Picture1.Height
  .Height = .Height + newy - oldy
  .Caption = Form1.File1.Path + "\" + Form1.File1.FileName
End With
  Form1.File1.SetFocus
End Sub
Public Sub status(Source As Control, X As Single, Y As Single, State As Integer)
  If State = 0 Then Source.MousePointer = 12 Zeiger in Nicht-Ablegen-Zeiger ändern.
  If State = 1 Then Source.MousePointer = 0 Standard-Mauszeiger verwenden.
End Sub
Verfahren zur Laufwerksauswahl siehe:
http://www.wbrnet.info/db/0059.html
.

 Ranking-Hits zurück Sitemap
Designed by www.wbrnet.info