Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Выбор цвета.


Автор: DonHose 21.12.2008, 11:48
Приветствую всех, возникла такая проблемка, помогите решить пожалуста, у меня есть две функциии, одна рисует линии случайным образом на Image, вторая выбирает цвет, а я никак не могу соединить их вместе, т.е. что бы перед тем как рисуется линия можно было выбрать ее цвет.
эта рисует линии:
Код

Image1->Canvas->MoveTo(rand()%Image1->Height,rand()%Image1->Width);
Image1->Canvas->LineTo(rand()%Image1->Height,rand()%Image1->Width);

эта выбирает цвет:
Код

COLORREF GetColor()
{
   static COLORREF CustColors[16];
   CHOOSECOLOR cc;
   ZeroMemory(&cc, sizeof(cc));
   cc.lStructSize = sizeof(cc);
   cc.Flags = CC_ANYCOLOR;
   cc.lpCustColors = CustColors;
   if (!ChooseColor(&cc))
      return 0; // здесь обработка нажатия кнопки "Отмена"

   return cc.rgbResult;
}

Не могу понять как их соединить, подскажите пожалуста!!!smile

Автор: ama_kid 21.12.2008, 12:30
Используй Image1->Canvas->Pen->Color

Автор: DonHose 21.12.2008, 12:55
да нет, мне нужно как то связать код рисования линий с Colorbox, но не понимю как, может кто знает?

Автор: ama_kid 21.12.2008, 13:15
Цитата(DonHose @  21.12.2008,  13:55 Найти цитируемый пост)
мне нужно как то связать код рисования линий с Colorbox
что за ColorBox?

Автор: DonHose 21.12.2008, 13:34
to ama_kid.
вкладка Additional, там есть Colorbox, может я конечно ошибаюсь, я подумал что можно связать как то с этим компонентом выбор цвета. Так же вверху есть код ChooseColor - который показывает стандартный диалог выбора цвета, но я не понял как связать их, т.е. перед тем как нарисовать эту линию, сначала пользователь выбирает ее цвет.

Автор: ama_kid 21.12.2008, 13:59
Цитата(DonHose @  21.12.2008,  14:34 Найти цитируемый пост)
я подумал что можно связать как то с этим компонентом выбор цвета
Я что-то не догнал, чем не устраивает способ?:
Код
Image1->Canvas->Pen->Color = ColorBox1->Color;
Image1->Canvas->MoveTo(rand()%Image1->Height,rand()%Image1->Width);
Image1->Canvas->LineTo(rand()%Image1->Height,rand()%Image1->Width);

Автор: DonHose 21.12.2008, 14:24
to ama_kid
Не получилось что то, только что пытался на белом рисунке нарисовать, невидно вообще ничего(((

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