Цитата:
Сообщение от Lotles
Не я рисовать пробовал в фотошоп (немного получ-ся) я хочу понять вобщем(алгоритм) как это вобще делается (откуда отталкиваться), а дальше я сам
|
Может алгоритма нету но можно сделать так, пример для кнопки:
Код:
procedure TForm1.FormCreate(Sender: TObject); //событие создания формы "OnCreate". PlayBMP : TBitmap;
begin
StopBMP := TBitmap.Create; //объявляешь эти переменные в разделе var перед implementation
PlayBMP := TBitmap.Create;
StopBMP.LoadFromFile(ExtractFilePath(Application.ExeName)+WayToStopBMP); //загрузить картинку в
переменную StopBMP. ExtractFilePath(Application.ExeName) - это типа извлечь путь к твоей программе.
+WayToStopBMP - это константа моя просто ну чтобы путь к картинке, если поменяю в папке с программой,
то этот путь не пришлось переписывать везде, даже покажу его ))
WayToStopBMP = 'Resources\Textures\ButtonPlayStop\Stop.bmp'; - ещё раз это константа.
PlayBMP.LoadFromFile(ExtractFilePath(Application.ExeName)+WayToPlayBMP);
end;
//Событие OnClick
procedure TForm1.Image2Click(Sender: TObject);
begin
Form1.Close;
end;
//Событие OnMouseEnter - Для компонента TImage
procedure TForm1.Image2MouseEnter(Sender: TObject);
begin
if Setting.SizeStyle = ssBig then //ну это мои там заморочи, типа если размер формы большой,
то загрузить картинку эту, если маленький, то эту.
Setting.SizeStyle - это структура (низнаю может пригодиться)
SizeStyle - это... забыл как называется, вроде перечисляемый тип Объявленный в структуре.
Form1.Image2.Canvas.Draw(0,0,CloseTwoBMP);
if Setting.SizeStyle = ssSmall then
Form1.Image2.Canvas.Draw(0,0,CloseTwoBMPMini);
Image2.Repaint;
end;
//Событие OnMouseLeave - Для компонента TImage
procedure TForm1.Image2MouseLeave(Sender: TObject);
begin
if Setting.SizeStyle = ssBig then
Form1.Image2.Canvas.Draw(0,0,CloseOneBMP);
if Setting.SizeStyle = ssSmall then
Form1.Image2.Canvas.Draw(0,0,CloseOneBMPMini);
Image2.Repaint;
end;
[CODE]
type
TSizeStyle = (ssSmall, ssBIg)
// где ssSmall по большому счёту это 0, а SSBig - это 1.[/code]
Код:
type
TSettings = record
public
SizeStyle : TSizeStyle;
end;
var Setting : TSettings;
Ну если ты пишешь прогу с фоновой картинкой например, а свойство формы
BorderStyle = bsNone, то пригодиться вот это, оно позволяет таскать форму за картину:
Код:
//событие OnMouseDown - зажатие кнопки мыши на компоненте TImage
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(Form1.Handle, WM_NCLBUTTONDOWN, HTCAPTION,0);
end;
можно ещё например для кнопки поставить звук формата Wav, можно и mp3,
но это глупо для этого использовать TMediaPlayer
Для этого в раздел uses добавь MMsystem.
А потом на какое хочешь событие вставь это:
PlaySound('Sound/nazvanie.wav', 0, SND_ASYNC);
Я как понимаю ты новичёк, вот тебе совет нибольшой, наводишь указатель
мыши на какую нибудь функцию, да на что угодно и зажимаешь Ctrl потом
щёлкаешь и смотришь её описание (ну всмысле код).