BorlanD Russian Сommunity

Рассмотрим подробнее этот диалог. На этом уроке мы с вами рассмотрим очередной стандартный диалог - а именно диалог для выбора цвета. Наша программа будет делать следующее - при нажатии на кнопку будет появляться стандартный диалог для выбора цвета. После того, как пользователь выберет некоторый цвет и закроет диалог, при щелчке на форме именно таким цветом будет рисоваться прямоугольник. Кроме того, мы посмотрим, как задавать некоторый набор цветов (т. н. пользовательские цвета) для нашего диалога.

Нужный нам компонент находится, разумеется, на вкладке Dialogs палитры компонентов. Перенесите его на форму. Кроме того, разместите на форме стандартную кнопку. Имена компонентов можете оставить без изменения - сейчас это не принципиально.

 

В обработчике для события Click на кнопке напишите следующий код:

 

procedure TForm1.Button1Click(Sender: TObject);

begin

            //Показываем диалог

            ColorDialog1.Execute;

             //Цвет кисти для фона берем из дилога

            Form1.Canvas.Brush.Color:=ColorDialog1.Color;

            //Перерисовываем окно

            Invalidate

end;

 

Этот код отвечает за показ нашего диалогового окна.

 

Далее пишем код для рисования:

 

procedure TForm1.FormPaint(Sender: TObject);

begin

            //Рисуем прямоугольник

            Form1.Canvas.Rectangle(10, 10, 40, 40);

end;

 

Запускаем программу. При щелчке на кнопке появится диалоговое окно для задания цвета, который затем присвоится прямоугольнику.

Теперь посмотрим, как можно сразу задавать для нашего диалога пользовательские цвета. Делается это совсем просто - делаем двойной щелчок на компоненте для задания цвета на форме нашего диалога (заметьте, что это надо делать на этапе разработки).

Появится обычное диалоговое окно для задания цвета. Окно настоящее, так что прямо в нем и задайте нужные вам пользовательские цвета (нажав предварительно на кнопку "Define Custom Colors"). После этого просто задайте пользовательские цвета, как будто ваша программа запущена.

Всё на этом урок закончен.

Просмотров: 3080 | Категория: Delphi 7 | Дата: 11.05.2008