青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-341  評論-2670  文章-0  trackbacks-0
    Win32 API為了讓控件更為有用真是煞費(fèi)苦心,不僅Tab沒有提供控件可見控制,連Scroll Bar點(diǎn)擊的時(shí)候竟然是不修改Position的,要我在每一個(gè)消息里用SBM_SETSCROLLINFO來設(shè)置當(dāng)前的位置。而且當(dāng)前的位置的獲得還不是一致的,根據(jù)消息的不同而不同。真是故意為難人啊。

    文本框里面的東西是為了檢查各個(gè)消息中GetPosition函數(shù)的正確性而打出來的。輸出消息的代碼如下:
  1 #include "..\..\..\..\VL++\Library\Windows\VL_WinGUI.h"
  2 
  3 using namespace vl;
  4 using namespace vl::windows;
  5 
  6 class MyForm : public VL_WinForm
  7 {
  8 protected:
  9     VL_WinScroll*            FHScroll;
 10     VL_WinScroll*            FVScroll;
 11     VL_WinEdit*                FEdit;
 12 
 13     void InitControls()
 14     {
 15         FHScroll=new VL_WinScroll(this,true);
 16         FHScroll->Move(0,380,380,20);
 17         FVScroll=new VL_WinScroll(this,false);
 18         FVScroll->Move(380,0,20,380);
 19         FEdit=new VL_WinEdit(this,true);
 20         FEdit->Move(0,0,380,380);
 21         FEdit->SetReadonly(true);
 22 
 23         FHScroll->OnScrollMin.Bind(this,&MyForm::Scroll_ScrollMin);
 24         FHScroll->OnScrollMax.Bind(this,&MyForm::Scroll_ScrollMax);
 25         FHScroll->OnArrowDec.Bind(this,&MyForm::Scroll_ArrowDec);
 26         FHScroll->OnArrowInc.Bind(this,&MyForm::Scroll_ArrowInc);
 27         FHScroll->OnPageDec.Bind(this,&MyForm::Scroll_PageDec);
 28         FHScroll->OnPageInc.Bind(this,&MyForm::Scroll_PageInc);
 29         FHScroll->OnTracking.Bind(this,&MyForm::Scroll_Tracking);
 30         FHScroll->OnThumbUp.Bind(this,&MyForm::Scroll_ThumbUp);
 31         FHScroll->OnPositionChanged.Bind(this,&MyForm::Scroll_PositionChanged);
 32         FHScroll->OnEndScroll.Bind(this,&MyForm::Scroll_EndScroll);
 33 
 34         FVScroll->OnScrollMin.Bind(this,&MyForm::Scroll_ScrollMin);
 35         FVScroll->OnScrollMax.Bind(this,&MyForm::Scroll_ScrollMax);
 36         FVScroll->OnArrowDec.Bind(this,&MyForm::Scroll_ArrowDec);
 37         FVScroll->OnArrowInc.Bind(this,&MyForm::Scroll_ArrowInc);
 38         FVScroll->OnPageDec.Bind(this,&MyForm::Scroll_PageDec);
 39         FVScroll->OnPageInc.Bind(this,&MyForm::Scroll_PageInc);
 40         FVScroll->OnTracking.Bind(this,&MyForm::Scroll_Tracking);
 41         FVScroll->OnThumbUp.Bind(this,&MyForm::Scroll_ThumbUp);
 42         FVScroll->OnPositionChanged.Bind(this,&MyForm::Scroll_PositionChanged);
 43         FVScroll->OnEndScroll.Bind(this,&MyForm::Scroll_EndScroll);
 44     }
 45 
 46     void Print(VUnicodeString Message)
 47     {
 48         FEdit->SetText(FEdit->GetText()+Message+L"\r\n");
 49         FEdit->Select(FEdit->GetText().Length(),0);
 50         FEdit->ScrollToCaret();
 51     }
 52 
 53     void Print(VL_Base* Sender , VUnicodeString Message)
 54     {
 55         VL_WinScroll* Scroll=dynamic_cast<VL_WinScroll*>(Sender);
 56         if(Scroll)
 57         {
 58             if(Scroll==FHScroll)
 59             {
 60                 Print(L"Horizontal , "+Message+L" = "+VUnicodeString(Scroll->GetPosition()));
 61             }
 62             else
 63             {
 64                 Print(L"Vertical , "+Message+L" = "+VUnicodeString(Scroll->GetPosition()));
 65             }
 66         }
 67     }
 68 
 69     void Scroll_ScrollMin(VL_Base* Sender)
 70     {
 71         Print(Sender,L"Min");
 72     }
 73 
 74     void Scroll_ScrollMax(VL_Base* Sender)
 75     {
 76         Print(Sender,L"Max");
 77     }
 78 
 79     void Scroll_ArrowDec(VL_Base* Sender)
 80     {
 81         Print(Sender,L"Arrow-");
 82     }
 83 
 84     void Scroll_ArrowInc(VL_Base* Sender)
 85     {
 86         Print(Sender,L"Arrow+");
 87     }
 88 
 89     void Scroll_PageDec(VL_Base* Sender)
 90     {
 91         Print(Sender,L"Page-");
 92     }
 93 
 94     void Scroll_PageInc(VL_Base* Sender)
 95     {
 96         Print(Sender,L"Page+");
 97     }
 98 
 99     void Scroll_Tracking(VL_Base* Sender)
100     {
101         Print(Sender,L"Tracking");
102     }
103 
104     void Scroll_ThumbUp(VL_Base* Sender)
105     {
106         Print(Sender,L"ThumbUp");
107     }
108 
109     void Scroll_PositionChanged(VL_Base* Sender)
110     {
111         Print(Sender,L"Changed");
112     }
113 
114     void Scroll_EndScroll(VL_Base* Sender)
115     {
116         Print(Sender,L"End");
117     }
118 
119 public:
120 
121     MyForm():VL_WinForm(true)
122     {
123         SetMaximizeBox(false);
124         SetBorder(vwfbSingle);
125         SetClientWidth(400);
126         SetClientHeight(400);
127         SetText(L"Vczh Form");
128         MoveCenter();
129         InitControls();
130         Show();
131     }
132 };
133 
134 void main()
135 {
136     new MyForm;
137     GetApplication()->Run();
138 }
    至于我是怎么解決GetPosition的呢?因?yàn)槊恳淮尾僮鱏croll Bar的Position都不會(huì)改,所以理所當(dāng)然的,我要替它改……
 1     LRESULT VL_WinScroll::ProcessMessage(UINT Message , WPARAM& wParam , LPARAM& lParam , VBool& CallDefaultProcedure)
 2     {
 3         LRESULT Result=0;
 4         switch(Message)
 5         {
 6         case WM_VSCROLL_DISPATCHED:
 7         case WM_HSCROLL_DISPATCHED:
 8             switch(LOWORD(wParam))
 9             {
10             case SB_ENDSCROLL:
11                 OnEndScroll(this);
12                 break;
13             case SB_LEFT:
14                 OnScrollMin(this);
15                 OnPositionChanged(this);
16                 break;
17             case SB_RIGHT:
18                 OnScrollMax(this);
19                 OnPositionChanged(this);
20                 break;
21             case SB_LINELEFT:
22                 SetPosition(GetPosition()-1);
23                 OnArrowDec(this);
24                 OnPositionChanged(this);
25                 break;
26             case SB_LINERIGHT:
27                 SetPosition(GetPosition()+1);
28                 OnArrowInc(this);
29                 OnPositionChanged(this);
30                 break;
31             case SB_PAGELEFT:
32                 SetPosition(GetPosition()-GetPage());
33                 OnPageDec(this);
34                 OnPositionChanged(this);
35                 break;
36             case SB_PAGERIGHT:
37                 OnPageInc(this);
38                 SetPosition(GetPosition()+GetPage());
39                 OnPositionChanged(this);
40                 break;
41             case SB_THUMBPOSITION:
42                 {
43                     SCROLLINFO Info;
44                     GetInfo(Info);
45                     SetPosition(Info.nTrackPos);
46                     OnThumbUp(this);
47                     OnPositionChanged(this);
48                 }
49                 break;
50             case SB_THUMBTRACK:
51                 {
52                     SCROLLINFO Info;
53                     GetInfo(Info);
54                     SetPosition(Info.nTrackPos);
55                     OnTracking(this);
56                     OnPositionChanged(this);
57                 }
58                 break;
59             }
60             Result=VL_WinControl::ProcessMessage(Message,wParam,lParam,CallDefaultProcedure);
61             break;
62         default:
63             Result=VL_WinControl::ProcessMessage(Message,wParam,lParam,CallDefaultProcedure);
64         }
65         return Result;
66     }

