寻找解决生成随意色块的解题思路

今天看到一个彩条,想用vs(c++)实现一下,突然发现没什么好的思路,如图所示。要求是:每个色块
是可以拖动改变大小或直接设置其宽度。本来
想用vs自带的static控件实现,感觉有些笨重,直接绘制色块的话,实现色块大小拖动改变又比较困难。

 

MFC?GUI开发的框架各种各样,你这是什么GUI框架下开发。不过无论用什么GUI框架开发,实现你这种交互都是要看需求的。例如随便举例一种做法:

  • 你可以设计成一个固定长度的区域根据每种颜色的长度比例把彩色条画出来。
  • 单独做几个滑条,每个滑条都单独调整某个颜色都长度系数。
  • 把所有都滑条的系数做一个归一化,计算出每种颜色的比例,再实时刷新绘制彩色条。

这种控件需求可以做的很简单,也可以做的很精细,要做成直接在彩色条上调整,那就需要花更多时间和精力了,要看是否有必要,未必合算。