我想画一个滚动条 CreateWindow (TEXT("SCROLLBAR "), NULL,
WS_HSCROLL  |  WS_VSCROLL,
20, 0,
20, 40,
hwnd, (HMENU)ID_SCROLLBAR, GetModuleHandle(NULL),  NULL) ;
却不出来,而且这样创建可以弄成有风格的外观吗?? 谢谢大家帮忙了

解决方案 »

  1.   

    //创建滚动条
    if (!pScroll)
    {
    pScroll = new CScrollBar;
    if (!pScroll) return false;
    BOOL ret = pScroll->Create
    (SBS_HORZ|SBS_TOPALIGN|WS_CHILD, is.ScrollRect, is.parent, 100);
    if (!ret) return false;
    pScroll->ShowScrollBar();
    }
      

  2.   

    不知道你这个方法行不行得通,但是代码有点小问题
    CreateWindow (TEXT("SCROLLBAR "), NULL, 
    WS_HSCROLL  |  WS_VSCROLL | WS_CHILD
    20, 0, 
    20, 40, 
    hwnd, (HMENU)ID_SCROLLBAR, GetModuleHandle(NULL),  NULL) ;
      

  3.   

    CreateWindow(TEXT("SCROLLBAR"), NULL, WS_CHILD|WS_VISIBLE, 0,  0, 10, 40, hwnd,  (HMENU)ID_SCROLLBAR, GetModuleHandle(NULL), NULL); SCROLLINFO si; 
    si.cbSize = sizeof( SCROLLINFO ); 
    si.fMask = SIF_PAGE | SIF_RANGE; 
    si.nMin = 0; 
    si.nMax = 50; 
    si.nPage = 5; 
    SetScrollInfo( hwnd,  SB_VERT, &si,  TRUE );        //未改变滚动条长度
    HWND hscrollbar = GetDlgItem(hwnd, ID_SCROLLBAR);
    MoveWindow(hscrollbar, 0, 0, 20, 40,  FALSE);
    我是这样创建的滚动条,发现不用CreateWindow也能出现一个滚动条,我想改变整个滚动跳的长度,就是不想是让全屏的滚动条,想用MoveWindow设置但是还是没效果,请大家帮帮忙吧 非常感谢
      

  4.   

    滚动条的长度更当前窗口的大小和你的si.nPage有关,比如当前窗口800*600,你的nPage = 500,滚动条就比较长了,自己算下就好了.