Главная страница
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.051 c
14-1095441453
Sanek_Metaller
2004-09-17 21:17
2004.10.10
Завтра концерт Каннибалов,кто-нить пойдет?


3-1094896062
Гаврила
2004-09-11 13:47
2004.10.10
SQL-DMO ->AV


3-1094468278
UnDISCOvery
2004-09-06 14:57
2004.10.10
Неожиданно опустела таблица Access с 40.000 записями!


3-1094732636
bers
2004-09-09 16:23
2004.10.10
Добавить поля не потеряв данных


4-1094650844
Новишок
2004-09-08 17:40
2004.10.10
Закрыть программку, нажав на кнопу в сыоей проге