Главная страница
    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.038 c
14-1095941853
Knight
2004-09-23 16:17
2004.10.10
Мигает экран при загрузке рабочего стола после чего...


6-1091533976
Victor
2004-08-03 15:52
2004.10.10
Чат на сокетах


1-1096024316
V l a d i m i r
2004-09-24 15:11
2004.10.10
Как уменьшить сетку на форме?


1-1095838030
Clampo
2004-09-22 11:27
2004.10.10
скинка на текст


1-1096038896
AdmeraL
2004-09-24 19:14
2004.10.10
Tregistry





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