天天看點

VC對VB的優勢之界面程式設計

  一:繼承 執行個體一:在屬性頁控件中顯示不同屬性頁

VB VC
控件 TabStrip Tab Control

VB實作原理:            将不同的屬性頁設計在一個Picture控件數組中,通過對數組元素的 Visible屬性值的設定來在點選一個屬性頁标題時顯示一個屬性頁。控件的 初始化和屬性頁的處理多很麻煩。   VB實作代碼:

VC對VB的優勢之界面程式設計

Function creattabs()                         ‘建立TabStrip控件

VC對VB的優勢之界面程式設計

               Dim intX As Integer

VC對VB的優勢之界面程式設計

               TEST.TabStrp.Tabs.Clear

VC對VB的優勢之界面程式設計

               Set reftbs  =  TEST.TabStrp.Tabs.Add(, ,  " Results " )

VC對VB的優勢之界面程式設計

               reftbs.ToolTipText  =   " The results of the test "

VC對VB的優勢之界面程式設計

               Set reftbs  =  TEST.TabStrp.Tabs.Add(, ,  " Passed " )

VC對VB的優勢之界面程式設計

               reftbs.ToolTipText  =   " The report of passed products "

VC對VB的優勢之界面程式設計

               Set reftbs  =  TEST.TabStrp.Tabs.Add(, ,  " Failed " )

VC對VB的優勢之界面程式設計

               reftbs.ToolTipText  =   " The report of failed products "

VC對VB的優勢之界面程式設計

               For intX  =   0  To  3

VC對VB的優勢之界面程式設計

               With TEST.Picture1(intX)

VC對VB的優勢之界面程式設計

                        .BorderStyle  =   0

VC對VB的優勢之界面程式設計

                        .Left  =  TEST.TabStrp.ClientLeft

VC對VB的優勢之界面程式設計

                        .Top  =  TEST.TabStrp.ClientTop

VC對VB的優勢之界面程式設計

                        .Width  =  TEST.TabStrp.ClientWidth

VC對VB的優勢之界面程式設計

                        .Height  =  TEST.TabStrp.ClientHeight

VC對VB的優勢之界面程式設計

                        .Visible  =  False

VC對VB的優勢之界面程式設計

               End With

VC對VB的優勢之界面程式設計

               Next intX

VC對VB的優勢之界面程式設計

         End Function

VC對VB的優勢之界面程式設計

         Function selecttabs()

VC對VB的優勢之界面程式設計

               If tab1 Then

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 0 ).Visible  =  True

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 1 ).Visible  =  False

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 2 ).Visible  =  False

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 3 ).Visible  =  False

VC對VB的優勢之界面程式設計

               End If

VC對VB的優勢之界面程式設計

               If tab2 Then

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 0 ).Visible  =  False

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 1 ).Visible  =  True

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 2 ).Visible  =  False

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 3 ).Visible  =  False

VC對VB的優勢之界面程式設計

              End If

VC對VB的優勢之界面程式設計

              If tab3 Then

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 0 ).Visible  =  False

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 1 ).Visible  =  False

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 2 ).Visible  =  True

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 3 ).Visible  =  False

VC對VB的優勢之界面程式設計

              End If

VC對VB的優勢之界面程式設計

              If tab4 Then

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 0 ).Visible  =  False

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 1 ).Visible  =  False

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 2 ).Visible  =  False

VC對VB的優勢之界面程式設計

                          TEST.Picture1( 3 ).Visible  =  True

VC對VB的優勢之界面程式設計

              End If

VC對VB的優勢之界面程式設計

  End Function

VC對VB的優勢之界面程式設計

   VC實作原理:            利用面向對象程式設計的繼承原理,将Page頁從已經設計好的Dialog繼 承過來,控件初始化時隻需将屬性頁的指針指向對應的Dialog即可,屬性 頁的處理有Dialog自己來完成,向普通的Dialog處理一樣。   VC實作代碼:        在頭檔案(.h)中聲明:

VC對VB的優勢之界面程式設計

               CPage1 m_Page1;  //  出勤頁

VC對VB的優勢之界面程式設計

            CPage2 m_Page2;  //  加班頁

VC對VB的優勢之界面程式設計

            CPage3 m_Page3;  //  請假頁

VC對VB的優勢之界面程式設計

            CPage4 m_Page4;  //  出差頁

VC對VB的優勢之界面程式設計

            CPropertySheet m_Sheet;

VC對VB的優勢之界面程式設計

          在初始化中加入如下代碼:

VC對VB的優勢之界面程式設計

                m_Sheet.AddPage( & m_Page1);  //  加第1頁

VC對VB的優勢之界面程式設計

                m_Sheet.AddPage( & m_Page2);  //  加第2頁

VC對VB的優勢之界面程式設計

                m_Sheet.AddPage( & m_Page3);  //  加第3頁

VC對VB的優勢之界面程式設計

                m_Sheet.AddPage( & m_Page4);  //  加第4頁

VC對VB的優勢之界面程式設計

                m_Sheet.Create( this , WS_CHILD  |  WS_VISIBLE,  0 );  //  建立視窗

VC對VB的優勢之界面程式設計

                m_Sheet.ModifyStyleEx ( 0 , WS_EX_CONTROLPARENT); 

VC對VB的優勢之界面程式設計

                m_Sheet.ModifyStyle(  0 , WS_TABSTOP );  //  修改風格

VC對VB的優勢之界面程式設計

                 //  設定視窗位置

VC對VB的優勢之界面程式設計

                m_Sheet.SetWindowPos( NULL,  0 ,  100 ,  0 ,  0 , 

VC對VB的優勢之界面程式設計

            SWP_NOZORDER  |  SWP_NOSIZE  |  SWP_NOACTIVATE );

VC對VB的優勢之界面程式設計

繼續閱讀