乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Grid中嵌入CommandButton的自定義控件

       dds885 2016-03-30
      程序代碼:
      CLEAR ALL
      CLOSE DATABASES ALL
      SET DEFAULT TO (Application.ActiveProject.HomeDir)
      Form1 = NEWOBJECT("C_Form")        && 從類定義中C_Form中生成窗體
      Form1.Show                         && 顯示剛才生成的窗體
      READ EVENTS                        && 激活交互事件
      CLOSE DATABASES ALL
      CLEAR ALL
      RETURN                             && 程序結(jié)束

      *-----------------------------
      * 程序運行窗體的類定義
      *-----------------------------
      DEFINE CLASS C_Form AS Form
          Caption = "自定義按鈕測試"     && 窗體標(biāo)題
          WindowState = 2                && 啟動時最大化
         
          ADD OBJECT Grid1 AS Grid       && 在窗體中放置一個Grid
         
          *-------------------------
          * 窗體載入內(nèi)存時打開相關(guān)的數(shù)據(jù)表
          *-------------------------
          PROCEDURE Load
              USE Table1 IN 0
          ENDPROC
         
          *-------------------------
          * 窗體從內(nèi)存中卸載時關(guān)閉已打開的數(shù)據(jù)表
          *-------------------------
          PROCEDURE Unload
              USE IN Table1
          ENDPROC
         
          *-------------------------
          * 自定義對窗體的控件進行布局的方法
          *-------------------------
          PROCEDURE Arrange
              WITH This.Grid1
                  .Top = 5
                  .Left = 5
                  .Width = ThisForm.Width - .Left - 5
                  .Height = ThisForm.Height - .Top - 5
              ENDWITH
          ENDPROC
         
          *-------------------------
          * 窗體激活或獲得焦點時
          *-------------------------
          PROCEDURE Activate
              ThisForm.Arrange
          ENDPROC
         
          *-------------------------
          * 窗體改變大小時
          *-------------------------
          PROCEDURE Resize
              ThisForm.Arrange
          ENDPROC
         
          *-------------------------
          * 關(guān)閉窗體時釋放交互事務(wù)
          *-------------------------
          PROCEDURE Destroy
              CLEAR EVENTS
          ENDPROC
         
          *-------------------------
          * 表格的初始化
          *-------------------------
          PROCEDURE Grid1.Init
              WITH This
                  .RecordSourceType = 1                               && 數(shù)據(jù)源為表別名
                  .RecordSource = "Table1"                            && 綁定數(shù)據(jù)源
                  WITH .Columns(3)                                    && 對具體數(shù)據(jù)表中的某列細化
                      .RemoveObject("Text1")                          && 移除該欄中內(nèi)置的TextBox控件
                      .AddObject("Button1", "GridCommandButton")      && 新增自定義控件
                      WITH .Button1
                          .ControlSource = "Table1.F03"               && 綁定本欄的數(shù)據(jù)源
                          .TrueCaption = "Yes"                        && 修改預(yù)定義的文字
                          .FalseCaption = "No"                        && 修改預(yù)定義的文字
                          .Width = 60                                 && 設(shè)置控件寬度
                          .Height = 20                                && 設(shè)置控件高度
                          .Visible = .T.                              && 讓控件可見
                      ENDWITH
                      .CurrentControl = "Button1"                     && 設(shè)定本欄的控制控件
                      .Sparse = .F.                                   && 每次Refresh時Grid所有行中本欄的數(shù)據(jù)均刷新
                      .Width = 60                                     && 本欄的寬度與新控件匹配
                  ENDWITH
                  .RowHeight = 22                                     && 表格行的高度與新控件匹配
              ENDWITH
          ENDPROC
         
      ENDDEFINE 

      *-----------------------------
      * 功能:嵌入Grid中的CommandButton,可與邏輯型數(shù)據(jù)綁定
      * 機制:從Container中繼承,構(gòu)造一個包含隱藏TextBox和呈現(xiàn)CommandButton的
      *       自定義控件。TextBox與平常Grid Cell的一樣綁定數(shù)據(jù),把需要提供的
      *       數(shù)據(jù)轉(zhuǎn)交給CommandButton,以便呈現(xiàn)。
      * 注意:數(shù)據(jù)綁定源須為邏輯型,否則失效或出錯。
      *-----------------------------
      DEFINE CLASS GridCommandButton AS Container
          BorderWidth = 0           && 取消容器的邊框線

          *-------------------------
          * 自定義屬性
          ControlSource = ""        && 數(shù)據(jù)綁定源
          TrueCaption = "是"        && 當(dāng)數(shù)據(jù)值為.T.時CommandButton的文字
          FalseCaption = "否"       && 當(dāng)數(shù)據(jù)值為.F.時CommandButton的文字
          *-------------------------
         
          *-------------------------
          * 內(nèi)部受保護控件
          *-------------------------
          ADD OBJECT PROTECTED Text1 AS TextBox WITH Visible = .F.
          ADD OBJECT PROTECTED Button1 AS CommandButton
         
          PROCEDURE Width_Assign(tAssign)
              This.Button1.Width = tAssign
          ENDPROC
         
          PROCEDURE Height_Assign(tAssign)
              This.Button1.Height = tAssign
          ENDPROC
         
          PROCEDURE ControlSource_Assign(tAssign)
              WITH This.Text1
                  .ControlSource = tAssign
                  .Value = EVALUATE(tAssign)
              ENDWITH
          ENDPROC
         
          PROCEDURE Text1.Value_Assign(tAssign)
              This.Value = tAssign
              WITH This.Parent.Button1
                  .VisualEffect = IIF(tAssign, 21)
                  .Caption = IIF(This.Parent.Text1.Value, This.Parent.TrueCaption, This.Parent.FalseCaption)
              ENDWITH
          ENDPROC
         
          *-------------------------
          * 點擊按鈕時翻轉(zhuǎn)值的真假
          *-------------------------
          PROCEDURE Button1.Click
              WITH This.Parent.Text1
                  .Value = !.Value
              ENDWITH
          ENDPROC
         
      ENDDEFINE 

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多