Другие языки программирования и технологии

Delphi 7 оператор отвечающий за изображение кнопки

напишите плиз часть кода для изменения внешнего вида кнопки на рисованую в фотошопе
Igor Tsalko
Igor Tsalko
199
кидаешь рисунок на форму подгружаешь его, потом выделяешь свою кнопку переходишь в Events в обьекте инспекторе добавляешь процедуру OnMouseDaun, потом рисуешь другую кнопку уже в нажатом виде в опциях ее ставишь Visable:=False; и также создаешь процедуру On mauseDaun и в них курируешь при нажатии одну прячешь другую показываешь, вот приблизительный код:

procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);

....
....

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Form1.image1.Visable:=False; // при нажатии показываем выделеную кнопку
Form1.image2.Visable:=True;
end;

procedure TForm2.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Form1.image1.Visable:=True; // при нажатии показываем исходную кнопку
Form1.image2.Visable:=False;
end;
------------------------------------------------
Эта кнопка имеет два положения если хочешь чтоб кнопка имела три положения можно сделать так, кидаем таймер на форму и выделение кнопки расчитываем по координатом относительно формы

procedure TForm1.Timer1Timer(Sender: TObject);
var
Pt : Tpoint;
x, y : integer;
begin
GetCursorPos(pt);

x:=pt.X-Left;
y:=pt.Y-Top;
label1.Caption:= ('X=' + IntToStr(x) + ' Y=' + IntToStr(y));
//обрабатываем кнопку
If (X>=407) and (X <=565) and (y <= 379) and (y>=351)
Then begin
// меняем кнопку
Screen.Cursor:=1;
Image2.Visible:=False;
Image10.Visible:=True;
// тут обрабатываем нажатие кнопки
...
end else
// возвращаем кнопку на место
Begin
Image2.Visible:=True;
Image10.Visible:=False;
end;
end;
Viktor Demin
Viktor Demin
3 323
Лучший ответ
дык там есть кажется компонент bitbtn - на него картинку фотожоповскую и ложи
АИ
Аслан Исабек
34 293
читай справку к TBitBtn.Glyph и TSpeedButton.Glyph
нет такого: ) Вариант только один либо использовать кнопки с изображениями либо использовать рисунок класса Timage как кнопку. Я как то давно делал подобным образом, только для того чтобы был эффект нажатия я один рисунок делал темнее чем другой.
Че ты мозг лечишь с этими операторами. Нарисовал кнопку в фотожопе, вставил ТИмейдж со своей кнопкой и применил все функции кнопки, и вся проблема. Программирование для людей, умеющих мыслить не стандартно.
Sergei Boboi
Sergei Boboi
2 396
Вообщем-то для этого есть хорошый компонент TImgbtn.
Там есть выбор 3-х изображений: обычное, клик, при наведении.