/*
* Separator.h
* Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED.
*/
// SOL++2000
// 2000.02.18
#pragma once
#include <sol\Primitive.h>
#include <sol\PaintDC.h>
#include <sol\Pen.h>
#include <sol\Brush.h>
#include <sol\StockObject.h>
namespace SOL {
class Separator :public Primitive {
protected:
long Separator::paint(Event& event)
{
PaintDC pdc(this);
int x, y, w, h;
getGeometry(x, y, w, h);
int val = pdc.save();
StockObject NULLPen(NULL_PEN);
pdc.select(&NULLPen);
Brush btnFace(::GetSysColor(COLOR_BTNFACE));
pdc.select(&btnFace);
pdc.rectangle(0, 0, w+1, h+1);
Pen shadowPen(PS_SOLID, 1, ::GetSysColor(COLOR_BTNSHADOW));
pdc.select(&shadowPen);
pdc.moveTo(0, h/2, NULL);
pdc.lineTo(w+1, h/2);
Pen colorPen(PS_SOLID, 1, ::GetSysColor(COLOR_WINDOW));
pdc.select(&colorPen);
pdc.moveTo(0, 1+h/2, NULL);
pdc.lineTo(w+1, 1+h/2);
pdc.restore(val);
return NULL;
}
public:
Separator(): Primitive() { }
public:
Separator(View* parent, const char* label, Args& args)
:Primitive(parent, label, args)
{
addEventHandler(WM_PAINT, this,
(Handler)&Separator::paint, NULL);
setValues(args);
}
public:
virtual Boolean create(View* parent, const char* label, Args& args)
{
Boolean rc = Primitive::create(parent, label, args);
addEventHandler(WM_PAINT, this,
(Handler)&Separator::paint, NULL);
setValues(args);
return rc;
}
BOOL hasCallback() { return FALSE; }
};
}
|