C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Цветная рамка для TEdit
VovaN
Отправлено: 23.05.2005, 13:17


Дежурный стрелочник

Группа: Участник
Сообщений: 72



Надо для TEdit сделать цветную рамку.
Я решил сделать так: подкладывать под эдит зарисованный прямоугольник (другого пути не знаю)
При этом пишу
TImage* frame_for_SearchEgit;
frame_for_SearchEgit= new TImage(Form1);
frame_for_SearchEgit->Canvas->Brush->Color=clRed;
frame_for_SearchEgit->Canvas->FillRect(Rect(2,2,120,120));
frame_for_SearchEgit->Visible=true;

но прямоугольник почему-то не отображается.
Что я делаю не так?
Gedeon
Отправлено: 23.05.2005, 13:25


Ветеран

Группа: Модератор
Сообщений: 1742



CODE

        TImage* frame_for_SearchEgit;
frame_for_SearchEgit= new TImage(Form1);

frame_for_SearchEgit->Parent = this; // это добавьте

frame_for_SearchEgit->Canvas->Brush->Color=clRed;
frame_for_SearchEgit->Canvas->FillRect(Rect(2,2,120,120));
        frame_for_SearchEgit->Visible=true;
VovaN
Отправлено: 23.05.2005, 13:30


Дежурный стрелочник

Группа: Участник
Сообщений: 72



Спасибо, помогло. А нет другого пути для рисования рамки вокруг эдита? А то этот подход вроде не особо...
Sl@Sh
Отправлено: 23.05.2005, 14:40


Мастер участка

Группа: Участник
Сообщений: 383



А не проще не TImage подложить, а например TShape ?
Sl@Sh
Отправлено: 23.05.2005, 14:51


Мастер участка

Группа: Участник
Сообщений: 383



Создайте шаблон из пары TShape & TEdit. Настройте перед эти как вам удобно и затем ложите его как обычный компонент.

Вы даже можите создать отдельный компонент, но это уже более непростое решение.

Вернуться в Вопросы программирования в C++Builder