国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

VB的“問”與“答”

2019-11-18 17:39:13
字體:
來源:轉載
供稿:網友
作為一個VB愛好者,一個人在黑暗中摸索真是太累了。現將我摸索的一些心得貢獻給大家,希望起拋磚引玉的作用(我用的是VISUALBASIC50中文版)。
  1.問題:有一程序含有兩個Form,其中Form2的Picture屬性為一張BMP位圖,而以下是Form1顯示Form2的程序:
  Form2Show
  '延遲2秒
  Time1=Timer
  WhileTimer-Time1<2
  Wend
  以上程序的目的是希望顯示Form2的圖片兩秒之后,Form1才繼續執行,結果竟然是2秒之后,Form2的圖片才顯示出來。為什么圖片會延遲顯示呢?
  回答:一般而言,繪圖會比一般的指令費時,因此,繪圖指令的優先級較低,也就是說,直到其他指令都執行完畢之后,才會輪到繪圖指令的執行,在以上的Form1程序中,由于Form2Show之后,又執行了一個費時2秒的While循環,因此,Form2的圖片必須等待2秒鐘,才會被描繪出來。
  可按如下方法解決:
  在While循環中增加DoEvents,如下:
  Form2Show
  '延遲2秒
  Time1=Timer
  WhileTimer-Time1<2
  DoEvents
  Wend
  DoEvents的作用是短暫地停止執行,使得優先級較低的繪圖指令被執行,于是Form2的圖片便可以在While循環執行的階段就被顯示出來。
  2.問題:在編數據庫程序時,根據幫助來聲明變量,如下:
  DimdbAsDatabase
  DimrsAsRecordset
  結果程序編譯時VB竟然說“用戶定義類型未定義”,是何原因呢?
  回答:Database及Recordset屬于DAO(DataaccessObject)模塊里的,不是VB內定的,因此必須將DAO的定義包含在“引用中”,VB才會認得Database及Recordset,操作方法是選取功能表的“工程(P)”,待出現“引用(N)”窗時,再選取MicrosoftDAO30ObjectLibrary或MicrosoftDAO25/30CompatibilityLibrary(兼容Access20以前的版本)。(如果使用的是16位版本的VB,則選取MicrosoftDAO25ObjectLibrary)
  3.問題:我想控制I/O,VB是否有類似QuickBASIC的INP、OUT指令可使用?
  回答:VB并無INP及OUT的指令可用,即使是Windows的API函數也沒有類似的函數,原因是Windows不希望應用程序直接控制硬件。如果想控制RS232的通訊口,則VB專業版(或企業版)有現成的“MSComm”控件可用。
  4.問題:如何創建橢圓形的窗體?
  回答:當然是用Win32API函數了,用VB50中文版的API文本查看器將下列API函數加入窗體的通用代碼中,就可以做一個橢圓窗口。
  PRivateDeclareFunctionCreateEllipticRgnLib″gdi32″(ByValX1AsLong,ByValY1AsLong,ByValX2AsLong,ByValY2AsLong)AsLong
  PrivateDeclareFunctionSetWindowRgnLib″user32″(ByValhWndAsLong,ByValhRgnAsLong,ByValbRedrawAsBoolean)AsLong
  在Form_Load()窗體中加入如下代碼:
  PrivateSubForm_Load()
  Show
  SetWindowRgnhWnd,CreateEllipticRgn(0,0,300,200),True
  EndSub
  上述代碼可以創建一個橢圓形狀的窗口。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双桥区| 利津县| 申扎县| 得荣县| 永泰县| 花垣县| 宁国市| 宝鸡市| 石首市| 施甸县| 盘山县| 阿拉善右旗| 江源县| 湄潭县| 连南| 翁源县| 湟源县| 芦山县| 贵南县| 牙克石市| 无为县| 东光县| 奎屯市| 山东省| 宁国市| 洪泽县| 兴和县| 西青区| 清徐县| 嘉禾县| 陆良县| 麻城市| 金门县| 邹平县| 始兴县| 彭阳县| 武定县| 保山市| 班玛县| 湖口县| 仙游县|