MFC 滾動條學習

2021-06-22 04:23:54 字數 2150 閱讀 5352

**:

今天折騰了一天就學了個滾動條,沒有想到挺麻煩的........雖然老師說以後用控制項,現在做真夠費勁的!

為視窗新增滾動條

為視窗新增滾動條非常的簡單,只需在建立視窗時指定視窗的樣式中加上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縱向滾動條

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...

MFC 滾動條 CSCROLLVIEW的使用

今天折騰了一天就學了個滾動條,沒有想到挺麻煩的.雖然老師說以後用控制項,現在做真夠費勁的!為視窗新增滾動條 為視窗新增滾動條非常的簡單,只需在建立視窗時指定視窗的樣式中加上ws vscroll或ws hscroll或是兩者皆有即可。設定選項 通過setscrollinfo函式來設定滾動條 使滾動條大...