posted on 2008-08-15 06:26 陳梓瀚(vczh) 閱讀(1443) 評論(1)  編輯 收藏 引用 所屬分類: C++

評論:
# re: Scroll Bar完成 2008-08-15 07:27 | 沈臻豪(foxtail)
滾動(dòng)條終于出來啦 等了好久  回復(fù)  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩直播| 91久久久精品| 欧美激情一区二区| 欧美日韩在线一区| 久久一区二区三区av| 欧美片在线播放| 久久男人资源视频| 欧美日本成人| 欧美+日本+国产+在线a∨观看| 欧美日韩日本网| 久久只有精品| 国产精品久久久| 亚洲精品韩国| 国产在线视频欧美| 99国产精品私拍| **性色生活片久久毛片| 日韩视频在线你懂得| 精品动漫3d一区二区三区免费| 制服诱惑一区二区| 亚洲精品中文字| 久久亚洲国产成人| 性色av一区二区三区| 欧美激情一区二区三区在线| 亚洲免费一在线| 欧美日本在线一区| 久久久人成影片一区二区三区观看| 欧美日韩免费在线| 欧美激情一区二区三区高清视频| 国产亚洲女人久久久久毛片| 亚洲视频免费在线观看| 亚洲免费高清| 麻豆精品一区二区综合av| 久久久久久伊人| 国产美女一区| 亚洲午夜激情| 亚洲综合精品一区二区| 欧美三级不卡| 中日韩男男gay无套| 亚洲网址在线| 国产精品久99| 亚洲欧美激情一区| 欧美一区综合| 国产视频在线观看一区| 亚洲欧美日韩成人高清在线一区| 亚洲一区二区三区高清不卡| 欧美日韩视频免费播放| 91久久精品一区二区别| 亚洲美女av电影| 欧美精品一线| 一本色道久久| 亚洲——在线| 国产精品入口福利| 亚洲影院免费观看| 亚洲欧美在线x视频| 国产精品五区| 欧美尤物一区| 老司机免费视频一区二区三区| 激情视频一区| 久久一二三区| 亚洲精品视频在线观看免费| 亚洲天堂成人| 国产一本一道久久香蕉| 久久久久一区二区| 欧美激情网站在线观看| 中文日韩电影网站| 国产精品白丝av嫩草影院| 亚洲欧美国产不卡| 免费成人小视频| 亚洲精品欧美日韩专区| 欧美日韩精品免费观看视一区二区| 日韩亚洲国产欧美| 午夜精品免费视频| 在线播放日韩专区| 欧美啪啪一区| 亚洲欧美国产精品桃花| 欧美福利小视频| 亚洲网站在线观看| 黑人一区二区| 欧美日韩国产色视频| 亚洲综合视频一区| 免费成人av| 亚洲直播在线一区| 在线观看欧美日韩| 欧美日本国产视频| 午夜精品视频| 亚洲日本中文字幕| 久久久国产精品一区二区三区| 亚洲欧洲日本国产| 欧美日韩一区自拍| 久久九九久久九九| 一区二区三区色| 欧美国产日韩一区二区| 香港成人在线视频| 亚洲国产视频一区| 国产欧美视频一区二区三区| 欧美激情一区二区久久久| 欧美一区二区三区四区夜夜大片| 亚洲精品国产视频| 久久精品91久久香蕉加勒比| 亚洲第一精品夜夜躁人人爽| 欧美精品一区二区三区蜜臀| 性久久久久久久久久久久| 亚洲第一区在线观看| 亚洲一区二区三区久久 | 欧美色图首页| 久久久人成影片一区二区三区观看| 日韩一级大片| 欧美成人a视频| 久久xxxx| 亚洲特色特黄| 亚洲毛片在线| 亚洲国产精品小视频| 国产亚洲网站| 国产精品入口尤物| 欧美日韩一区在线播放| 欧美福利一区| 免费日韩av电影| 久久久久天天天天| 久久电影一区| 欧美一区影院| 午夜欧美精品| 午夜国产精品影院在线观看| 日韩亚洲成人av在线| 亚洲人成艺术| 亚洲国产黄色| 亚洲黄色成人| 亚洲深夜福利在线| 亚洲国产色一区| 免费人成精品欧美精品| 久久精品视频在线免费观看| 欧美一区91| 欧美亚洲网站| 欧美一级专区| 午夜在线视频观看日韩17c| 亚洲欧美久久久| 亚洲人永久免费| 亚洲靠逼com| aaa亚洲精品一二三区| 亚洲麻豆av| 亚洲精选91| 日韩午夜视频在线观看| 亚洲精品一区二区三区婷婷月| 亚洲人成网在线播放| 亚洲精选成人| 亚洲网站啪啪| 久久久国产精彩视频美女艺术照福利| 亚洲欧美在线看| 欧美一区午夜精品| 久久麻豆一区二区| 免费看亚洲片| 亚洲精品九九| 亚洲一区二区三区在线| 性欧美大战久久久久久久免费观看| 欧美诱惑福利视频| 麻豆av一区二区三区| 欧美精品一区三区| 国产精品系列在线| 海角社区69精品视频| 亚洲激情网站| 亚洲一区二区在线播放| 欧美一区二区三区视频在线| 久久中文字幕一区| 亚洲国产综合在线看不卡| 一区二区日韩精品| 欧美在线一级va免费观看| 久久综合久久综合久久综合| 欧美老女人xx| 国产精品伊人日日| 亚洲第一久久影院| 中国日韩欧美久久久久久久久| 久久精品成人| 91久久在线播放| 亚洲欧美国产不卡| 欧美成人免费小视频| 国产精品激情av在线播放| 黄色成人免费观看| 中国成人亚色综合网站| 久久久之久亚州精品露出| 亚洲乱码一区二区| 欧美诱惑福利视频| 欧美日韩亚洲一区二区| 黄网站免费久久| 亚洲欧美不卡| 亚洲国产精品va在线看黑人动漫| 亚洲天堂网在线观看| 狂野欧美激情性xxxx欧美| 国产精品青草久久| 亚洲理论在线| 免费成人高清| 性刺激综合网| 欧美午夜不卡在线观看免费 | 欧美日韩大片一区二区三区| 国内久久精品| 亚洲综合首页| 蜜桃久久精品一区二区| 欧美精品一区二区高清在线观看| 亚洲一区二区网站| 亚洲国产视频一区| 欧美成人dvd在线视频| 蜜臀av国产精品久久久久|