Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.05;
Скачать: CL | DM;

Вниз

Выделение Timage   Найти похожие ветки 

 
copron   (2009-05-18 20:33) [0]

Подскажите пожалуйста, как можно при щелчке мышью по Timage выделять его, например, точками по углам?
Может быть есть какие то сторонние компоненты (желательно, чтобы по умолчанию воспринимали jpg и png файлы)?


 
Игорь Шевченко ©   (2009-05-18 20:37) [1]

1. Создать прозрачное окно с точками по углам, накладывать его на выделенный Image
2. Рисовать точки на подложке Image (например на форме)


 
Германн ©   (2009-05-18 21:33) [2]


> Подскажите пожалуйста, как можно при щелчке мышью по Timage
> выделять его, например, точками по углам?
> Может быть есть какие то сторонние компоненты

Желательно бы ещё знать для чего нужно выделение?


 
copron   (2009-05-18 21:43) [3]


> Желательно бы ещё знать для чего нужно выделение?

 У меня будет на форме расположен один главный image  с произвольной картинкой и на нём можно будет распологать другие image, которые потом можно будет перетаскивать и изменять его рисунок. Выделение нужно, чтобы показать какой image сейчас активен


 
copron   (2009-05-18 21:45) [4]


> 1. Создать прозрачное окно с точками по углам, накладывать
> его на выделенный Image
> 2. Рисовать точки на подложке Image (например на форме)

А попроще способа нет? :) Из предложеннных вами мне больше по душе второй вариант. Надо будет попробовать


 
Германн ©   (2009-05-18 21:51) [5]


> которые потом можно будет перетаскивать и изменять его рисунок.

Вот с этого и начни. Научись сначала перетаскивать, а выделение потом.


 
copron   (2009-05-18 21:52) [6]


> Вот с этого и начни. Научись сначала перетаскивать, а выделение
> потом.


Перетаскивание уже сделано :)


 
Игорь Шевченко ©   (2009-05-18 22:17) [7]


> А попроще способа нет? :)


Куда уж проще

unit main;

interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ExtCtrls;

type
 TForm1 = class(TForm)
   Image1: TImage;
   Image2: TImage;
   Image3: TImage;
   procedure Image3Click(Sender: TObject);
   procedure FormPaint(Sender: TObject);
 private
   FSelectedImage: TImage;
   procedure DrawDiamonds (const Rect: TRect);
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DrawDiamonds(const Rect: TRect);

 procedure DrawDiamond (P: TPoint);
 begin
   Canvas.Polygon([Point(P.X-4, P.Y),
                   Point(P.X, P.Y - 4),
                   Point(P.X+4, P.Y),
                   Point(P.X, P.Y+4)]);
 end;

begin
 Canvas.Brush.Color := clAqua;
 DrawDiamond (Rect.TopLeft);
 DrawDiamond (Point(Rect.Right, Rect.Top));
 DrawDiamond (Rect.BottomRight);
 DrawDiamond (Point(Rect.Left, Rect.Bottom));
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
 if Assigned(FSelectedImage) then
   DrawDiamonds(FSelectedImage.BoundsRect);
end;

procedure TForm1.Image3Click(Sender: TObject);
begin
 FSelectedImage := Sender as TImage;
 Invalidate;
end;

end.


 
Игорь Шевченко ©   (2009-05-18 22:18) [8]

object Form1: TForm1
 Left = 0
 Top = 0
 Caption = "Form1"
 ClientHeight = 286
 ClientWidth = 426
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = "Tahoma"
 Font.Style = []
 OldCreateOrder = False
 OnPaint = FormPaint
 PixelsPerInch = 96
 TextHeight = 13
 object Image1: TImage
   Left = 36
   Top = 32
   Width = 57
   Height = 57
   OnClick = Image3Click
 end
 object Image2: TImage
   Left = 112
   Top = 32
   Width = 57
   Height = 57
   OnClick = Image3Click
 end
 object Image3: TImage
   Left = 184
   Top = 32
   Width = 57
   Height = 57
   OnClick = Image3Click
 end
end


 
copron   (2009-05-18 22:20) [9]


> Игорь Шевченко


Спасибо вам большое! Буду пробовать


 
Германн ©   (2009-05-19 00:33) [10]


> copron   (18.05.09 21:52) [6]
>
>
> > Вот с этого и начни. Научись сначала перетаскивать, а
> выделение
> > потом.
>
>
> Перетаскивание уже сделано :)

Как сделано? Как и куда перетаскивание?

P.S.
Просто я не могу понять автора, который задаёт "детский" (вроде бы) вопрос, но уже решил вопрос более сложный для начинающего.


 
copron   (2009-05-19 07:36) [11]


> Германн


Ну я не совсем начинающий, хотя программы пишу не часто. Меня интересовало, в первую очередь, нет ли возможности выделять image через свойства. Раз нельзя, то буду идти другим путём либо предложенным Игорем Шевченко, либо своим.


 
Palladin ©   (2009-05-19 08:33) [12]

) скоро будут выяснять можно ли заставить кнопку сплясать через свойства


 
Игорь Шевченко ©   (2009-05-19 11:07) [13]

Palladin ©   (19.05.09 08:33) [12]

Можно



Страницы: 1 вся ветка

Текущий архив: 2009.07.05;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.01 c
15-1241762623
oldman
2009-05-08 10:03
2009.07.05
Случайно нашел сайт. Что это такое?


2-1242664388
copron
2009-05-18 20:33
2009.07.05
Выделение Timage


2-1242622208
товарищ вася
2009-05-18 08:50
2009.07.05
Подвисание формы


15-1240862526
tesseract
2009-04-28 00:02
2009.07.05
Языки свервысокого уровня.


2-1242363170
brother
2009-05-15 08:52
2009.07.05
не верное копирование файла через BlockWrite/BlockRead