国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Delphi > 正文

在Delphi的DBGrid中插入其他可視組件

2019-11-18 18:52:44
字體:
來源:轉載
供稿:網友
Delphi提供了功能強大的 DBGrid組件,以方便進行數據庫應用程序設計。但是如果我們僅僅利用DBGrid組件,每一個獲得焦點(Grid)只是一個簡單的文本編輯框,不方便用戶輸入數據。Delphi也提供了一些其他數據組件來方便用戶輸入,比如DBComboBox,DBCheckBox等組件,但這些組件卻沒有DBGrid功能強大。Delphi能不能象Visual FoxPRo那樣讓DBGrid中獲得焦點網格可以是其它可視數據組件以方便用戶呢?其實我們可以通過在DBGrid中插入其他可視組件來實現這一點。

Delphi對DBGrid處理的內部機制,就是在網格上浮動一個組件――DBEdit組件。你輸入數據的網格其實是浮動DBEdit組件,其他未獲得焦點地方不過是圖像罷了。所以,在DBGrid中插入其他可視組件就是在網格上浮動一個可視組件。因此任何組件,包括從簡單的DbCheckBox到復雜的對話框,都可以在DBGrid中插入。下面就是一個如何在DBGrid中插入DBComboBox組件的步驟,采用同樣的辦法可以插入其他組件。

1、 在Delphi 4.0中新建一個項目。

2、 分別拖動的Data access組件板上DataSource、Table,Data Controls組件板上DBGrid,DBComboBox四個組件到Form1上。

3、 設置各個組件的屬性如下:

rcf1對象 屬性 設定植
Form1 Caption  '在DBGrid中插入SpinEdit組件示例'
DataSource1 DataSet Table1
Table1 DatabaseName DBDEMOS
  TableName 'teacher.DBF'
  Active True
DBGrid1 DataSource DataSource1
DBComboBox1 DataField SEX
  DataSource DataSource1
  Visible False
  Strings Items.    '男'| '女'



意:我在這里用了Teacher.dbf,那是反映教職工的性別,只能是“男”或者是“女”。

4、 DrawDataCell事件是繪制單元格,當獲得焦點網格所對應的字段與組合框所對應的字段一致時,移動組合框到獲得焦點的網格上,并且
使組合框可視,從而達到在DBGrid指定列上顯示DBComboBox的功能。設置DBGrid1的OnDrawDataCell事件如下:
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);
begin
  if (gdFocused in State) then
  begin
    if (Field.FieldName = DBComboBox1.DataField ) then
    begin
      DBComboBox1.Left := Rect.Left + DBGrid1.Left;
      DBComboBox1.Top := Rect.Top + DBGrid1.top;
      DBComboBox1.Width := Rect.Right - Rect.Left;
      DBComboBox1.Height := Rect.Bottom - Rect.Top;
      DBComboBox1.Visible := True;
   end;
 end;
end;

5、 DBGrid指定單元格未獲得焦點時不顯示DBComboBox,設置DBGrid1的OnColExit事件如下:
procedure TForm1.DBGrid1ColExit(Sender: TObject);
begin
  If DBGrid1.SelectedField.FieldName = DBComboBox1.DataField then
  begin
    DBComboBox1.Visible := false;
  end;
end;

6、 當DBGrid指定列獲得焦點時DrawDataCell事件只是繪制單元格,并顯示DBComboBox,但是DBComboBox并沒有獲得焦點,數據的輸入還是在單元格上進行。在DBGrid1的KeyPress事件中調用SendMessage這個 Windows API函數將數據輸入傳輸到DBComboBox上,從而達到在DBComboBox上進行數據輸入。因此還要設置KeyPress事件如下:
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  if (key < > chr(9)) then
  begin
    if (DBGrid1.SelectedField.FieldName  =DBComboBox1.DataField) then
    begin
       DBComboBox1.SetFocus;
       SendMessage(DBComboBox1.Handle, WM_Char, Word(Key), 0);
    end;
  end;
end;

程序在中文Windows 98,Delphi 4.015 下調試通過。希望本文能使你可以更加方便快捷的開發數據庫應用程序。

上一篇:如何將界面代碼和功能代碼分離(基于Delphi/VCL)

