Существует ли выбираемый элемент управления "метка"?

Я хотел бы выбираемый элемент управления "метка", как тот в снимке экрана. Это могло быть сделано с безграничным TEdit, но я задавался вопросом, существует ли иначе, который работал бы с фоном градиента?

пример http://usera.ImageCave.com/brk303/SelectableLabel.png.jpg

Для разъяснения я использую простой PageControl, который начиная с Победы XP имеет рисунок градиента, безграничный TEdit, помещенный на странице, не гармонирует отлично:

Редактирование на PageControl http://usera.ImageCave.com/brk303/Gradient.png.jpg

Обновление:

Мне удалось получить половину пути там путем добавления

procedure CNCtlColorStatic(var AMsg: TWMCtlColorStatic); message CN_CTLCOLORSTATIC;

procedure TTransparentEdit.CNCtlColorStatic(var AMsg: TWMCtlColorStatic);
begin
  with ThemeServices do
    if ThemesEnabled then
    begin
      SetBkMode(AMsg.ChildDC, Windows.TRANSPARENT);
      DrawParentBackground(Handle, AMsg.ChildDC, nil, False);
      AMsg.Result := GetStockObject(NULL_BRUSH);
    end
    else
      inherited;
end;

Это теперь прозрачно, но что-то еще должно быть сделано, поскольку рисование, когда текст выбран, не работает правильно. Поведение трудно объяснить, я займусь расследованиями далее и обновлю здесь...

5
задан Daniel Maurić 28 July 2010 в 14:17
поделиться