本文為大家詳細(xì)介紹下delphi實現(xiàn)發(fā)送消息控制滾動條,主要函數(shù)及用法如下,感興趣的朋友可以參考下哈
1、Perform 函數(shù)
代碼如下:
DBGrid1.Perform(WM_VSCROLL,SB_PAGEDOWN,0); //控制滾動條,向后翻頁
DBGrid1.Perform(WM_VSCROLL,SB_PAGEUP,0); //控制滾動條,向前翻頁
2、SendMessage 函數(shù)
代碼如下:
SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEDOWN,0);
SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEUP,0);
3、PostMessage 函數(shù)
代碼如下:
PostMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEDOWN,0);
PostMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEUP,0);
注明:(2、3函數(shù)的區(qū)別)
PostMessage只是把消息放入隊列,不管其他程序是否處理都返回,然后繼續(xù)執(zhí)行;
而SendMessage必須等待其他程序處理消息后才返回,繼續(xù)執(zhí)行。
PostMessage的返回值表示PostMessage函數(shù)執(zhí)行是否正確;
而SendMessage的返回值表示其他程序處理消息后的返回值。
使用這兩個發(fā)送消息函數(shù)的最重要的是要看你的程序是否要對消息的滯后性關(guān)注否,PostMessage會造成消息的滯后性,而SendMessage則不會,但如果SendMessage消息處理失敗,則會造成程序停止!
更多信息請查看IT技術(shù)專欄