下一篇:用DELPHI編制Windows95下的鉤子函數

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产精品久久久精品a级小说| 亚洲成人在线播放| 欧美成人精品福利网站| 亚洲xxxxxx| а天堂8中文最新版在线官网| 国产欧美在线观看视频| 国产香蕉尹人视频在线| 国产成人亚洲欧美电影| 在线国产三级| av在线免费观看网| 国产原创av在线| 国产高清视频在线播放| 在线观看免费视频一区二区三区| 午夜在线不卡| 亚洲国产精品区| 狠狠综合久久久综合| 国产私拍精品| h网站久久久| 国产色在线观看| www.综合网.com| 天天av天天爱| 日本综合一区二区三区| 最新亚洲精品国自产在线观看| 国产精品伦一区二区三区级视频频 | a视频在线观看免费| 丁香婷婷在线| av在线二区| 国产成人亚洲综合小说区| 免费男女羞羞的视频网站中文字幕| 国产精品人人| 中文字幕中文字幕在线中高清免费版| 91欧洲在线视精品在亚洲| 超碰免费在线播放| 亚洲www色| 在线午夜视频| 国产视频精选在线| 国产精品一卡二卡三卡| 天天插天天操| 在线三级中文| 国产激情视频网址| 最近中文字幕mv2018在线高清| 麻豆视频在线观看免费网站| 在线亚洲精品自拍| 国产porn在线| 精品久久久久一区二区三区| 国产三级视频在线| 国产成人综合美国十次| 国产无遮挡又黄又爽免费软件 | 亚洲国产成人综合| 日韩中文字幕久久久经典网| 精品国产一区二区三区不卡在线| 黄色国产网站在线播放| 久久久久国产精品嫩草影院| 国产在线一二三区| 天天爱天天做色综合| 中文字幕在线播放网址| 国产精品入口麻豆免费| 精品精品导航| 九九99九九精彩| 国产精品18久久久久久久久久| 国产经典三级在线| 中文字幕av在线| а√最新版地址在线天堂| 白浆爆出在线观看| 国自产拍在线网站网址视频| 中文字幕国产视频| 国产黄色av免费看| 在线国产91| 91av资源在线| 中文天堂av| 最近久乱中文字幕| 在线免费观看黄色av| 激情视频国产| 777电影在线观看| 九九视频在线播放| 69堂视频在线观看国产| 国产原创av在线| 青青草在线视频免费观看| 国产午夜电影| 国产美女免费观看| 亚洲精品少妇久久久久久| 国产有码在线| eeuss在线观看| 99在线视频观看| 国产丝袜精品丝袜| 麻豆网站在线免费观看| 91九色在线看| 国产精品va在线观看视色| 国产在线观看18| 在线观看电影av| 99在线免费视频| 99在线欧洲视频| 在线播放国产区| 伊人福利在线| 97中文字幕| 中文字幕2020第一页| 国产区在线看| 国产三级在线免费| 国产福利视频在线| 国产精品久久久精品a级小说| 国产毛片在线| 国产一级免费看| 国产女呦网站| 国产一级电影网| 国产经典三级在线| 国产桃色电影在线播放| 国产小视频免费在线观看| 国产视频资源| 99热国产在线| 免费在线播放av| 久色视频在线观看| 国产精品外围在线观看| 国产一区二区三区不卡在线| 国产网站在线播放| 18成年在线观看| 热99在线观看| 中文字幕在线视频观看| 午夜国产视频| 国产精品入口麻豆免费| 国产成人午夜电影| 高潮毛片在线观看| av网址在线免费观看| 777电影在线观看| 黄色网页网址在线免费| 中文字幕久热在线精品| 在线免费黄色毛片| 精品麻豆一区二区三区| 国产a级网站| 国产小视频在线| 在线国产一区二区三区| 日本一级理论片在线大全| 91中文字幕| 国产精品一区二三区| 亚洲an天堂an在线观看| 国产一区精品| 91av福利| 中文乱码字幕高清在线观看| **三级三级97片毛片| 国产成人久久精品77777| 国产youjizz在线| 99reav| 国产成人亚洲欧美电影| 精品99又大又爽又硬少妇毛片| 国产三区在线观看| 亚洲天堂久久久| 青青久草在线| 国产无套粉嫩白浆在线2022年 | 国产免费av在线| 精品三级久久久久久久电影聊斋| 中文字幕乱在线伦视频乱在线伦视频| av中文在线| 国产免费电影网站入口| 国产精品99爱免费视频| 精品一二三区视频| 在线欧美一级视频| аⅴ成人天堂中文在线| 亚洲大香人伊一本线| 国产一级黄色| 国产你懂的在线观看| 在线色视频网| 国产性色视频| 日本成人网址| 国产精品白浆视频免费观看| 精品视频二区| 国产欧美久久久久久久久| av网址在线看| 精品伦理一区二区| 最好看更新中文字幕| 亚洲日本伊人| 中文字幕av高清在线观看| 999精品网| 午夜性爽视频男人的天堂| eeuss影院www在线观看| 中文字幕亚洲精品视频| 国产精品xxx电影| 久久国产精品黑丝| 久热国产在线视频| 国产一区二区影视| 精品卡一卡卡2卡3网站| 啪啪免费视频一区| 中文字幕国产在线| 国产亚av手机在线观看| 久久精品蜜桃| 伊人影院在线视频| 超碰在线观看免费版| 97人人在线| 日本亚洲欧美| 国产女人在线观看| 亚洲男人网站| 国产日韩网站| 二区三区中文字幕| 最近中文字幕av免费高清| 国产小视频免费在线观看| 在线观看中文字幕| 国产在线一二三区| 轻轻色免费在线视频| www.五月色.com| 免费一区二区在线观看| 亚洲国产aⅴ精品| 国产一级性片|