Continued working on my component plugin for 3dgs. The GUI component got better. Here a Video:
http://youtu.be/lk2JZ6bL2iQ
(sorry for the crap music. First time using that videocapturing program and couldn't find a way to switch it off :P)

The code you need to do this is very simple and short:
Code:
CPGui(Player)
	//normal button
	if(UIButton(UIRectC(screen_size.x - 200, 100, 200, 40), " A normal button", close))
		printf("button pressed!");
	//Text field
	str_cpy(this->name, UITextField(UIRectC(0, 100, 400, 22), this->name));
	UIIf(UIRepeatButton(UIRectC(screen_size.x - 200, 300, 200, 40), "This is a repeat button"))
		UILabel(UIRectC(screen_size.x - 200, 350, 200, 40), "button down");
	UIEndIf
	//slider
	this->health = UIHSlider(UIRectC(20, 250, 400, 8), this->health, -300, 200);
	STRING* healthasstring = _str("");
	str_for_num(healthasstring, this->health);
	UILabel(UIRectC(0, 300, 400, 40), healthasstring);
CPEnd(Player)



Creating new GUI components is also very easy. You can combine the existing components to make new ones. Here is the code of the slider component:
Click to reveal..
Code:
var UIHSlider(UIRect position, var value, var leftValue, var rightValue, char* sstyle, char* sstyleThumb)
{
	UIStart();

	UIStyle style = UIStyleGet(sstyle);
	if(!style)
	{
		printf("entered wrong style name"); return;
	}
	
	var valueToPixelOffset = ((value - leftValue)/(rightValue - leftValue)) * (position->width - 8) + 4;
	UIRect thumbPos = UIRectC(position->x + valueToPixelOffset - 4, position->y - 5, 8, position->height + 10);
	//Render Background
	UIStyleRender(position, NULL, NULL, style);
	char* temp = NULL;
	//rendr thumb
	if(UIRepeatButton(thumbPos, NULL, NULL, sstyleThumb))
	{
		value = ((IPMousePosition.x - position.x - 4) / (position->width - 8)) * (rightValue - leftValue) + leftValue ;
		value = clamp(value, leftValue, rightValue);
	}

	UIEnd();
	return value;
}

var UIHSlider(UIRect position, var value, var leftValue, var rightValue)
{
	return UIHSlider(position, value, leftValue, rightValue, "defaultHSlider", "defaultSliderThumb");
}




Next up will be GUI functions for automatic layout, more componentes and fix a lot of other stuff ^^