home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / code / cdspy / haupt.frm < prev    next >
Text File  |  1995-02-27  |  22KB  |  671 lines

  1. VERSION 2.00
  2. Begin Form haupt 
  3.    Caption         =   "CD-Spy"
  4.    ClientHeight    =   4470
  5.    ClientLeft      =   2580
  6.    ClientTop       =   4290
  7.    ClientWidth     =   9000
  8.    Height          =   5160
  9.    Left            =   2520
  10.    LinkTopic       =   "Form1"
  11.    MDIChild        =   -1  'True
  12.    ScaleHeight     =   298
  13.    ScaleMode       =   3  'Pixel
  14.    ScaleWidth      =   600
  15.    Top             =   3660
  16.    Width           =   9120
  17.    Begin PictureBox Pic_Statusbar 
  18.       Align           =   2  'Align Bottom
  19.       BackColor       =   &H00C0C0C0&
  20.       BorderStyle     =   0  'None
  21.       Height          =   285
  22.       Left            =   0
  23.       ScaleHeight     =   19
  24.       ScaleMode       =   3  'Pixel
  25.       ScaleWidth      =   600
  26.       TabIndex        =   10
  27.       TabStop         =   0   'False
  28.       Top             =   4185
  29.       Width           =   9000
  30.       Begin TextBox Txt_Status2 
  31.          BackColor       =   &H00C0C0C0&
  32.          BorderStyle     =   0  'None
  33.          FontBold        =   0   'False
  34.          FontItalic      =   0   'False
  35.          FontName        =   "MS Sans Serif"
  36.          FontSize        =   8.25
  37.          FontStrikethru  =   0   'False
  38.          FontUnderline   =   0   'False
  39.          Height          =   195
  40.          Left            =   4380
  41.          MousePointer    =   1  'Arrow
  42.          TabIndex        =   13
  43.          Text            =   " NM/ag"
  44.          Top             =   60
  45.          Width           =   4425
  46.       End
  47.       Begin TextBox Txt_Status1 
  48.          BackColor       =   &H00C0C0C0&
  49.          BorderStyle     =   0  'None
  50.          FontBold        =   0   'False
  51.          FontItalic      =   0   'False
  52.          FontName        =   "MS Sans Serif"
  53.          FontSize        =   8.25
  54.          FontStrikethru  =   0   'False
  55.          FontUnderline   =   0   'False
  56.          Height          =   195
  57.          Left            =   90
  58.          MousePointer    =   1  'Arrow
  59.          TabIndex        =   12
  60.          Text            =   " NM/ag"
  61.          Top             =   60
  62.          Width           =   4065
  63.       End
  64.    End
  65.    Begin PictureBox Pic_Toolbar 
  66.       BackColor       =   &H00C0C0C0&
  67.       BorderStyle     =   0  'None
  68.       Height          =   4965
  69.       Left            =   7380
  70.       ScaleHeight     =   4965
  71.       ScaleWidth      =   1500
  72.       TabIndex        =   0
  73.       TabStop         =   0   'False
  74.       Top             =   300
  75.       Width           =   1500
  76.       Begin CommandButton Cmd_Array 
  77.          BackColor       =   &H00C0C0C0&
  78.          Caption         =   "Start"
  79.          Enabled         =   0   'False
  80.          Height          =   525
  81.          Index           =   8
  82.          Left            =   0
  83.          TabIndex        =   19
  84.          Top             =   495
  85.          Width           =   1500
  86.       End
  87.       Begin CommandButton Cmd_Array 
  88.          BackColor       =   &H00C0C0C0&
  89.          Caption         =   "Readme"
  90.          Enabled         =   0   'False
  91.          Height          =   525
  92.          Index           =   7
  93.          Left            =   0
  94.          TabIndex        =   18
  95.          Top             =   3555
  96.          Width           =   1500
  97.       End
  98.       Begin CommandButton Cmd_Array 
  99.          BackColor       =   &H00C0C0C0&
  100.          Caption         =   "Dummy"
  101.          Enabled         =   0   'False
  102.          Height          =   525
  103.          Index           =   6
  104.          Left            =   0
  105.          TabIndex        =   14
  106.          Top             =   4320
  107.          Visible         =   0   'False
  108.          Width           =   1500
  109.       End
  110.       Begin CommandButton Cmd_Array 
  111.          BackColor       =   &H00C0C0C0&
  112.          Caption         =   "Hilfedatei"
  113.          Enabled         =   0   'False
  114.          Height          =   525
  115.          Index           =   5
  116.          Left            =   0
  117.          TabIndex        =   6
  118.          Top             =   3045
  119.          Width           =   1500
  120.       End
  121.       Begin CommandButton Cmd_Array 
  122.          BackColor       =   &H00C0C0C0&
  123.          Caption         =   "Code"
  124.          Enabled         =   0   'False
  125.          Height          =   525
  126.          Index           =   4
  127.          Left            =   0
  128.          TabIndex        =   5
  129.          Top             =   2535
  130.          Width           =   1500
  131.       End
  132.       Begin CommandButton Cmd_Array 
  133.          BackColor       =   &H00C0C0C0&
  134.          Caption         =   "Installieren"
  135.          Enabled         =   0   'False
  136.          Height          =   525
  137.          Index           =   3
  138.          Left            =   0
  139.          TabIndex        =   4
  140.          Top             =   2025
  141.          Width           =   1500
  142.       End
  143.       Begin CommandButton Cmd_Array 
  144.          BackColor       =   &H00C0C0C0&
  145.          Caption         =   "Kopieren"
  146.          Enabled         =   0   'False
  147.          Height          =   525
  148.          Index           =   2
  149.          Left            =   0
  150.          TabIndex        =   3
  151.          Top             =   1515
  152.          Width           =   1500
  153.       End
  154.       Begin CommandButton Cmd_Array 
  155.          BackColor       =   &H00C0C0C0&
  156.          Caption         =   "Demo"
  157.          Enabled         =   0   'False
  158.          Height          =   525
  159.          Index           =   1
  160.          Left            =   0
  161.          TabIndex        =   2
  162.          Top             =   1005
  163.          Width           =   1500
  164.       End
  165.       Begin CommandButton Cmd_Array 
  166.          BackColor       =   &H00C0C0C0&
  167.          Caption         =   "Info"
  168.          Enabled         =   0   'False
  169.          Height          =   525
  170.          Index           =   0
  171.          Left            =   0
  172.          TabIndex        =   1
  173.          Top             =   0
  174.          Width           =   1500
  175.       End
  176.    End
  177.    Begin PictureBox Pic_Buttonbar 
  178.       Align           =   1  'Align Top
  179.       BackColor       =   &H00C0C0C0&
  180.       BorderStyle     =   0  'None
  181.       Height          =   405
  182.       Left            =   0
  183.       ScaleHeight     =   27
  184.       ScaleMode       =   3  'Pixel
  185.       ScaleWidth      =   600
  186.       TabIndex        =   11
  187.       TabStop         =   0   'False
  188.       Top             =   0
  189.       Width           =   9000
  190.    End
  191.    Begin PictureBox Pic_Splitbar 
  192.       BackColor       =   &H00C0C0C0&
  193.       BorderStyle     =   0  'None
  194.       Height          =   4845
  195.       Left            =   2520
  196.       MousePointer    =   9  'Size W E
  197.       ScaleHeight     =   323
  198.       ScaleMode       =   3  'Pixel
  199.       ScaleWidth      =   7
  200.       TabIndex        =   8
  201.       TabStop         =   0   'False
  202.       Top             =   540
  203.       Width           =   105
  204.    End
  205.    Begin Outline Outline 
  206.       BorderStyle     =   0  'None
  207.       Height          =   4695
  208.       Left            =   90
  209.       PictureClosed   =   HAUPT.FRX:0000
  210.       PictureLeaf     =   HAUPT.FRX:00E2
  211.       PictureMinus    =   HAUPT.FRX:01C4
  212.       PictureOpen     =   HAUPT.FRX:02A6
  213.       PicturePlus     =   HAUPT.FRX:0388
  214.       TabIndex        =   7
  215.       Tag             =   "Outline"
  216.       Top             =   630
  217.       Width           =   3075
  218.    End
  219.    Begin PictureBox Pic_Anzeige 
  220.       BackColor       =   &H00C0C0C0&
  221.       BorderStyle     =   0  'None
  222.       Height          =   4695
  223.       Left            =   3390
  224.       ScaleHeight     =   313
  225.       ScaleMode       =   3  'Pixel
  226.       ScaleWidth      =   259
  227.       TabIndex        =   9
  228.       TabStop         =   0   'False
  229.       Top             =   570
  230.       Width           =   3885
  231.       Begin VScrollBar VSc_Anzeige 
  232.          Height          =   4725
  233.          Left            =   3630
  234.          TabIndex        =   17
  235.          Top             =   -30
  236.          Visible         =   0   'False
  237.          Width           =   255
  238.       End
  239.       Begin FileListBox Fil_Projekt 
  240.          Height          =   1980
  241.          Left            =   1050
  242.          Pattern         =   "*.MAK;*.BAS;*.FRM"
  243.          TabIndex        =   16
  244.          Top             =   -30
  245.          Visible         =   0   'False
  246.          Width           =   1665
  247.       End
  248.       Begin Label Lbl_Info 
  249.          AutoSize        =   -1  'True
  250.          BackColor       =   &H00FFFFFF&
  251.          Height          =   3555
  252.          Left            =   30
  253.          TabIndex        =   15
  254.          Tag             =   "Info"
  255.          Top             =   30
  256.          Width           =   975
  257.          WordWrap        =   -1  'True
  258.       End
  259.    End
  260.    Begin Shape Shp_BS 
  261.       Height          =   4815
  262.       Left            =   30
  263.       Top             =   540
  264.       Width           =   7395
  265.    End
  266.    Begin Menu Datei 
  267.       Caption         =   "&Datei"
  268.       Begin Menu MnuDatei 
  269.          Caption         =   "Einlesen"
  270.          Index           =   0
  271.       End
  272.       Begin Menu MnuDatei 
  273.          Caption         =   "-"
  274.          Index           =   1
  275.       End
  276.       Begin Menu MnuDatei 
  277.          Caption         =   "Ende"
  278.          Index           =   2
  279.       End
  280.    End
  281.    Begin Menu Mnu_HSuche 
  282.       Caption         =   "&Suchen"
  283.       Begin Menu Mnu_Suche 
  284.          Caption         =   "Titeltext"
  285.          Index           =   0
  286.       End
  287.       Begin Menu Mnu_Suche 
  288.          Caption         =   "Stichworte"
  289.          Index           =   1
  290.       End
  291.       Begin Menu Mnu_Suche 
  292.          Caption         =   "Codesequenz"
  293.          Index           =   2
  294.       End
  295.    End
  296.    Begin Menu MnuSetup 
  297.       Caption         =   "Setup"
  298.       Visible         =   0   'False
  299.       Begin Menu MnuSubSetup 
  300.          Caption         =   "&Einstellungen"
  301.       End
  302.    End
  303. End
  304. ' --------------------------------------------------------
  305. '   Haupt
  306. ' --------------------------------------------------------
  307. ' Hauptformular des CD-Spy's.
  308. ' --------------------------------------------------------
  309. ' Autor   : NM/ag
  310. ' Datum   :
  311. ' Version :
  312. ' --------------------------------------------------------
  313. Option Explicit
  314.  
  315. Dim GL_ListIndex%
  316. Const LC_MIN_TXT_STATUS2 = 20
  317.  
  318. Sub Cmd_Array_Click (Index As Integer)
  319.   Dim i%
  320.   Dim L_Verz$
  321.   On Error GoTo Err_Cmd_Array_Click
  322.   If Index = GCM_CMD_INFO Or Index = GCM_CMD_CODE Then PM_ChangeCmdState (Index)
  323.   Select Case Index
  324.     Case Is = GCM_CMD_INFO
  325.       Lbl_Info.Visible = True
  326.       Fil_Projekt.Visible = False
  327.     Case Is = GCM_CMD_START
  328.       Cmd_Array(Index).Enabled = False
  329.       ' Aktuelles Verzeichnis und Laufwerk sichern
  330.       L_Verz$ = CurDir$
  331.       ' Aktuelles Verzeichnis und Laufwerk setzen
  332.       ChDrive (GM_DB.Verzeichnis)
  333.       ChDir (GM_DB.Verzeichnis)
  334.       PM_ShellAndWait (FM_Verz$(GM_DB.Verzeichnis) & Cmd_Array(Index).Tag)
  335.       ' Ursprⁿngliches Verzeichnis und Laufwerk wiederherstellen
  336.       ChDrive L_Verz$
  337.       ChDir L_Verz$
  338.       Cmd_Array(Index).Enabled = True
  339.       Cmd_Array(Index).SetFocus
  340.       Exit Sub
  341.     Case Is = GCM_CMD_DEMO
  342.       Cmd_Array(Index).Enabled = False
  343.       PM_ShellAndWait (FM_Verz$(GM_DB.Verzeichnis) & Cmd_Array(Index).Tag)
  344.       Cmd_Array(Index).Enabled = True
  345.       Cmd_Array(Index).SetFocus
  346.       Exit Sub
  347.     Case Is = GCM_CMD_INSTALL
  348.       Cmd_Array(Index).Enabled = False
  349.       PM_ShellAndWait (FM_Verz$(GM_DB.Verzeichnis) & Cmd_Array(Index).Tag)
  350.       Cmd_Array(Index).Enabled = True
  351.       Cmd_Array(Index).SetFocus
  352.       Exit Sub
  353.     Case Is = GCM_CMD_CODE
  354.       Lbl_Info.Visible = False
  355.       Fil_Projekt.Path = Cmd_Array(Index).Tag
  356.       Fil_Projekt.Visible = True
  357.     Case Is = GCM_CMD_HILFE
  358.       Cmd_Array(Index).Enabled = False
  359.       PM_ShellAndWait (Cmd_Array(Index).Tag)
  360.       Cmd_Array(Index).Enabled = True
  361.       Cmd_Array(Index).SetFocus
  362.     Case Is = GCM_CMD_README
  363.       'PM_EditFile FM_Verz$(GM_DB.Verzeichnis$) & CMD_Array(Index).Tag
  364.       PM_LookforExt FM_Verz$(GM_DB.Verzeichnis$) & Cmd_Array(Index).Tag
  365.     Case Is = GCM_CMD_COPY
  366.       F_Kopie.Show 1
  367.       If G_CopyFiles$ <> "" Then
  368.         PM_CopyFiles
  369.       End If
  370.   End Select
  371.   Exit Sub
  372. Err_Cmd_Array_Click:
  373.   Select Case Err
  374.     Case Is = GCM_OWNER_ERROR
  375.       If Index = GCM_CMD_README Then
  376.         MsgBox "Die Datei " & Cmd_Array(Index).Tag & " kann nicht betrachtet werden, weil die Verknⁿpfung fehlt!", 48, "Fehler"
  377.       End If
  378.     Case Else
  379.       MsgBox "Die Funktion kann leider nicht ausgefⁿhrt werden.", 48, "Fehler"
  380.   End Select
  381.   Exit Sub
  382. End Sub
  383.  
  384. Sub Cmd_Array_KeyUp (Index As Integer, KeyCode As Integer, Shift As Integer)
  385.   If Index = GCM_CMD_INFO Or Index = GCM_CMD_CODE Then
  386.     PM_ChangeCmdState (Index)
  387.     KeyCode = 0
  388.   End If
  389. End Sub
  390.  
  391. Sub Fil_Projekt_DblClick ()
  392.   PM_EditFile FM_Verz$((Fil_Projekt.Path)) & Fil_Projekt
  393. End Sub
  394.  
  395. Sub Fil_Projekt_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  396.   If Button And 2 Then
  397.     Set G_Control = Fil_Projekt
  398.     PopupMenu MnuSetup
  399.   End If
  400. End Sub
  401.  
  402. Sub Form_Load ()
  403.   Dim L_Res&
  404.  
  405.   PM_LiesForm Me
  406.   Haupt!Pic_Splitbar.Left = Val(F_GetPrivatIni("Einstellungen", GCM_SPLITT))
  407.   PM_LiesControl Lbl_Info
  408.   PM_LiesControl Outline
  409.   'PM_ReadItems 0, -1, 1
  410.   If Outline.ListCount > 0 Then Outline.Expand(0) = True
  411.   Outline_Click
  412.   ' Textfelder im Statusbar auf readonly setzen
  413.   L_Res& = SendMessage(Txt_Status1.hWnd, &H400 + 31, -1, "")
  414.   L_Res& = SendMessage(Txt_status2.hWnd, &H400 + 31, -1, "")
  415.   Me.Show
  416. End Sub
  417.  
  418. Sub Form_Resize ()
  419.   On Error Resume Next
  420.   screen.MousePointer = 11 ' Sanduhr
  421.   freezeOn Me.hWnd
  422.   Shp_BS.Top = Pic_Buttonbar.Height + 2
  423.   Pic_Toolbar.Top = Shp_BS.Top - 3
  424.   Pic_Statusbar.Top = Me.ScaleHeight - Pic_Statusbar.Height
  425.   Shp_BS.Width = FM_Max(Me.ScaleWidth - Pic_Toolbar.Width - 4, 0)
  426.   Pic_Splitbar.Left = FM_Min((Pic_Splitbar.Left), Shp_BS.Width - Pic_Splitbar.Width)
  427.   Shp_BS.Height = FM_Max(Me.ScaleHeight - Pic_Statusbar.Height - Pic_Buttonbar.Height - 2, 0)
  428.   Pic_Toolbar.Left = FM_Max(Me.ScaleWidth - Pic_Toolbar.Width, 0)
  429.   Lbl_Info.Visible = False
  430.   Pic_Splitbar.Visible = False
  431.   Pic_Anzeige.Visible = False
  432.   Pic_Toolbar.Visible = False
  433.   Me.Cls
  434.   PM_show3d Me
  435.   Pic_Toolbar.Visible = True
  436.   Pic_Anzeige.Visible = True
  437.   Pic_Splitbar.Visible = True
  438.   Lbl_Info.Visible = True
  439.   Pic_Splitbar.Refresh
  440.   PM_RefreshAnzeige
  441.   FreezeOff
  442.   screen.MousePointer = 0 ' Standard
  443. End Sub
  444.  
  445. Sub Form_Unload (Cancel As Integer)
  446.   PM_SchreibForm Me
  447.   P_WritePrivatInit "Einstellungen", GCM_SPLITT, Haupt!Pic_Splitbar.Left
  448.   Cancel = False
  449.   End
  450. End Sub
  451.  
  452. Sub Lbl_Info_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  453.   If Button And 2 Then
  454.     Set G_Control = Lbl_Info
  455.     PopupMenu MnuSetup
  456.   End If
  457. End Sub
  458.  
  459. Sub Mnu_Suche_Click (Index As Integer)
  460.   Select Case Index
  461.     Case Is = 0
  462.     Case Is = 1 ' Stichwortsuche
  463.       F_Search.Show
  464.       F_Search.Caption = "Stichwortsuche"
  465.       P_SetWindowTop F_Search
  466.     Case Is = 2
  467.   End Select
  468. End Sub
  469.  
  470. Sub MnuDatei_Click (Index As Integer)
  471.   Dim i&
  472.   Select Case Index
  473.     Case Is = 0
  474.       Me.MousePointer = 11 ' Sanduhr
  475.       PM_GenerateDB "N:\CD"
  476.       Me.MousePointer = 0 ' Standard
  477.     Case Is = 2
  478.       Unload Me
  479.   End Select
  480. End Sub
  481.  
  482. Sub MnuSubSetup_Click ()
  483.   screen.MousePointer = 11 'Sanduhr
  484.   F_Setup.Show 1
  485.   Set G_Control = Nothing
  486. End Sub
  487.  
  488. Sub Outline_Click ()
  489.   Dim Res&
  490.   Dim pos%
  491.   If Outline.ListIndex < 0 Then Exit Sub
  492.   Me.MousePointer = 11
  493.   'PM_ReadCDInfo
  494.   Txt_Status1 = " " & GM_DB.Verzeichnis
  495.   GL_ListIndex% = Outline.ListIndex
  496.   Me.MousePointer = 0
  497. End Sub
  498.  
  499. Sub Outline_Collapse (ListIndex As Integer)
  500.   Dim i%
  501.   On Error Resume Next
  502.   Me.MousePointer = 11' Sanduhr
  503.   Do
  504.     i% = Haupt.Outline.Indent(ListIndex% + 1)
  505.     If Err <> 0 Or Haupt.Outline.Indent(ListIndex) >= i% Then
  506.       Haupt.Outline.AddItem "Hilfs", ListIndex% + 1
  507.       Exit Do
  508.     Else
  509.       Haupt.Outline.RemoveItem ListIndex% + 1
  510.     End If
  511.   Loop
  512.   Haupt.Outline.List(ListIndex% + 1) = "Hilfs"
  513.   Haupt.Outline.Indent(ListIndex% + 1) = Haupt.Outline.Indent(ListIndex%) + 1
  514.   Haupt.Outline.ListIndex = GL_ListIndex%
  515.   Me.MousePointer = 0' Default
  516. End Sub
  517.  
  518. Sub Outline_Expand (ListIndex As Integer)
  519.   On Error GoTo Err_Outline_Expand
  520.   Static working%
  521.   Dim tmp%
  522.   Dim i%
  523.   Dim Indent%
  524.   Dim ID&
  525.   If working% Or Not Haupt.Outline.HasSubItems(ListIndex%) Then
  526.     Haupt.Outline.Refresh
  527.     Exit Sub
  528.   End If
  529.   On Error Resume Next
  530.   working% = True
  531.   Me.MousePointer = 11 'Sanduhr
  532.   Indent% = Haupt.Outline.Indent(ListIndex%)
  533.   ID& = Haupt.Outline.ItemData(ListIndex%)
  534. '  For i% = 0 To Haupt.Outline.ListCount - 1
  535. '    If Haupt.Outline.Indent(i%) >= Indent% And Haupt.Outline.IsItemVisible(i%) And Haupt.Outline.HasSubItems(i%) Then
  536. '    If Err <> 0 Then Exit For
  537. '      Outline_Collapse i%
  538. '    End If
  539. '  Next i%
  540.   For i% = 0 To Haupt.Outline.ListCount - 1
  541.     If Haupt.Outline.ItemData(i%) = ID& Then
  542.       ListIndex% = i%
  543.       Exit For
  544.     End If
  545.   Next i%
  546.   tmp% = ListIndex
  547.   'PM_ReadItems Haupt.Outline.ItemData(ListIndex%), ListIndex%, Haupt.Outline.Indent(ListIndex%) + 1
  548.   Haupt.Outline.Expand(tmp%) = True
  549.   Haupt.Outline.ListIndex = tmp%
  550.   working% = False
  551.   Me.MousePointer = 0 ' default
  552.   Exit Sub
  553. Err_Outline_Expand:
  554.   working% = False
  555.   Me.MousePointer = 0' default
  556.   MsgBox "Der Speicher ist voll! Bitte schliessen Sie mindestens eine Gliederungsebene bevor Sie weitere Ebenen ÷ffnen.", 48, "Fehler"
  557.   Exit Sub
  558. End Sub
  559.  
  560. Sub Outline_KeyUp (KeyCode As Integer, Shift As Integer)
  561.   If Outline.ListIndex <> GL_ListIndex% Then
  562.     Outline_Click
  563.   End If
  564. End Sub
  565.  
  566. Sub Outline_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
  567.   If Outline.ListIndex <> GL_ListIndex% Then
  568.     Outline_Click
  569.   End If
  570.   If Button And 2 Then
  571.     Set G_Control = Outline
  572.     PopupMenu MnuSetup
  573.   End If
  574. End Sub
  575.  
  576. Sub Pic_ButtonBar_Paint ()
  577.   Pic_Buttonbar.Line (0, 0)-(Me.ScaleWidth, 0), &HFFFFFF
  578.   Pic_Buttonbar.Line (0, Pic_Buttonbar.ScaleHeight - 2)-(Me.ScaleWidth, Pic_Buttonbar.ScaleHeight - 2), &H808080
  579.   Pic_Buttonbar.Line (0, Pic_Buttonbar.ScaleHeight - 1)-(Me.ScaleWidth, Pic_Buttonbar.ScaleHeight - 1), 0
  580. End Sub
  581.  
  582. Sub Pic_Splitbar_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  583.   Pic_Splitbar.Tag = X
  584. End Sub
  585.  
  586. Sub Pic_Splitbar_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)
  587.   Static working%
  588.   Dim PosX As Single
  589.   If working% Then Exit Sub
  590.   working% = True
  591.   If Button And 1 Then
  592.     PosX! = Pic_Splitbar.Left + (X - Val(Pic_Splitbar.Tag))
  593.     If PosX! < Shp_BS.Left Then PosX! = Shp_BS.Left
  594.     If PosX! > Shp_BS.Left + Shp_BS.Width - Pic_Splitbar.Width Then PosX! = Shp_BS.Left + Shp_BS.Width - Pic_Splitbar.Width
  595.     Pic_Splitbar.Left = PosX!
  596.   End If
  597.   working% = False
  598. End Sub
  599.  
  600. Sub Pic_Splitbar_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
  601.   Pic_Splitbar.Refresh
  602.   PM_RefreshAnzeige
  603. End Sub
  604.  
  605. Sub Pic_Splitbar_Paint ()
  606.   Dim Wert&, WertX&, WertY&
  607.   Pic_Splitbar.Height = Shp_BS.Height - 2
  608.   Pic_Splitbar.Top = Shp_BS.Top + 1
  609.   Pic_Splitbar.Line (0, 0)-(0, Pic_Splitbar.ScaleHeight), 0
  610.   Pic_Splitbar.Line (1, 0)-(1, Pic_Splitbar.ScaleHeight), &HFFFFFF
  611.   Pic_Splitbar.Line (Pic_Splitbar.ScaleWidth - 1, 0)-(Pic_Splitbar.ScaleWidth - 1, Pic_Splitbar.ScaleHeight), &H808080
  612.   Pic_Splitbar.Line (Pic_Splitbar.ScaleWidth - 1, 0)-(Pic_Splitbar.ScaleWidth - 1, Pic_Splitbar.ScaleHeight), 0
  613.   WertX& = Shp_BS.Left + 1
  614.   WertY& = Shp_BS.Top + 1
  615.   If Outline.Left <> WertX& Or Outline.Top <> WertY& Then
  616.     Outline.Move WertX&, WertY&
  617.   End If
  618.   Wert& = FM_Max(Pic_Splitbar.Left - Shp_BS.Left, 0)
  619.   If Outline.Width <> Wert& Then
  620.     Outline.Width = Wert&
  621.   End If
  622.   Wert& = FM_Max(Pic_Splitbar.Height - 1, 0)
  623.   If Outline.Height <> Wert& Then
  624.     Outline.Height = Wert&
  625.   End If
  626.   WertX& = Pic_Splitbar.Left + Pic_Splitbar.Width - 1
  627.   WertY& = Shp_BS.Top + 1
  628.   If Pic_Anzeige.Left <> WertX& Or Pic_Anzeige.Top <> WertY& Then
  629.     Pic_Anzeige.Move WertX&, WertY&
  630.   End If
  631.   Wert& = FM_Max(Shp_BS.Width - Pic_Splitbar.Left - Pic_Splitbar.Width + 2, 0)
  632.   If Pic_Anzeige.Width <> Wert& Then
  633.     Pic_Anzeige.Width = Wert&
  634.   End If
  635.   Wert& = Pic_Splitbar.Height - 1
  636.   If Pic_Anzeige.Height <> Wert& Then
  637.     Pic_Anzeige.Height = Wert& 'Outline.Height
  638.   End If
  639. End Sub
  640.  
  641. Sub Pic_Statusbar_Paint ()
  642.   Const BLACK = &H0&
  643.   Const WHITE = &HFFFFFF
  644.   Const GRAY = &HC0C0C0
  645.   Const DGRAY = &H808080
  646.   Pic_Statusbar.Line (0, 0)-(Me.ScaleWidth, 0)
  647.   Pic_Statusbar.Line (0, 1)-(Me.ScaleWidth, 1), &HFFFFFF
  648.   Txt_status2.Left = Txt_Status1.Left + Txt_Status1.Width + 6
  649.   Txt_status2.Width = FM_Max(Me.ScaleWidth - Txt_status2.Left - 6, LC_MIN_TXT_STATUS2)
  650.   Pic_Statusbar.Line (Txt_Status1.Left + 1, Txt_Status1.Top + 1)-(Txt_Status1.Width + 0 + Txt_Status1.Left, Txt_Status1.Top + Txt_Status1.Height), WHITE, B
  651.   Pic_Statusbar.Line (Txt_Status1.Left - 1, Txt_Status1.Top - 1)-(Txt_Status1.Width + 1 + Txt_Status1.Left, Txt_Status1.Top + Txt_Status1.Height + 1), DGRAY, B
  652.   Pic_Statusbar.Line (Txt_Status1.Left - 2, Txt_Status1.Top - 2)-(Txt_Status1.Width + Txt_Status1.Left + 1, Txt_Status1.Top + Txt_Status1.Height + 1), GRAY, B
  653.   Pic_Statusbar.Line (Txt_status2.Left + 1, Txt_status2.Top + 1)-(Txt_status2.Width + 0 + Txt_status2.Left, Txt_Status1.Top + Txt_Status1.Height), WHITE, B
  654.   Pic_Statusbar.Line (Txt_status2.Left - 1, Txt_status2.Top - 1)-(Txt_status2.Width + 1 + Txt_status2.Left, Txt_Status1.Top + Txt_Status1.Height + 1), DGRAY, B
  655.   Pic_Statusbar.Line (Txt_status2.Left - 2, Txt_status2.Top - 2)-(Txt_status2.Width + Txt_status2.Left + 1, Txt_Status1.Top + Txt_Status1.Height + 1), GRAY, B
  656.  
  657. End Sub
  658.  
  659. Sub Txt_Status1_GotFocus ()
  660.   SendKeys "{TAB}", 0
  661. End Sub
  662.  
  663. Sub Txt_Status2_GotFocus ()
  664.   SendKeys "{TAB}", 0
  665. End Sub
  666.  
  667. Sub VSc_Anzeige_Change ()
  668.   Haupt!Lbl_Info.Top = -Haupt!VSc_Anzeige.Value * Haupt!Pic_Anzeige.TextHeight("@")
  669. End Sub
  670.  
  671.