**:
今天折騰了一天就學了個滾動條,沒有想到挺麻煩的........雖然老師說以後用控制項,現在做真夠費勁的!
為視窗新增滾動條
為視窗新增滾動條非常的簡單,只需在建立視窗時指定視窗的樣式中加上ws_vscroll或ws_hscroll或是兩者皆有即可。
設定選項
通過setscrollinfo函式來設定滾動條
使滾動條大小適應視窗變化變化
在wm_onsize訊息處理中動態改變滾動條大小
滾動在on_vscroll訊息處理函式中使滾動條進行滾動,並啟用視窗重繪
貼個自己寫的程式,以後忘了再回來看看...
編寫程式,在視窗中顯示部分的滑鼠與鍵盤訊息列表,一行顯示乙個訊息...
messageshow.h 檔案
class cmessageshowwindow:public cframewnd
;
messaeshow.cpp 檔案
#include
#include"messageshow.h"
#include
scrollinfo si;
uint g_nlines;
uint g_nlineheight;
cstringlist g_cslist;
return true;
}
}
begin_message_map(cmessageshowwindow,cframewnd)
on_wm_paint()
on_wm_create()
on_wm_char()
on_wm_size()
on_wm_vscroll()
on_wm_lbuttondown()
on_wm_lbuttonup()
on_wm_lbuttondblclk()
on_wm_mousewheel()
end_message_map()
int cmessageshowwindow::oncreate(lpcreatestruct lpcreatestruct)
void cmessageshowwindow::onpaint()
//npos 必須大於 1
for(int i = 0;ig_nlines)
invalidate();
}
void cmessageshowwindow::onsize(uint ntype,int cx,int cy)
void cmessageshowwindow::onvscroll(uint nsbcode,uint npos,cscrollbar *pscrollbar)
setscrollinfo(sb_vert,&si);
invalidate();
}
void cmessageshowwindow::onlbuttondown(uint nfalgs,cpoint point)
invalidate();
}
void cmessageshowwindow::onlbuttonup(uint nflags,cpoint point)
invalidate();
}
void cmessageshowwindow::onlbuttondblclk(uint nflag,cpoint point)
invalidate();
}
bool cmessageshowwindow::onmousewheel(uint nflags,short zdelta,cpoint pt)
invalidate();
return true;
}
MFC 滾動條學習
今天折騰了一天就學了個滾動條,沒有想到挺麻煩的.雖然老師說以後用控制項,現在做真夠費勁的!為視窗新增滾動條 為視窗新增滾動條非常的簡單,只需在建立視窗時指定視窗的樣式中加上ws vscroll或ws hscroll或是兩者皆有即可。設定選項 通過setscrollinfo函式來設定滾動條 使滾動條大...
MFC縱向滾動條
1.新建乙個edit control,將其multiline屬性設定為true,auto hscroll屬性設定false,這樣就可以實現每一行填滿後自動換行了。2.再將vetrical scroll屬性設定為true,當輸入或顯示超過編輯框的大小後就會出現垂直滾動條。這乙個我並沒有試驗 3.如果是...
MFC滾動條的使用
1.初始化滾動條和顯示靜態文字 水平滾動條 plistbox cscrollbar getdlgitem idc scrollbar1 plistbox setscrollrange 0,100 滑塊移動的位置為0 100 靜態文字框 char str sprintf str,d c 0,getdl...