Показать сообщение отдельно
  #8  
Старый 15.11.2009, 16:59
-=C@$PeR=- -=C@$PeR=- вне форума
Прохожий
 
Регистрация: 07.11.2009
Сообщения: 14
Репутация: 11
Восклицание

Цитата:
Сообщение от 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 потом
щёлкаешь и смотришь её описание (ну всмысле код).
Ответить с цитированием