Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2008, 23:04   #11
Лёка
Пользователь
 
Регистрация: 09.01.2008
Сообщений: 42
По умолчанию

Класс! А как начать компонет делать и как потом его добавить в delphi?
Лёка вне форума Ответить с цитированием
Старый 01.02.2008, 23:07   #12
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Я вам компонент уже дал! а зарегистрировать в дельфи... почитайте в интернете про процедуру Register и RegisterComponent (s)
BOBAH13 вне форума Ответить с цитированием
Старый 01.02.2008, 23:13   #13
Лёка
Пользователь
 
Регистрация: 09.01.2008
Сообщений: 42
По умолчанию

Лучше завтро пойду еще одну книжку куплю, про то как компоненты клацать, а то ничего не понимаю. Пробовал писать по книжке combobox, который загржул в себя список принтеров. Дело интересное, тем более после такой эфекнтной кнопки))
Лёка вне форума Ответить с цитированием
Старый 02.02.2008, 18:01   #14
Fekrado
Новичок
Джуниор
 
Регистрация: 19.11.2007
Сообщений: 2
По умолчанию

Вообще надо winapi
например:
Button1.color:=CreateSolidBrush(CMY K(100,100,100,111));
А там фантазии на что хватит.........
Fekrado вне форума Ответить с цитированием
Старый 02.02.2008, 18:45   #15
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Fekrado Посмотреть сообщение
Вообще надо winapi
например:
Button1.color:=CreateSolidBrush(CMY K(100,100,100,111));
А там фантазии на что хватит.........
А что, у TButton есть свойство Color?
В какой версии Дельфи?
mihali4 вне форума Ответить с цитированием
Старый 03.02.2008, 18:47   #16
Rend1
Пользователь
 
Регистрация: 21.01.2008
Сообщений: 26
По умолчанию

Вован13 дай полные исходники project1 а то что-то не получается
Rend1 вне форума Ответить с цитированием
Старый 03.02.2008, 19:29   #17
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Я не понял что Вам надо ? какой еще проект ? Я же привел описание юнита компонента. Вы незнаите как оформлять юнит ? если да вот все очень просто, пишу сразу тут, проверить на 100% не могу

Код:
unit AButton; // модуль имя

uses
  Windows, Messages, Controls, Graphics; // раздел модулей

type   
  TAButtonState = (asUp, asDown);   
  
  TAButton = class(TCustomControl)   
  private   
    FColorDown: TColor;   
    FColorUp: TColor;    
    FState: TAButtonState;   
  
    procedure SetColorDown(Value: TColor);   
    procedure SetColorUp(Value: TColor);   
  
    procedure WMLBUTTONDOWN(var Message: TWMLBUTTONDOWN); message WM_LBUTTONDOWN;   
    procedure WMLBUTTONUP(var Message: TWMLBUTTONUP); message WM_LBUTTONUP;   
    procedure WMSIZE(var Message: TWMSIZE); message WM_SIZE;   
  public   
    procedure Paint; override;   
  published   
    property ColorDown: TColor read FColorDown write SetColorDown default clGray;   
    property ColorUp: TColor read FColorUp write SetColorUp default clBtnShadow;   
    property Caption;   
    property Font;   
    property OnClick;   
  end;   

  procedure Register; // процедура регистрации
  
implementation   

procedure Register; 
begin 
  RegisterComponents('AButton', [TAButton]);
end;
  
constructor TAButton.Create(AOwner: TComponent);   
begin   
  inherited;   
  FColorUp := clBtnShadow;   
  FColorDown := clGray;   
end;   
  
procedure TAButton.SetColorDown(Value: TColor);   
begin   
  if (Value <> FColorDown) then   
  begin   
    FColorDown := Value;   
    RePaint;   
  end;   
end;   
  
procedure TAButton.SetColorUp(Value: TColor);   
begin   
  if (Value <> FColorUp) then   
  begin   
    FColorUp := Value;   
    RePaint;   
  end;   
end;   
  
procedure TAButton.WMLBUTTONDOWN(var Message: TWMLBUTTONDOWN);   
begin   
  inherited;   
  FState := asDown;   
  RePaint;   
end;   
  
procedure TAButton.WMLBUTTONUP(var Message: TWMLBUTTONUP);   
begin   
  inherited;   
  FState := asUp;   
  RePaint;   
end;   
  
procedure TAButton.WMSIZE(var Message: WMSIZE);   
begin   
  inherited;   
  RePaint;   
end;   
  
procedure TAButton.Paint;   
var   
  Draw: TBitMap;   
begin   
  Draw := TBitMap.Create;   
  Draw.Width := Width;   
  Draw.Height := Height;   
  case FState of   
    asUp:   
      Draw.Canvas.Brush.Color := FColorUp;   
    asDown:    
      Draw.Canvas.Brush.Color := FColorDown;   
  end;   
  Draw.Canvas.FillRect(Draw.Canvas.ClipRect);   
  Draw.Canvas.Font.Assign(Font);   
  Draw.Canvas.TextOut((Width - Draw.Canvas.TextWidth(Caption)) div 2,   
    (Height - Draw.Canvas.TextHeight('W')) div 2, Caption);   
  Canvas.Draw(0, 0, Draw);   
  Draw.Free;   
end;

end. // конец модуля
BOBAH13 вне форума Ответить с цитированием
Старый 03.02.2008, 21:23   #18
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Есть хорошее решение в использование "особых кнопок"
Красивые кнопки можно реализовать с помощью этого: RbControls.
Там очень хорошие кнопки, испаользующие различные цветовые схемы, которые полностью настраиваются. Цвет при наведении изменяется очень плавно, на тот, который выбрали. Цвет начального положения тожо очень приятен. Попробуйте, может понравиться
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 03.02.2008, 21:23   #19
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Можно использовать и другие библиотеки. в и-нете их очень много. И самое важное - не нужно ни каких скинов (что-то я недолюбливаю их)
Писано по д'Эльфийски

Последний раз редактировалось Лубышев; 03.02.2008 в 21:26.
Лубышев вне форума Ответить с цитированием
Старый 04.02.2008, 06:21   #20
Rend1
Пользователь
 
Регистрация: 21.01.2008
Сообщений: 26
По умолчанию

project1 это вложение в ответ #10
Rend1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
UCOZ: Кнопки кнопки на изображении ReDuX HTML и CSS 19 25.04.2008 02:39
RGB в Цвет. HELP! Altera Мультимедиа в Delphi 1 27.02.2008 07:58
Цвет фона кнопки romets Win Api 10 23.01.2008 17:13
триггерные кнопки и кнопки переключатели в DELPHI MARGO Помощь студентам 3 12.11.2007 17:35
Как изменить цвет шрифта кнопки + объявление OnClick Yury Общие вопросы Delphi 7 04.05.2007 04:55