首页 > 代码库 > Sliders
Sliders
1 //Sliders.cpp 2 3 /* 4 Copyright 2000-2004 The VCF Project. 5 Please see License.txt in the top level directory 6 where you installed the VCF. 7 */ 8 9 10 #include "vcf/ApplicationKit/ApplicationKit.h" 11 #include "vcf/ApplicationKit/ControlsKit.h" 12 13 using namespace VCF; 14 15 /** 16 This example show how to add slider controls 17 */ 18 class SlidersWindow : public Window { 19 public: 20 SlidersWindow() { 21 setCaption( "Sliders" ); 22 setWidth( 500 ); 23 setHeight( 500 ); 24 25 Rect r = getClientBounds(); 26 27 double y = 20; 28 29 Label* label = new Label(); 30 31 label->setBounds( 20, y, r.getWidth()-40, label->getPreferredHeight() ); 32 label->setAnchor( AnchorLeft|AnchorRight); 33 label->setCaption( "Slider 1 position: " ); 34 label->setName( "Label1" ); 35 add( label ); 36 37 38 y = label->getBottom() + 20; 39 40 41 42 SliderControl* slider = new SliderControl(); 43 slider->setBounds( 20, y, r.getWidth()-40, slider->getPreferredHeight() ); 44 45 slider->setAnchor( AnchorLeft|AnchorRight); 46 47 slider->setTickMarkStyle( SliderControl::tmsTopLeft ); 48 49 add( slider ); 50 slider->setPosition( slider->getMaxValue() ); 51 52 slider->PositionChanged += 53 new ClassProcedure1<Event*,SlidersWindow>( this, &SlidersWindow::onSliderPositionChanged, "SlidersWindow::onSliderPositionChanged" ); 54 55 56 57 y = slider->getBottom() + 20; 58 59 60 slider = new SliderControl(); 61 slider->setBounds( 20, y, r.getWidth()-40, slider->getPreferredHeight() ); 62 63 slider->setAnchor( AnchorLeft|AnchorRight); 64 65 slider->setTickMarkStyle( SliderControl::tmsBottomRight ); 66 67 add( slider ); 68 69 70 y = slider->getBottom() + 20; 71 72 73 slider = new SliderControl(); 74 slider->setBounds( 20, y, r.getWidth()-40, slider->getPreferredHeight() ); 75 76 slider->setAnchor( AnchorLeft|AnchorRight); 77 78 slider->setTickFrequency( 5 ); 79 80 slider->setMaxValue( 60 ); 81 slider->setMinValue( 10 ); 82 83 slider->setTickMarkStyle( SliderControl::tmsBottomRight | SliderControl::tmsTopLeft ); 84 85 add( slider ); 86 87 88 y = slider->getBottom() + 20; 89 double x = 20; 90 91 92 slider = new SliderControl(); 93 slider->setDisplayOrientation( SliderControl::doVertical ); 94 slider->setBounds( x, y, slider->getPreferredWidth(), 200 ); 95 96 slider->setAnchor( AnchorTop|AnchorBottom); 97 slider->setTickMarkStyle( SliderControl::tmsBottomRight ); 98 99 add( slider );100 101 x = slider->getRight() + 20;102 103 104 slider = new SliderControl();105 slider->setDisplayOrientation( SliderControl::doVertical );106 slider->setBounds( x, y, slider->getPreferredWidth(), 200 );107 108 slider->setAnchor( AnchorTop|AnchorBottom);109 slider->setTickMarkStyle( SliderControl::tmsTopLeft );110 111 add( slider );112 113 x = slider->getRight() + 20;114 115 116 117 slider = new SliderControl();118 slider->setDisplayOrientation( SliderControl::doVertical );119 slider->setBounds( x, y, slider->getPreferredWidth(), 200 );120 121 slider->setAnchor( AnchorTop|AnchorBottom);122 slider->setTickMarkStyle( SliderControl::tmsBottomRight | SliderControl::tmsTopLeft );123 124 slider->setTickFrequency( 25 );125 126 add( slider );127 128 x = slider->getRight() + 20;129 130 131 //slider->setEnabled( false );132 }133 134 virtual ~SlidersWindow(){};135 136 void onSliderPositionChanged( Event* e ) {137 Label* label = (Label*)findComponent( "Label1" );138 SliderControl* slider = (SliderControl*)e->getSource();139 label->setCaption( Format( "Slider1 position: %0.3f" ) % slider->getPosition() );140 }141 };142 143 144 145 146 class SlidersApplication : public Application {147 public:148 149 SlidersApplication( int argc, char** argv ) : Application(argc, argv) {150 151 }152 153 virtual bool initRunningApplication(){154 bool result = Application::initRunningApplication();155 156 Window* mainWindow = new SlidersWindow();157 setMainWindow(mainWindow);158 mainWindow->show();159 160 161 return result;162 }163 164 };165 166 167 int main(int argc, char *argv[])168 {169 Application* app = new SlidersApplication( argc, argv );170 171 172 Application::main();173 174 return 0;175 }176 177 178 /**179 $Id: Sliders.cpp 3184 2007-09-17 02:26:00Z ddiego $180 */
Sliders
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。