Пример #1
0
/// @brief ÉèÖÃΪˮƽ»ò´¹Ö±»¬¶¯Ìõ.
/// @param hEle   ÔªËؾä±ú.
/// @param bHorizon Èç¹ûֵΪTRUEˮƽ»¬¶¯Ìõ,·ñÔòÏà·´.
void WINAPI XSliderBar_SetHorizon(HELE hEle,BOOL bHorizon)  //ˮƽÏÔʾ»ò´¹Ö±
{
	IsSliderDebug(hEle,__FUNCTION__);
	SLIDER(hEle)->bHorizon=bHorizon;

	slider_ *pObj=SLIDER(hEle);

	int cx=((ele_*)hEle)->rect.right-((ele_*)hEle)->rect.left;
	int cy=((ele_*)hEle)->rect.bottom-((ele_*)hEle)->rect.top;
	int btnWidth= ((ele_*)(pObj->hButton))->rect.right-((ele_*)(pObj->hButton))->rect.left;
	int btnHeight= ((ele_*)(pObj->hButton))->rect.bottom-((ele_*)(pObj->hButton))->rect.top;
	if(pObj->bHorizon)
	{
		RECT rc;
		rc.left=(long)(pObj->pos*pObj->minPos);
		rc.top=cy/2-btnWidth/2;
		rc.right=rc.left+btnHeight;
		rc.bottom=rc.top+btnWidth;
		XEle_SetRect(pObj->hButton,&rc);
	}else
	{
		RECT rc;
		rc.left=cx/2-btnHeight/2;
		rc.top=(long)(pObj->pos*pObj->minPos);

		rc.right=rc.left+btnHeight;
		rc.bottom=rc.top+btnWidth;

		XEle_SetRect(pObj->hButton,&rc);
	}
	XEle_RedrawEle(hEle);
}
Пример #2
0
void SliderBar_Init(HELE hEle,int x,int y,int cx,int cy,int eleType,HXCGUI hParent)
{
	Ele_Init(hEle,x,y,cx,cy,eleType,hParent);
	AddTypeDebug(hEle,XC_SLIDERBAR);

	slider_ *pObj=SLIDER(hEle);
	pObj->range=100;
	pObj->minPos=1;
	pObj->btnWidth=10;

	if(pObj->bHorizon)
	{
		pObj->hButton= XBtn_Create(0,0,pObj->btnWidth,cy);
	}else
	{
		pObj->hButton= XBtn_Create(0,0,cx,pObj->btnWidth);
	}

	XEle_AddEle(hEle,pObj->hButton);
	XEle_EnableFocus(pObj->hButton,FALSE);
	Ele_SetType(pObj->hButton,XC_BUTTON_SLIDERBAR_SLIDER);

	XEle_RegisterMessage(hEle,XM_PAINT,SliderBar_OnDraw);
	XEle_RegisterMessage(hEle,XM_MOUSEMOVE,SliderBar_OnMouseMove);
	XEle_RegisterMessage(hEle,XM_LBUTTONDOWN,SliderBar_OnLButtonDown);
	XEle_RegisterMessage(hEle,XM_LBUTTONUP,SliderBar_OnLButtonUp);
	XEle_RegisterEvent(hEle,XE_MOUSELEAVE,SliderBar_OnEventMouseLeave);	

	XEle_RegisterMessage(pObj->hButton,XM_PAINT,SliderBar_OnDrawButton);
	XEle_RegisterEvent(hEle,XE_DESTROY,SliderBar_OnDestroy);
}
Пример #3
0
/// @brief ÉèÖû¬¿é¿í¶È.
/// @param hEle   ÔªËؾä±ú.
/// @param width  »¬¿é¿í¶È.
void WINAPI XSliderBar_SetButtonWidth(HELE hEle,int width) //ÉèÖû¬¿é¿í¶È
{
	IsSliderDebug(hEle,__FUNCTION__);
	slider_ *pObj=SLIDER(hEle);
	pObj->btnWidth=width;
	SliderBar_Adjust(hEle);
}
Пример #4
0
static void handle_dragged(
        ClutterDragAction *action, ClutterActor *actor, gfloat dx, gfloat dy,
        gpointer user_data) {
    Slider* slider = SLIDER(user_data);
    gfloat const new_pos = slider_get_pos(slider) + (dy/200);
    slider_set_pos(slider, new_pos);
}
Пример #5
0
void slider_float_cb(GtkWidget * widget, gpointer data)
{
	Slider *slider = SLIDER(data);
	GtkAdjustment *adj = (GtkAdjustment *) slider->adj;

	*(slider->data.fptr) = adj->lower + adj->upper - adj->value;

	snprintf(slider->value_str, sizeof(slider->value_str), "%5.2f",
		 *(slider->data.fptr));
	gtk_label_set_text(GTK_LABEL(SLIDER(data)->value_label),
			   slider->value_str);

#if 0
	+g_print("slider: %d\n", *(SLIDER(data)->data));
#endif
}
Пример #6
0
static void slider_clicked(
        ClutterClickAction *action, ClutterActor *actor, gpointer user_data) {
    float x, y;
    clutter_click_action_get_coords(action, &x, &y);
    clutter_actor_transform_stage_point(actor, x, y, &x, &y);
    Slider* slider = SLIDER(user_data);
    slider_set_pos(slider, y/200);
}
Пример #7
0
/// @brief »¬¶¯ÌõÔªËØ,ÏÔʾµ±Ç°½ø¶ÈÌùͼ.
/// @param hEle   ÔªËؾä±ú.
/// @param hImage ͼƬ¾ä±ú.
void WINAPI XSliderBar_SetImage2(HELE hEle,HIMAGE hImage) //ÏÔʾµ±Ç°½ø¶ÈͼƬ
{
	IsSliderDebug(hEle,__FUNCTION__);
	if(hImage)
	{
		IsHImageDebug(hImage,__FUNCTION__);
	}
	Image_AddImage(SLIDER(hEle)->hImage,hImage);
}
Пример #8
0
/// @brief »¬¶¯ÌõÔªËر³¾°Ìùͼ.
/// @param hEle   ÔªËؾä±ú.
/// @param hImage ͼƬ¾ä±ú.
void WINAPI XSliderBar_SetImage(HELE hEle,HIMAGE hImage)
{
	IsSliderDebug(hEle,__FUNCTION__);
	if(hImage)
	{
		IsHImageDebug(hImage,__FUNCTION__);
	}
	Image_AddImage(SLIDER(hEle)->hImage_bk,hImage);
}
Пример #9
0
BOOL CALLBACK SliderBar_OnLButtonUp(HELE hEle,UINT flags,POINT *pPt)
{
	slider_ *pObj=SLIDER(hEle);
	if(pObj->bDown)
	{
		pObj->bDown=FALSE;
		XEle_ReleaseCapture(hEle);    //ÊÍ·ÅÔªËØÊó±ê²¶»ñ
	}
	return FALSE;
}
Пример #10
0
static void slider_allocate(
        ClutterActor *actor, const ClutterActorBox *box,
        ClutterAllocationFlags flags) {
    CLUTTER_ACTOR_CLASS(slider_parent_class)->allocate(actor, box, flags);
    SliderPrivate *priv = SLIDER(actor)->priv;
    const gfloat box_height = clutter_actor_box_get_height(box);
    ClutterActorBox child_box = {
        .x1 = 0.0, .y1 = 0.0,
        .x2=clutter_actor_box_get_width(box),
        .y2=box_height};
    clutter_actor_allocate(priv->box, &child_box, flags);
    child_box.y1 = box_height * (priv->pos - 0.05);
    child_box.y2 = box_height * (priv->pos + 0.05);
    clutter_actor_allocate(priv->handle, &child_box, flags);
}

