麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

VB與VC混合編程中處理消息的方法

2019-11-17 05:51:14
字體:
來源:轉載
供稿:網友
 現在越來越多的人采用VB與VC的混合編程:用VB快速開發出漂亮的界面以及外圍處理程序,再用VC編寫底層的各種操作,例如內存的操作、IO端口的操作等,VC中還可以嵌入匯編語言進行更底層的操作。
  一般的做法是將VC程序編譯成DLL,在VB中用Declare語句聲明DLL中的函數,例如:
  Declare Function SendCommand Lib ″c:/PRogram files/devstudio/wjfprojects/Hr0506dllMnsr/debug/Hr0506dllMnsr.dll″(CmdNum As Integer) As Boolean
  聲明以后,函數SendCommand 就可以當作VB自己的函數使用了。
  但是,怎樣將VC中的各種消息(例如各種底層的狀態)及時通知VB并且VB能夠及時處理呢?這是VB的一個缺陷:不能方便地處理自定義的Windows消息。例如在VC中自定義了兩條消息:MW_TAPI_DATACOME,MW_TAPI_BUSY,在C語言中,用PostMessage(hWnd,MW_TAPI_CONNECTED,0,0);語句可以很方便地將MW_TAPI_CONNECTED消息傳遞給窗體(窗體句柄為hWnd),在主回調函數中就可以處理了。但是要把這條消息傳遞給VB,并讓VB處理這條消息,并不太輕易。雖然在VB5.0以上的版本中,可以定義自己的事件(EVENT),但比較麻煩。這里介紹一種簡單的方法,讓VB巧妙地處理自定義的消息:
  1.首先將VB窗體中TextBox控件Text1的句柄傳遞給DLL(注重:VB中的TextBox控件有hWnd屬性)。
  VB中: ′聲明DLL中的函數
  Declare Function SendhWnd Lib ″c:/program files/devstudio/wjfprojects/Hr0506dllMnsr/debug/ Hr0506dllMnsr.dll″ ((ByVal hWnd As Long) As Boolean
  ′傳遞text1的句柄
  SendhWnd(text1.hWnd)
  VC中://句柄接收函數
   declspec(dlleXPort) BOOL GethWnd(HWND hWnd1)
  { hWnd=hWnd1;
  if (hWnd==NULL)
  { return FALSE; }
  return TRUE;}
  2.在VC中用API函數SetWindowText取代PostMessage直接發送消息給VB中的Text1控件:
  SetWindowText(hWnd,″ MW_TAPI_DATACOME ″);
  3.在Text1_Change事件中處理消息:
  Private Sub Text1_Change()
  Select case Text1.text
  case W_TAPI_DATACOME:
  ′消息處理語句
  case MW_TAPI_BUSY:
  ′消息處理語句
  default:
  ′其他處理語句
  End Select
  End Sub
  以上方法在作者編寫的“TAPI遠程監控系統”中使用,效果很好。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 小雪奶水翁胀公吸小说最新章节 | 黄色高清免费 | 亚洲精品日韩色噜噜久久五月 | 极色品影院| 成人免费观看在线 | 亚洲一区二区三区视频免费 | 午夜国产成人 | 99激情| 久久精品视频69 | 深夜免费视频 | 免费高清一级欧美片在线观看 | zzzzzzzxxxxxx日本人| 欧日韩在线 | 日本在线不卡一区二区 | 久久91精品视频 | 日本欧美一区二区三区视频麻豆 | 欧美中文字幕一区二区三区亚洲 | 久久经典国产视频 | 操你逼 | 斗破苍穹在线免费 | 羞羞视频免费视频欧美 | 免费一级片观看 | 精品国产一区二区三区久久久蜜月 | 久久网站热最新地址4 | 成码无人av片在线观看网站 | 九九热视频在线 | 免费香蕉成视频成人网 | 高清在线国产 | 一级做a爱片毛片免费 | 91色综合综合热五月激情 | 一区二区三区无码高清视频 | 毛片视频播放 | 黑人一区二区三区四区五区 | 色淫网站免费视频 | 最新欧美精品一区二区三区 | 国产一区精品在线观看 | 九九热欧美 | 羞羞电影在线观看 | 久久精品欧美视频 | 国产精品免费大片 | 亚洲午夜在线观看 |