【问题标题】:FLTK Fl_Scrollbar IssueFLTK Fl_Scrollbar 问题
【发布时间】:2017-09-13 04:31:38
【问题描述】:

滚动条有点问题。

如果我再次将滚动条移回顶部,问题是没有分隔符了。

#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Scroll.H>
#include <FL/Fl_Box.H>
#define BW 200 //box width
#define BH 50 //box height
#define SEP 10 //separator

int main(){
  Fl_Window win(500, 300);
  Fl_Scroll *scr=new Fl_Scroll(10,10,win.w()-20,win.h()-20);
  scr->color(FL_GREEN);
  int col=scr->w()/BW;
  int c=0,line=SEP;
  for(int i=1;i<=20;i++){
     Fl_Box *b = new Fl_Box(scr->x()+SEP+(c*(BW+SEP)),scr->y()+line,BW,BH);
     b->box(FL_FLAT_BOX);
     b->color(FL_RED);
     c += 1;
     if(c == col){
        c = 0;
        line += (BH + SEP);
     }
  }
  new Fl_Box(SEP,scr->y()+line-SEP,SEP,SEP);
  win.show();
  return Fl::run(); 
}

谢谢。

【问题讨论】:

    标签: c++ user-interface fltk


    【解决方案1】:

    无法真正说出这种行为的原因是什么,但是

    1. 如果最后一个 Fl_Box 被删除,底部的分隔符就会消失。
    2. 如果在循环之前添加一个框,它不会丢失顶行

      新的 Fl_Box(SEP,0,SEP,SEP);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多