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