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

Вниз

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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.03 c
14-1095292657
Мистер Х
2004-09-16 03:57
2004.10.10
Будущее MS Windows


14-1095503081
Ломброзо
2004-09-18 14:24
2004.10.10
Взял и умер!


14-1095340645
Программер_
2004-09-16 17:17
2004.10.10
Кто найдет ошибку?


6-1091484185
viSn
2004-08-03 02:03
2004.10.10
idhttp Получить HTML код страницы и вывести в memo1


1-1096203831
SeriousSam
2004-09-26 17:03
2004.10.10
Создание произвольного кол-ва объектов.