Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.07.05;
Скачать: [xml.tar.bz2];

Вниз

Выделение 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.046 c
3-1222840494
DeadMeat
2008-10-01 09:54
2009.07.05
Multi-tier + DCOM


15-1241615532
@!!ex
2009-05-06 17:12
2009.07.05
Как получить методы и параметры из lib?


15-1240979173
Урсулапов_
2009-04-29 08:26
2009.07.05
Какой ученый первым рассказал о делении атома?


2-1242423775
Xar
2009-05-16 01:42
2009.07.05
Поиск по строке Access


15-1241384653
Германн
2009-05-04 01:04
2009.07.05
Банальный вопрос. Архивация данных.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский