Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Надпись под углом в CheckBox


Автор: rocky7 14.5.2009, 21:14
Разрабатываю компонент  CheckBox с расширенными возможностями. Если его унаследовать от стандартного TCheckBox , то реализовать вывод надписи под углом невозможно? 

Автор: bems 14.5.2009, 22:34
возможно

Автор: NewDima 15.5.2009, 03:46
bems, коротко и точно)

rocky7, все зависит от того, что ты имеешь ввиду под расширенными возможностями, может стоит наследоваться и от базового класса для TCheckBox (TCustomCheckBox вроде, не помню), если хочешь менять что-то координално, а если только немного косметики, то пойдет и TCheckBox, хотя некрасиво это

Автор: rocky7 15.5.2009, 06:40
 Но ведь для TCustomCheckBox нет процедуры Paint. Как без неё вывести надпись под углом?

Автор: Frees 15.5.2009, 06:43
Цитата(rocky7 @  15.5.2009,  08:40 Найти цитируемый пост)
 Но ведь для TCustomCheckBox нет процедуры Paint. Как без неё вывести надпись под углом?

у TCustomCheckBox есть Paint только он гдето у его родителей.

обработать wm_paint или перекрыть этот обработчик

Автор: rocky7 15.5.2009, 16:08
 Если можно, дайте пример.

Автор: NewDima 18.5.2009, 18:44
Код

TMyCheckBox = class(TCustomCheckBox)
  protected
    procedure WMPaint(var msg: TWMPaint); message WM_PAINT;
  published
    property Action;
    property Alignment;
    property AllowGrayed;
    property Anchors;
    property BiDiMode;
    property Caption;
    property Checked;
    property Color nodefault;
    property Constraints;
    property Ctl3D;
    property DragCursor;
    property DragKind;
    property DragMode;
    property Enabled;
    property Font;
    property ParentBiDiMode;
    property ParentColor;
    property ParentCtl3D;
    property ParentFont;
    property ParentShowHint;
    property PopupMenu;
    property ShowHint;
    property State;
    property TabOrder;
    property TabStop;
    property Visible;
    property WordWrap;
    property OnClick;
    property OnContextPopup;
    property OnDragDrop;
    property OnDragOver;
    property OnEndDock;
    property OnEndDrag;
    property OnEnter;
    property OnExit;
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
    property OnStartDock;
    property OnStartDrag;
  end;

implementation

procedure TMyCheckBox.WMPaint(var msg: TWMPaint);
begin
inherited;
//че хочешь, то и пиши
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)