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

Вниз

ToolButton и Image   Найти похожие ветки 

 
Serg_lys   (2004-07-16 19:07) [0]

Здравствуйте! Расскажу, о моем проекте более конкретно. В проекте есть инструментальная панель Toolbar и компонент  Image.  Панель Toolbar связана с компонентом ImageList и на ней расположены кнопки Toolbutton, содержащие изображения от ImageList, например, пять ToolButton  с изображением  квадратиков разных цветов.
Задача:  нажимаем левой клавишей мыши по кнопке ToolButton, тем самым выделяя ее, затем щелкаем левой клавишей мыши по Image. В результате на Image должен появиться квадратик от ToolButton, с возможностью перемещения его на Image с помощью мыши. Как это сделать программно?


 
grom   (2004-07-16 19:23) [1]

с возможностью перемещения его на Image
может лучше двигать Image с помощью мыши вместе с квадратиком
по форме ?
Или обязательно квадратик в Image ?


 
grom   (2004-07-18 11:47) [2]

var
Form1: TForm1;
fon,kvadrat:TBitmap;
i:Integer;
implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
fon:=TBitMap.Create;
kvadrat:=TBitMap.Create;
//ImageList1.GetBitmap(0,kvadrat);
//kvadrat.Transparent:=True;
fon.LoadFromFile("sky.bmp");
Image1.Canvas.Draw(0,0,fon);
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
i:=1;
Image1.Canvas.Draw(0,0,fon);
Image1.Canvas.Draw(x-ImageList1.Width div 2,y-ImageList1.Height div 2,kvadrat);
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
if i=0 then exit;
Image1.Canvas.Draw(0,0,fon);
Image1.Canvas.Draw(x-ImageList1.Width div 2,y-ImageList1.Height div 2,kvadrat);
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
i:=0;
//Image1.Canvas.Draw(0,0,fon);
end;

procedure TForm1.ToolButton1Click(Sender: TObject);
begin
kvadrat.Assign(nil);
Image1.Canvas.Draw(0,0,fon);
ImageList1.GetBitmap(0,kvadrat);
end;

procedure TForm1.ToolButton2Click(Sender: TObject);
begin
kvadrat.Assign(nil);
Image1.Canvas.Draw(0,0,fon);
ImageList1.GetBitmap(1,kvadrat);
end;

procedure TForm1.ToolButton3Click(Sender: TObject);
begin
kvadrat.Assign(nil);
Image1.Canvas.Draw(0,0,fon);
ImageList1.GetBitmap(2,kvadrat);
end;

procedure TForm1.ToolButton4Click(Sender: TObject);
begin
kvadrat.Assign(nil);
Image1.Canvas.Draw(0,0,fon);
ImageList1.GetBitmap(3,kvadrat);
end;

procedure TForm1.ToolButton5Click(Sender: TObject);
begin
kvadrat.Assign(nil);
Image1.Canvas.Draw(0,0,fon);
ImageList1.GetBitmap(4,kvadrat);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
fon.free;
kvadrat.free;
end;

end.



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

Форум: "Media";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.04 c
14-1095924563
sapsi
2004-09-23 11:29
2004.10.10
Название для программного комплекса


1-1095778586
DelphiLexx
2004-09-21 18:56
2004.10.10
Получить имя меню


14-1095671996
icebeerg
2004-09-20 13:19
2004.10.10
Вот сподобился


1-1096159405
Leaner
2004-09-26 04:43
2004.10.10
Ошибка: C0000008 в строке CloseHandle(FHand);


6-1091593309
Дмитрий Ботвин
2004-08-04 08:21
2004.10.10
Объём оперативной памяти





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский