ColorPicker
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
Не могу сообразить как сделать. Возможно там всё элементарно, а я просто туплю, но тем не менее...
Для наглядности я всё изобразил на скриншоте. Там вид окна, код и суть вопроса.
Скриншот: http://www.ljplus.ru/img4/f/a/fatherlan ... ros-01.gif
Прошу взглянуть, если не затруднит.
Для наглядности я всё изобразил на скриншоте. Там вид окна, код и суть вопроса.
Скриншот: http://www.ljplus.ru/img4/f/a/fatherlan ... ros-01.gif
Прошу взглянуть, если не затруднит.
tim-soft.narod.ru
У ColorBox усть такое свойство Color, думаю здесь всё аналогично..
Темы нужно осмысленнее называть.
Темы нужно осмысленнее называть.
Смысл в том, что непонятно какой именно панели нужно передавать цвет. Они вроде как "ананимные" (Sender as TPanel). Вот в чем загвоздка.
Как разрулить то...?
Как разрулить то...?
tim-soft.narod.ru
Пишем ColorBox.Color - разрулено.
(Sender as ColorBox).Color - разрулено.
Или более конкретно формулируем мысль
(Sender as ColorBox).Color - разрулено.
Или более конкретно формулируем мысль
Этот метод не работает !!!!!!!! (проверено)(Sender as TPanel).Color := ColorPicker.SelColor;
Панел перестает быть сендером как только выводится ColorPicker.
Непонятно какой именно панели передавать выбранный в ColorPicker цвет.
tim-soft.narod.ru
А догнал реч идёт о том чтоб передать цвет панели заданный цвет из диолога, т.е. перекрасить её...
Тут вариант только один до вызова сохранить имя элемента например (или ещё варианты к примеру взять контрол под мышкой... ) , после выбора найти и перекрасить его.
Формулировать задачи адекватней нужно..
Тут вариант только один до вызова сохранить имя элемента например (или ещё варианты к примеру взять контрол под мышкой... ) , после выбора найти и перекрасить его.
Формулировать задачи адекватней нужно..
Проблема решена.
В конце концов сделал так:
В конце концов сделал так:
Код: Выделить всё
...
ColorPicker: TColorPickerButton;
...
var
Form1: TForm1;
pan: HWND;
...
procedure TForm1.SetPicker(Sender: TObject);
begin
pan:= (Sender as TPanel).Handle;
ColorPicker.Height:=(Sender as TPanel).Height;
ColorPicker.Left:=(Sender as TPanel).Left;
ColorPicker.Top:=(Sender as TPanel).Top;
ColorPicker.DroppedDown:= True;
end;
...
// обшее OnClick для всех панелей...
procedure TForm1.Panel1Click(Sender: TObject);
begin
SetPicker(Sender);
end;
...
procedure TForm1.ColorPickerChange(Sender: TObject);
begin
(FindControl(pan) as TPanel).Color:= ColorPicker.SelectionColor;
end;
...
tim-soft.narod.ru
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Код: Выделить всё
procedure TForm1.PanelNClick(Sender: TObject);
begin
...
ColorPicker.Tag:=integer(Sender as TPanel);
end;
procedure TForm1.ColorPickerChange(Sender: TObject);
begin
(TObject(ColorPicker.Tag) as TPanel).Color:=ColorPicker.SelectionColor;
end;
tim-soft.narod.ru
Пожалуйста помогите очень нужно!!!!!!!!!Написать программу на Paskal, которая вычисляет среднюю длину слов в файле, который содержит текст.В данном случае будет считатьтся любая строка символов, которая начинается и заканчивается одним с следующих елеметов: пробел, запятая, точка, начало строки и конец строки.В программе должна быть обозначена функция, которая получает в качестве аргумента поток ввода с файла.