static void slider_paint(ClutterActor *actor) {
    SliderPrivate *priv = SLIDER(actor)->priv;
    clutter_actor_paint(priv->box);
    clutter_actor_paint(priv->handle);
}
Пример #11
0
/// @brief ÉèÖû¬¿éλÖÃ.
/// @param hEle   ÔªËؾä±ú
/// @param pos  »¬¿éλÖÃ.
void WINAPI XSliderBar_SetPos(HELE hEle,int pos)     //ÉèÖû¬¿éλÖÃ
{
	IsSliderDebug(hEle,__FUNCTION__);
	slider_ *pObj=SLIDER(hEle);

	RECT rect;
	XEle_GetClientRect(hEle,&rect);

	if(pObj->bHorizon)
	{
		int cx=rect.right-rect.left;
		int x=(int)(pos*pObj->minPos);
		RECT rc;
		rc.left=x;
		rc.top=0;
		rc.right=rc.left+pObj->btnWidth;
		rc.bottom=rect.bottom-rect.top;
		if(rc.right>cx)
		{
			rc.right=cx;
			rc.left=rc.right-pObj->btnWidth;
		}
		XEle_SetRect(pObj->hButton,&rc);
	}else
	{
		int cy=rect.bottom-rect.top;
		int y=(int)(pos*pObj->minPos);
		RECT rc=rect;
		rc.bottom=rect.bottom-y;
		rc.top=rc.bottom-pObj->btnWidth;
		if(rc.top<0)
		{
			rc.bottom=pObj->btnWidth;
			rc.top=0;
		}
		XEle_SetRect(pObj->hButton,&rc);
	}	
	SLIDER(hEle)->pos=pos;
	XEle_RedrawEle(hEle);
}
Пример #12
0
BOOL CALLBACK SliderBar_OnEventMouseLeave(HELE hEle,HELE hEventEle)
{
	if(hEle!=hEventEle)
		return FALSE;

	slider_ *pObj=SLIDER(hEle);
	if(pObj->bDown)
	{
		pObj->bDown=FALSE;
		XEle_ReleaseCapture(hEle);    //ÊÍ·ÅÔªËØÊó±ê²¶»ñ
	}
	return FALSE;
}
Пример #13
0
static void slider_destroy(ClutterActor *self) {
    SliderPrivate *priv = SLIDER(self)->priv;

    if (priv->box) {
        clutter_actor_destroy(priv->box);
        priv->box = NULL;
        clutter_actor_destroy(priv->handle);
        priv->handle = NULL;
    }

    if (CLUTTER_ACTOR_CLASS(slider_parent_class)->destroy)
        CLUTTER_ACTOR_CLASS(slider_parent_class)->destroy(self);
}
Пример #14
0
static void slider_get_property(
        GObject *gobject, guint prop_id, GValue *value, GParamSpec *pspec) {
    SliderPrivate *priv = SLIDER(gobject)->priv;

    switch (prop_id) {
        case PROP_POS:
            g_value_set_float(value, priv->pos);
            break;
        default:
            G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, prop_id, pspec);
            break;
    }
}
Пример #15
0
static void slider_set_property(
        GObject *gobject, guint prop_id, const GValue *value,
        GParamSpec *pspec) {
    Slider *slider = SLIDER(gobject);

    switch (prop_id) {
        case PROP_POS:
            slider_set_pos(slider, g_value_get_float(value));
            break;
        default:
            G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, prop_id, pspec);
            break;
    }
}
Пример #16
0
static gboolean scrolled(
        ClutterActor *actor, ClutterEvent *event, gpointer user_data) {
    ClutterScrollDirection direction =
        clutter_event_get_scroll_direction(event);
    Slider* slider = SLIDER(user_data);
    switch (direction) {
        case CLUTTER_SCROLL_UP:
            slider_set_pos(slider, slider_get_pos(slider) - 0.1);
            break;
        case CLUTTER_SCROLL_DOWN:
            slider_set_pos(slider, slider_get_pos(slider) + 0.1);
            break;
        default:
            break;
    }
    return CLUTTER_EVENT_STOP;
}
Пример #17
0
void slider_refresh(GtkWidget * slider)
{
	switch (SLIDER(slider)->type) {
	case SLIDER_TYPE_INT:
		gtk_adjustment_set_value(GTK_ADJUSTMENT
					 (SLIDER(slider)->adj),
					 GTK_ADJUSTMENT(SLIDER(slider)->
							adj)->upper -
					 *(SLIDER(slider)->data.iptr));
		break;
	case SLIDER_TYPE_FLOAT:
		gtk_adjustment_set_value(GTK_ADJUSTMENT
					 (SLIDER(slider)->adj),
					 GTK_ADJUSTMENT(SLIDER(slider)->
							adj)->upper -
					 *(SLIDER(slider)->data.fptr));
		break;
	default:
		printf("Ooops : Bad slider type : %d\n",
		       SLIDER(slider)->type);
		return;
	}
}
Пример #18
0
/// @brief »ñÈ¡»¬¿é¿í¶È.
/// @param hEle   ÔªËؾä±ú.
/// @return  »¬¿é¿í¶È.
int WINAPI XSliderBar_GetButtonWidth(HELE hEle) //»ñÈ¡»¬¿é¿í¶È
{
	IsSliderDebug(hEle,__FUNCTION__);
	slider_ *pObj=SLIDER(hEle);
	return pObj->btnWidth;
}
Пример #19
0
void SliderBar_Adjust(HELE hEle)
{
	slider_ *pObj=SLIDER(hEle);

	if(SLIDER(hEle)->bHorizon)
	{
		double cx=(((ele_*)hEle)->rect.right-((ele_*)hEle)->rect.left)-SLIDER(hEle)->btnWidth;
		if(0!=cx && 0!=SLIDER(hEle)->range)
			SLIDER(hEle)->minPos=cx/SLIDER(hEle)->range;
		else
			SLIDER(hEle)->minPos=0;
	}else
	{
		double cy=(((ele_*)hEle)->rect.bottom-((ele_*)hEle)->rect.top)-SLIDER(hEle)->btnWidth;
		if(0!=cy && 0!=SLIDER(hEle)->range)
			SLIDER(hEle)->minPos=cy/SLIDER(hEle)->range;
		else
			SLIDER(hEle)->minPos=0;
	}

	int cx=((ele_*)hEle)->rect.right-((ele_*)hEle)->rect.left;
	int cy=((ele_*)hEle)->rect.bottom-((ele_*)hEle)->rect.top;
	int btnWidth= ((ele_*)(pObj->hButton))->rect.right-((ele_*)(pObj->hButton))->rect.left;
	int btnHeight= ((ele_*)(pObj->hButton))->rect.bottom-((ele_*)(pObj->hButton))->rect.top;
	if(pObj->bHorizon)
	{
		btnWidth=pObj->btnWidth;

		RECT rc;
		rc.left=(long)(pObj->pos*pObj->minPos);
		rc.top=cy/2-btnHeight/2;
		rc.right=rc.left+btnWidth;
		rc.bottom=rc.top+btnHeight;
		XEle_SetRect(pObj->hButton,&rc);
	}else
	{
		btnHeight=pObj->btnWidth;
		RECT rc;
		rc.left=cx/2-btnWidth/2;
		rc.top=(long)(pObj->pos*pObj->minPos);
		rc.right=rc.left+btnWidth;
		rc.bottom=rc.top+btnHeight;
		XEle_SetRect(pObj->hButton,&rc);
	}
	//XEle_RedrawEle(hEle);
}
Пример #20
0
BOOL CALLBACK SliderBar_OnLButtonDown(HELE hEle,UINT flags,POINT *pPt)
{
	slider_ *pObj=SLIDER(hEle);
	if(!pObj->bDown)
	{
		pObj->bDown=TRUE;
		RECT rect;
		XEle_GetClientRect(hEle,&rect);
		int cx=rect.right-rect.left;
		int cy=rect.bottom-rect.top;
		int btnWidth= ((ele_*)(pObj->hButton))->rect.right-((ele_*)(pObj->hButton))->rect.left;
		int btnHeight= ((ele_*)(pObj->hButton))->rect.bottom-((ele_*)(pObj->hButton))->rect.top;
		if(pObj->bHorizon)
		{
			int x=pPt->x-(btnWidth/2);

			if(x<0)
				x=0;
			else if(x>(cx-btnWidth)) 
				x=cx-btnWidth;

			int pos=(int)( x/pObj->minPos);
			if(pos != pObj->pos)
			{
				pObj->pos=pos;
				RECT rc;
				rc.left=(long)(pos*pObj->minPos);
				rc.top=cy/2-btnHeight/2;
				rc.right=rc.left+btnWidth;
				rc.bottom=rc.top+btnHeight;
				XEle_SetRect(pObj->hButton,&rc);
				XEle_SetCapture(hEle);   //ÉèÖÃÔªËØÊó±ê²¶»ñ

				BUTTON(pObj->hButton)->state=STATE_DOWN;
				Ele_SendEvent(hEle,XE_SLIDER_CHANGE,(WPARAM)pObj->pos,0);
				XEle_RedrawEle(hEle);
			}
		}else
		{
			int height=rect.bottom-pPt->y;
			height=height-(btnHeight/2);

			if(height<0)
				height=0;
			else if(height>(cy-btnHeight)) 
				height=cy-btnHeight;

			int pos=(int)( height/pObj->minPos);
			if(pos != pObj->pos)
			{
				pObj->pos=pos;
				RECT rc=rect;
				rc.left=cx/2-btnWidth/2;
				rc.right=rc.left+btnWidth;
				rc.bottom=rc.bottom-height;
				rc.top=rc.bottom-pObj->btnWidth;
				XEle_SetRect(pObj->hButton,&rc);
				XEle_SetCapture(hEle);   //ÉèÖÃÔªËØÊó±ê²¶»ñ
				Ele_SendEvent(hEle,XE_SLIDER_CHANGE,(WPARAM)pObj->pos,0);
				XEle_RedrawEle(hEle);
			}
		}
	}
	return FALSE;
}
Пример #21
0
/// @brief ÉèÖû¬¶¯·¶Î§.
/// @param hEle   ÔªËؾä±ú
/// @param range  »¬¶¯·¶Î§.
void WINAPI XSliderBar_SetRange(HELE hEle,int range)  //ÉèÖû¬¶¯·¶Î§
{
	IsSliderDebug(hEle,__FUNCTION__);
	SLIDER(hEle)->range=range;
	if(SLIDER(hEle)->bHorizon)
	{
		double cx=(((ele_*)hEle)->rect.right-((ele_*)hEle)->rect.left)-SLIDER(hEle)->btnWidth;

		if(0!=cx && 0!=SLIDER(hEle)->range)
			SLIDER(hEle)->minPos=cx/SLIDER(hEle)->range;
		else
			SLIDER(hEle)->minPos=0;
	}else
	{
		double cy=(((ele_*)hEle)->rect.bottom-((ele_*)hEle)->rect.top)-SLIDER(hEle)->btnWidth;

		if(0!=cy && 0!=SLIDER(hEle)->range)
			SLIDER(hEle)->minPos=cy/SLIDER(hEle)->range;
		else
			SLIDER(hEle)->minPos=0;
	}
}
Пример #22
0
void CALLBACK SliderBar_OnDestroy(HELE hEle)  //Ïú»Ù
{
	if(SLIDER(hEle)->hImage_bk) XImage_Destroy(SLIDER(hEle)->hImage_bk);
	if(SLIDER(hEle)->hImage) XImage_Destroy(SLIDER(hEle)->hImage);
}
Пример #23
0
/// @brief »ñÈ¡»¬¶¯ÌõÉÏ»¬¿é¾ä±ú.·µ»Ø¾ä±úÀàÐÍΪButton.
/// @param hEle   ÔªËؾä±ú
/// @return  »¬¿é¾ä±ú.
HELE WINAPI XSliderBar_GetButton(HELE hEle)      //»ñÈ¡»¬¿é
{
	IsSliderDebug(hEle,__FUNCTION__);
	return SLIDER(hEle)->hButton;
}
Пример #24
0
BOOL CALLBACK SliderBar_OnDraw(HELE hEle,HDRAW hDraw)
{
	RECT rect;
	XEle_GetClientRect(hEle,&rect);

	slider_ *pObject=SLIDER(hEle);

	if(pObject->hImage_bk)
	{
		XDraw_HImageSuper_(hDraw,pObject->hImage_bk,&rect);
	}else
	{
		if(pObject->bHorizon) //ˮƽ
		{
			int middle=(rect.bottom-rect.top)/2+1;

			HRGN hRgn=XDraw_CreateRoundRectRgn_(hDraw,0,middle-4,rect.right+1,middle+4,3,3);
			XDraw_SelectClipRgn_(hDraw,hRgn);

			//»æÖÆÍâ±ßÏß
			HBRUSH hBrush=XDraw_CreateSolidBrush_(hDraw,RGB(130,130,130));
			XDraw_FrameRgn_(hDraw,hRgn,hBrush,1,1);
			//DeleteObject(hBrush);

			/////////
			HPEN hPen1=XDraw_CreatePen_(hDraw,PS_SOLID,1,RGB(80,80,80));
			HGDIOBJ hOld1=XDraw_SelectObject_(hDraw,hPen1);

			XDraw_MoveToEx_(hDraw,3,         middle-4,NULL);
			XDraw_LineTo_(hDraw,rect.right-2,middle-4);

			//XDraw_SelectObject_(hDraw,hOld1);
			//DeleteObject(hPen1);
			///////////////
			HPEN hPen=XDraw_CreatePen_(hDraw,PS_SOLID,1,RGB(200,200,200));
			HGDIOBJ hOld=XDraw_SelectObject_(hDraw,hPen);

			XDraw_MoveToEx_(hDraw,2,         middle-3,NULL);
			XDraw_LineTo_(hDraw,rect.right-2,middle-3);

		//	SelectObject(hdc,hOld);
		//	DeleteObject(hPen);

			XDraw_SelectClipRgn_(hDraw,NULL);
		//	DeleteObject(hRgn);
		}else //´¹Ö±
		{
			int middle=(rect.right-rect.left)/2+1;

			HRGN hRgn=XDraw_CreateRoundRectRgn_(hDraw,middle-4,0,middle+4,rect.bottom,3,3);
			XDraw_SelectClipRgn_(hDraw,hRgn);
			//»æÖÆÍâ±ßÏß
			HBRUSH hBrush=XDraw_CreateSolidBrush_(hDraw,RGB(130,130,130));
			XDraw_FrameRgn_(hDraw,hRgn,hBrush,1,1);
			//DeleteObject(hBrush);

			/////////
			HPEN hPen1=XDraw_CreatePen_(hDraw,PS_SOLID,1,RGB(80,80,80));
			HGDIOBJ hOld1=XDraw_SelectObject_(hDraw,hPen1);

			XDraw_MoveToEx_(hDraw, middle-4,3,NULL);
			XDraw_LineTo_(hDraw,middle-4,rect.bottom-2);

	//		SelectObject(hdc,hOld1);
	//		DeleteObject(hPen1);
			///////////////
			HPEN hPen=XDraw_CreatePen_(hDraw,PS_SOLID,1,RGB(200,200,200));
			HGDIOBJ hOld=XDraw_SelectObject_(hDraw,hPen);

			XDraw_MoveToEx_(hDraw, middle-3,2,NULL);
			XDraw_LineTo_(hDraw,middle-3,rect.bottom-2);

			//SelectObject(hdc,hOld);
			//DeleteObject(hPen);

			XDraw_SelectClipRgn_(hDraw,NULL);
			//DeleteObject(hRgn);
		}
	}

	HDC hdc=XDraw_GetHDC_(hDraw);
	//½ø¶ÈÌùͼ
	if(pObject->bHorizon) //ˮƽ
	{
		if(pObject->hImage)
		{
			int cx=0;
			if(0!=pObject->range)
			{
				double  pos=(double)pObject->pos/pObject->range;
				int width=rect.right-rect.left;
				cx=(int)(pos*width);
			}

			RECT rc=rect;
			rc.right=cx;

			switch(XImage_GetDrawType(pObject->hImage))
			{
			case XC_IMAGE_DEFAULT: //ÆÕͨ:
			case XC_IMAGE_ADAPTIVE:	
				XDraw_HImage2_(hDraw,pObject->hImage,rc.left,rc.top,rc.right-rc.left,rc.bottom-rc.top);
				break;
			case XC_IMAGE_STRETCH: //À­Éì
				XDraw_HImageStretch_(hDraw,pObject->hImage,rc.left,rc.top,rc.right-rc.left,rc.bottom-rc.top);
				break;
			case XC_IMAGE_TILE://ƽÆÌ
				XDraw_HImageExTile_(hDraw,pObject->hImage,&rc,0);
				break;
			}
		}
	}else //´¹Ö±
	{
		if(pObject->hImage)
		{
			int height=0;
			if(0!=pObject->range)
			{
				double  pos=(double)pObject->pos/pObject->range;
				height=(int)(pos*(rect.bottom-rect.top));
			}

			RECT rc=rect;
			rc.top=rc.bottom-height;

			switch(XImage_GetDrawType(pObject->hImage))
			{
			case XC_IMAGE_DEFAULT: //ÆÕͨ:
			case XC_IMAGE_ADAPTIVE:
				{	
					RECT rc2=rc;
					rc2.bottom=XImage_GetHeight(pObject->hImage);
					rc2.top=rc2.bottom-height;
					XDraw_HImageSuper2_(hDraw,pObject->hImage,&rc,&rc2);
				}
				break;
			case XC_IMAGE_STRETCH: //À­Éì
				XDraw_HImageStretch_(hDraw,pObject->hImage,rc.left,rc.top,rc.right-rc.left,height);
				break;
			case XC_IMAGE_TILE://ƽÆÌ
				XDraw_HImageExTile_(hDraw,pObject->hImage,&rc,1);
				break;
			}
		}
	}

	return TRUE;
}
Пример #25
0
/// @brief »ñÈ¡»¬¿éλÖÃ.
/// @param hEle   ÔªËؾä±ú
/// @return  »¬¿éλÖÃ.
int  WINAPI XSliderBar_GetPos(HELE hEle)            //»ñÈ¡»¬¿éÖµ
{
	IsSliderDebug(hEle,__FUNCTION__);
	return SLIDER(hEle)->pos;
}