Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как нарисовать кнопочку в EditBoxe


DmiSb ©   (2005-09-26 08:54:00) 

Увадаемые мастера !!!
Есть в RX компонент ComboEdit. Как такое изобразить на КОЛ ?


DmiSb   (2005-09-26 11:02:00) [1]

2 MTsv DN
Спасибо за совет
Я повесил EditBox1, рядом кнопку Button1
А затем задал для кнопки родителя

procedure TForm1.KOLForm1FormCreate(Sender: PObj);
begin
Button1.Parent := EditBox1;
Button1.Top := 0;
Button1.Left := 92;

Все прекрасно получилось


MTsv DN   (2005-09-26 10:24:00) [2]

Привет...
Сталкнулся с такой задачей: в стиле KOLRbControls сделать ComboBox (в смысле, чтобы кнопка, была как KOLRbButton)... Думаю тебе, что-то из этой "оперы" надо. Вот как реализовал:
Обработчик клика на кнопке

procedure TForm1.cmbSpeeds_ButtonClick(Sender: PObj);
begin
SendMessage(cmbSpeeds.Handle, CB_SHOWDROPDOWN, 1, 0);
end;


Обработчик нажатия клавиши при фокуке на кнопке

procedure TForm1.cmbSpeeds_ButtonKeyDown(
 Sender: PControl; var Key: Integer; Shift: Cardinal);
begin
if not cmbSpeeds.Focused then cmbSpeeds.Focused := true;
if Key = VK_F4 then
  cmbSpeeds.Perform(WM_KEYDOWN, VK_F4, 0);
if Key = VK_UP then
  cmbSpeeds.Perform(WM_KEYDOWN, VK_UP, 0);
if Key = VK_DOWN then
  cmbSpeeds.Perform(WM_KEYDOWN, VK_DOWN, 0);
end;


Задание родителя для кнопки

procedure TForm1.KOLForm1FormCreate(Sender: PObj);
begin
cmbSpeeds_Button.Parent := cmbSpeeds;
cmbSpeeds_Button.Top := 2;
cmbSpeeds_Button.Left := 92;


И все...
P.S. Родитель может быть любой... Точно также сделал для UpDown'а

С Уважением MTsv DN


Наверх

Титульная страница Поиск, карта сайта Написать письмо