MDIMA.FRM
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:13k
源码类别:

Windows编程

开发平台:

Visual C++

  1. VERSION 2.00
  2. Begin MDIForm MDIMa 
  3.    Caption         =   "Demo ADBPubs"
  4.    Height          =   4755
  5.    Icon            =   MDIMA.FRX:0000
  6.    Left            =   75
  7.    LinkTopic       =   "MDIForm1"
  8.    Top             =   555
  9.    Width           =   7740
  10.    WindowState     =   2  'Maximized
  11.    Begin SSPanel panStatusbar 
  12.       Align           =   2  'Align Bottom
  13.       Alignment       =   2  'Left Justify - BOTTOM
  14.       BackColor       =   &H00C0C0C0&
  15.       BevelInner      =   2  'Raised
  16.       BevelOuter      =   0  'None
  17.       BorderWidth     =   0
  18.       FontBold        =   0   'False
  19.       FontItalic      =   0   'False
  20.       FontName        =   "MS Sans Serif"
  21.       FontSize        =   8.25
  22.       FontStrikethru  =   0   'False
  23.       FontUnderline   =   0   'False
  24.       ForeColor       =   &H00000000&
  25.       Height          =   420
  26.       Left            =   0
  27.       Outline         =   -1  'True
  28.       TabIndex        =   8
  29.       Top             =   3645
  30.       Width           =   7620
  31.       Begin SSPanel panInfo 
  32.          Alignment       =   2  'Left Justify - BOTTOM
  33.          AutoSize        =   3  'AutoSize Child To Panel
  34.          BackColor       =   &H00C0C0C0&
  35.          BevelInner      =   1  'Inset
  36.          BevelOuter      =   0  'None
  37.          BorderWidth     =   0
  38.          Caption         =   " Server: [Not logged in]"
  39.          FontBold        =   0   'False
  40.          FontItalic      =   0   'False
  41.          FontName        =   "MS Sans Serif"
  42.          FontSize        =   8.25
  43.          FontStrikethru  =   0   'False
  44.          FontUnderline   =   0   'False
  45.          ForeColor       =   &H00000000&
  46.          Height          =   300
  47.          Left            =   120
  48.          TabIndex        =   11
  49.          Top             =   60
  50.          Width           =   12930
  51.       End
  52.       Begin VBSQL VBSQL1 
  53.          Caption         =   "VBSQL1"
  54.          Height          =   210
  55.          Left            =   12555
  56.          Top             =   105
  57.          Visible         =   0   'False
  58.          Width           =   525
  59.       End
  60.    End
  61.    Begin SSPanel panToolbar 
  62.       Align           =   1  'Align Top
  63.       AutoSize        =   3  'AutoSize Child To Panel
  64.       BackColor       =   &H00C0C0C0&
  65.       BorderWidth     =   4
  66.       ForeColor       =   &H00000000&
  67.       Height          =   435
  68.       Left            =   0
  69.       Outline         =   -1  'True
  70.       TabIndex        =   0
  71.       Top             =   0
  72.       Width           =   7620
  73.       Begin CommandButton cmdUnloadActForms 
  74.          Caption         =   "Unload Forms"
  75.          Height          =   270
  76.          Left            =   9570
  77.          TabIndex        =   12
  78.          Top             =   75
  79.          Visible         =   0   'False
  80.          Width           =   1455
  81.       End
  82.       Begin SSCommand cmdLogin 
  83.          BevelWidth      =   1
  84.          Font3D          =   1  'Raised w/light shading
  85.          ForeColor       =   &H00000000&
  86.          Height          =   345
  87.          Left            =   8610
  88.          Picture         =   MDIMA.FRX:0302
  89.          TabIndex        =   10
  90.          TabStop         =   0   'False
  91.          Top             =   45
  92.          Width           =   345
  93.       End
  94.       Begin SSCommand cmdLogout 
  95.          BevelWidth      =   1
  96.          Enabled         =   0   'False
  97.          Font3D          =   1  'Raised w/light shading
  98.          ForeColor       =   &H00000000&
  99.          Height          =   345
  100.          Left            =   9000
  101.          Picture         =   MDIMA.FRX:0604
  102.          TabIndex        =   9
  103.          TabStop         =   0   'False
  104.          Top             =   45
  105.          Width           =   345
  106.       End
  107.       Begin SSCommand MainButton 
  108.          BevelWidth      =   1
  109.          Font3D          =   1  'Raised w/light shading
  110.          ForeColor       =   &H00000000&
  111.          Height          =   340
  112.          Index           =   1
  113.          Left            =   75
  114.          Picture         =   MDIMA.FRX:0906
  115.          TabIndex        =   7
  116.          Top             =   45
  117.          Width           =   340
  118.       End
  119.       Begin SSCommand MainButton 
  120.          BevelWidth      =   1
  121.          Font3D          =   1  'Raised w/light shading
  122.          ForeColor       =   &H00000000&
  123.          Height          =   340
  124.          Index           =   2
  125.          Left            =   465
  126.          Picture         =   MDIMA.FRX:0A70
  127.          TabIndex        =   6
  128.          Top             =   45
  129.          Width           =   340
  130.       End
  131.       Begin SSCommand MainButton 
  132.          BevelWidth      =   1
  133.          Font3D          =   1  'Raised w/light shading
  134.          ForeColor       =   &H00000000&
  135.          Height          =   340
  136.          Index           =   3
  137.          Left            =   855
  138.          Picture         =   MDIMA.FRX:0BDA
  139.          TabIndex        =   5
  140.          Top             =   45
  141.          Width           =   340
  142.       End
  143.       Begin SSCommand MainButton 
  144.          BevelWidth      =   1
  145.          Font3D          =   1  'Raised w/light shading
  146.          ForeColor       =   &H00000000&
  147.          Height          =   340
  148.          Index           =   4
  149.          Left            =   1380
  150.          Picture         =   MDIMA.FRX:0D44
  151.          TabIndex        =   4
  152.          Top             =   45
  153.          Width           =   340
  154.       End
  155.       Begin SSCommand MainButton 
  156.          BevelWidth      =   1
  157.          Font3D          =   1  'Raised w/light shading
  158.          ForeColor       =   &H00000000&
  159.          Height          =   340
  160.          Index           =   5
  161.          Left            =   1905
  162.          Picture         =   MDIMA.FRX:0EAE
  163.          TabIndex        =   3
  164.          Top             =   45
  165.          Width           =   340
  166.       End
  167.       Begin SSCommand MainButton 
  168.          BevelWidth      =   1
  169.          Font3D          =   1  'Raised w/light shading
  170.          ForeColor       =   &H00000000&
  171.          Height          =   340
  172.          Index           =   6
  173.          Left            =   2295
  174.          Picture         =   MDIMA.FRX:1048
  175.          TabIndex        =   2
  176.          Top             =   45
  177.          Width           =   340
  178.       End
  179.       Begin SSCommand MainButton 
  180.          BevelWidth      =   1
  181.          Font3D          =   1  'Raised w/light shading
  182.          ForeColor       =   &H00000000&
  183.          Height          =   340
  184.          Index           =   7
  185.          Left            =   2820
  186.          Picture         =   MDIMA.FRX:11B2
  187.          TabIndex        =   1
  188.          Top             =   45
  189.          Width           =   340
  190.       End
  191.    End
  192.    Begin Menu MenFile 
  193.       Caption         =   "&File"
  194.       Begin Menu altLogin 
  195.          Caption         =   "&Login"
  196.          Shortcut        =   ^L
  197.       End
  198.       Begin Menu altLogout 
  199.          Caption         =   "Log&out"
  200.          Enabled         =   0   'False
  201.       End
  202.       Begin Menu altDummy 
  203.          Caption         =   "-"
  204.       End
  205.       Begin Menu AltExit 
  206.          Caption         =   "&Exit"
  207.       End
  208.    End
  209.    Begin Menu MenForms 
  210.       Caption         =   "F&orms"
  211.       WindowList      =   -1  'True
  212.       Begin Menu altAuthors 
  213.          Caption         =   "&Authors"
  214.          Enabled         =   0   'False
  215.          Shortcut        =   ^A
  216.       End
  217.    End
  218.    Begin Menu menHelp 
  219.       Caption         =   "&Help"
  220.       Begin Menu altContents 
  221.          Caption         =   "&Contents"
  222.       End
  223.       Begin Menu altDummy2 
  224.          Caption         =   "-"
  225.       End
  226.       Begin Menu altAbout 
  227.          Caption         =   "&About..."
  228.       End
  229.    End
  230. End
  231. Sub altAbout_Click ()
  232. '
  233. ' Show the About box
  234. '
  235.     fAbout.Show MODAL
  236. End Sub
  237. Sub altAuthors_click ()
  238. '
  239. ' Open the Authors form
  240. ' The menu in the Authors form allows opening
  241. ' of several simultaneous instances of the Authors form
  242. '
  243.     screen.MousePointer = 11
  244.     fAuthors.Show
  245.     screen.MousePointer = 0
  246. End Sub
  247. Sub altContents_Click ()
  248. Dim X%, lHelpPath As String
  249. '
  250. ' Activate the help system
  251. '
  252.     
  253.     lHelpPath = App.Path + "pubs1.hlp"
  254.     X% = WinHelp(MDIMA.hWnd, lHelpPath, HELP_INDEX, 0)
  255. End Sub
  256. Sub altExit_Click ()
  257. '
  258. ' Exit the application
  259. '
  260.     Unload Me       ' Unload the MDI form and so exit the app.
  261.     ' Better then end, since unload will call
  262.     ' the MDIForm_Unload procedure
  263. End Sub
  264. Sub altLogin_Click ()
  265. '
  266. ' Call the log in procedure
  267. '
  268.     ' Auto press the cmdLogin push button if it is enabled:
  269.     If cmdLogin.Enabled Then
  270.         cmdLogin.Value = True
  271.     Else
  272.         Beep
  273.     End If
  274.     
  275. End Sub
  276. Sub altLogout_Click ()
  277. '
  278. ' Call the log out procedure
  279. '
  280.     ' Auto press the cmdLogout push button if it is enabled:
  281.     If cmdLogout.Enabled Then
  282.         cmdLogout.Value = True
  283.     Else
  284.         Beep
  285.     End If
  286. End Sub
  287. Sub cmdLogin_Click ()
  288. '
  289. ' Show the login form
  290. '
  291.     fLogin.Show
  292. End Sub
  293. Sub cmdLogout_Click ()
  294. '
  295. ' Log out from SQL Server and do neccessary maintaneance
  296. '
  297.     ' Set caption of panel to show "not logged in":
  298.     panInfo.Caption = " Server: [Not logged in]"
  299.     SqlExit             ' close all connections to SQL Server
  300.     
  301.     ' Press invisible push button to unload all active forms:
  302.     cmdUnloadActForms.Value = True
  303.     
  304.     ' Disable objects inappropriate when not logged in:
  305.     altAuthors.Enabled = False
  306.     altLogout.Enabled = False
  307.     cmdLogout.Enabled = False
  308. End Sub
  309. Sub cmdUnloadActForms_Click ()
  310. '
  311. ' Unload all forms.
  312. ' Normally called when logging out.
  313. ' Thus no qualified info will be shown on the screen
  314. ' after the user with permissions has logged out
  315. '
  316. On Error GoTo cmdActFormError
  317.     ' In a loop: unload all forms:
  318.     Do
  319.         ' Unload the active form; make another active:
  320.         Unload ActiveForm
  321.     Loop
  322. cmdActFormExit:
  323.     Exit Sub
  324. cmdActFormError:
  325.     ' Presume no more active forms; go to exit:
  326.     Resume cmdActFormExit:
  327. End Sub
  328. Sub MainButton_Click (index As Integer)
  329. '
  330. ' The main buttons are organized as a button array,
  331. ' where each button has a corresponding button in
  332. ' each (or most) forms. When the users click on a
  333. ' button in the MDI form tool bar the corresponding
  334. ' button in the active form will be automatically
  335. ' clicked if it is enabled. Each form will have its
  336. ' own specialized procedure connected to each separate
  337. ' button. If you will, study the MainButton procedure
  338. ' in the authors form.
  339. '
  340. ' This technique could be claimed to offer some sort
  341. ' of polymorphism to the app.
  342. '
  343. On Error GoTo MainButtonError
  344.     If ActiveForm.MainButton(index).Enabled Then
  345.         ActiveForm.MainButton(index).Value = True
  346.     Else
  347.         Beep
  348.     End If
  349. MainButtonExit:
  350.     Exit Sub
  351. MainButtonError:
  352.     Beep
  353.     Resume MainButtonExit
  354. End Sub
  355. Sub MDIForm_Load ()
  356. '
  357. ' Set up the MDI form for processing.
  358. ' Call the log in procedure
  359. '
  360.     ' Set global variable AppName$ for log in purposes
  361.     AppName$ = "Demo Authors 1"              'Global variable
  362.     
  363.     ' Initialize the global variable NEWLINE$
  364.     NEWLINE$ = Chr$(13) + Chr$(10)
  365.     
  366.     ' When global variable ShowSQL is set to false
  367.     ' SQL statements will not be shown. Set to true
  368.     ' by means of the Option menu.
  369.     ShowSQL = False
  370.     ' Setting the width of the Info Panel
  371.     SetPanelWidth
  372.     'Initialize VBSQL before log in:
  373.     msg$ = SQLInit$()
  374.     If msg$ = "" Then
  375.         Beep
  376.         MsgBox "Couldn't initialize VBSQL. Sorry. Must terminate.", 16
  377.         End
  378.     End If
  379.     
  380.     fLogin.Show         ' Open login form
  381. End Sub
  382. Sub MDIForm_Resize ()
  383.     SetPanelWidth
  384. End Sub
  385. Sub MDIForm_Unload (Cancel As Integer)
  386. '
  387. ' Clean up any connection with SQL Server and close
  388. ' the help system, then exit the application (End).
  389. '
  390. Dim X%
  391.     SqlExit
  392.     SqlWinExit
  393.     X% = WinHelp(MDIMA.hWnd, "pubs1.hlp", HELP_QUIT, 0)
  394.     End
  395. End Sub
  396. Sub SetPanelWidth ()
  397. Dim lWidth As Integer
  398.     lWidth = MDIMA.Width - 350
  399.     If lWidth >= 5500 Then panInfo.Width = MDIMA.Width - 350
  400. End Sub
  401. Sub VBSQL1_Error (SqlConn As Integer, Severity As Integer, ErrorNum As Integer, ErrorStr As String, RetCode As Integer)
  402. '
  403. ' Minimal error management.
  404. ' Show the severity of the error, the error number
  405. ' and the error message in a message box.
  406. Dim lMsg$
  407.     lMsg$ = "Severity: " & Severity & Chr$(13) + Chr$(13)
  408.     lMsg$ = lMsg$ + Str$(ErrorNum) + " " + ErrorStr + Chr$(13) + Chr$(13)
  409.     MsgBox lMsg$, 16, "SQL-Error"
  410. End Sub
  411. Sub VBSQL1_Message (SqlConn As Integer, Message As Long, State As Integer, Severity As Integer, MsgStr As String)
  412. '
  413. ' Minimal SQL Server message management.
  414. ' Filter out very trivial messages (5701 and 5703)
  415. ' Show the others with message number and message
  416. ' string in a message box.
  417. '
  418.     If Message <> 5701 And Message <> 5703 Then
  419.         MsgBox "MSG: " + Str$(Message) + ": " + MsgStr, 0, "SQL Message"
  420.     End If
  421.     
  422. End Sub