Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задать цвет Button 
:(
    Опции темы
Veve
Дата 8.1.2005, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 1.1.2005
Где: Латвия, Рига

Репутация: нет
Всего: 13



Подскажите пожалуйста, как в Delphi7, без особых заморочек, закрасить кнопку любым цветом. И ещё, таже кнопка и схожая проблема, как поминять цвет надписи на кнопке?
В окне Object Inspector выберай свойство Font-Color ну и там нужный цвет, ничего не меняеться.
PM MAIL ICQ Skype MSN   Вверх
Akella
Дата 8.1.2005, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



без особых замороче не получиться, пока воспользуйся поиском по форуму
Добавлено @ 11:40
можно использовать TSpeedButton (Flat:=true)
Добавлено @ 11:41
забыл, кладываешь, кнопкуна панель и у панели меняешь цвет, в противном случае ставь доп. библиотеки
PM MAIL   Вверх
Akella
Дата 8.1.2005, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



вот из нашей чудесной базы DRKB пример, но с заморочками

Код

unit ColorButton;  

interface  

uses  
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,  
 StdCtrls, Buttons, ExtCtrls;  

type  
 TDrawButtonEvent = procedure(Control: TWinControl;  
   Rect: TRect; State: TOwnerDrawState) of object;  

 TColorButton = class(TButton)  
 private  
   FCanvas: TCanvas;  
   IsFocused: Boolean;  
   FOnDrawButton: TDrawButtonEvent;  
 protected  
   procedure CreateParams(var Params: TCreateParams); override;  
   procedure SetButtonStyle(ADefault: Boolean); override;  
   procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED;  
   procedure CMFontChanged(var Message: TMessage); message CM_FONTCHANGED;  
   procedure CNMeasureItem(var Message: TWMMeasureItem); message CN_MEASUREITEM;  
   procedure CNDrawItem(var Message: TWMDrawItem); message CN_DRAWITEM;  
   procedure WMLButtonDblClk(var Message: TWMLButtonDblClk); message WM_LBUTTONDBLCLK;  
   procedure DrawButton(Rect: TRect; State: UINT);  
 public  
   constructor Create(AOwner: TComponent); override;  
   destructor Destroy; override;  
   property Canvas: TCanvas read FCanvas;  
 published  
   property OnDrawButton: TDrawButtonEvent read FOnDrawButton write FOnDrawButton;  
   property Color;  
 end;  

procedure Register;  

implementation  

procedure Register;  
begin  
 RegisterComponents('Samples', [TColorButton]);  
end;  

constructor TColorButton.Create(AOwner: TComponent);  
begin  
 inherited Create(AOwner);  
 FCanvas := TCanvas.Create;  
end;  

destructor TColorButton.Destroy;  
begin  
 inherited Destroy;  
 FCanvas.Free;  
end;  

procedure TColorButton.CreateParams(var Params: TCreateParams);  
begin  
 inherited CreateParams(Params);  
 with Params do Style := Style or BS_OWNERDRAW;  
end;  

procedure TColorButton.SetButtonStyle(ADefault: Boolean);  
begin  
 if ADefault <> IsFocused then  
 begin  
   IsFocused := ADefault;  
   Refresh;  
 end;  
end;  

procedure TColorButton.CNMeasureItem(var Message: TWMMeasureItem);  
begin  
 with Message.MeasureItemStruct^ do  
 begin  
   itemWidth  := Width;  
   itemHeight := Height;  
 end;  
end;  

procedure TColorButton.CNDrawItem(var Message: TWMDrawItem);  
var  
 SaveIndex: Integer;  
begin  
 with Message.DrawItemStruct^ do  
 begin  
   SaveIndex := SaveDC(hDC);  
   FCanvas.Lock;  
   try  
     FCanvas.Handle := hDC;  
     FCanvas.Font := Font;  
     FCanvas.Brush := Brush;  
     DrawButton(rcItem, itemState);  
   finally  
     FCanvas.Handle := 0;  
     FCanvas.Unlock;  
     RestoreDC(hDC, SaveIndex);  
   end;  
 end;  
 Message.Result := 1;  
end;  

procedure TColorButton.CMEnabledChanged(var Message: TMessage);  
begin  
 inherited;  
 Invalidate;  
end;  

procedure TColorButton.CMFontChanged(var Message: TMessage);  
begin  
 inherited;  
 Invalidate;  
end;  

procedure TColorButton.WMLButtonDblClk(var Message: TWMLButtonDblClk);  
begin  
 Perform(WM_LBUTTONDOWN, Message.Keys, Longint(Message.Pos));  
end;  

procedure TColorButton.DrawButton(Rect: TRect; State: UINT);  
var  
 Flags, OldMode: Longint;  
 IsDown, IsDefault, IsDisabled: Boolean;  
 OldColor: TColor;  
 OrgRect: TRect;  
begin  
 OrgRect := Rect;  
 Flags := DFCS_BUTTONPUSH or DFCS_ADJUSTRECT;  
 IsDown := State and ODS_SELECTED <> 0;  
 IsDefault := State and ODS_FOCUS <> 0;  
 IsDisabled := State and ODS_DISABLED <> 0;  

 if IsDown then Flags := Flags or DFCS_PUSHED;  
 if IsDisabled then Flags := Flags or DFCS_INACTIVE;  

 if IsFocused or IsDefault then  
 begin  
   FCanvas.Pen.Color := clWindowFrame;  
   FCanvas.Pen.Width := 1;  
   FCanvas.Brush.Style := bsClear;  
   FCanvas.Rectangle(Rect.Left, Rect.Top, Rect.Right, Rect.Bottom);  
   InflateRect(Rect, - 1, - 1);  
 end;  

 if IsDown then  
 begin  
   FCanvas.Pen.Color := clBtnShadow;  
   FCanvas.Pen.Width := 1;  
   FCanvas.Brush.Color := clBtnFace;  
   FCanvas.Rectangle(Rect.Left, Rect.Top, Rect.Right, Rect.Bottom);  
   InflateRect(Rect, - 1, - 1);  
 end  
 else  
   DrawFrameControl(FCanvas.Handle, Rect, DFC_BUTTON, Flags);  

 if IsDown then OffsetRect(Rect, 1, 1);  

 OldColor := FCanvas.Brush.Color;  
 FCanvas.Brush.Color := Color;  
 FCanvas.FillRect(Rect);  
 FCanvas.Brush.Color := OldColor;  
 OldMode := SetBkMode(FCanvas.Handle, TRANSPARENT);  
 FCanvas.Font.Color := clBtnText;  
 if IsDisabled then  
   DrawState(FCanvas.Handle, FCanvas.Brush.Handle, nil, Integer(Caption), 0,  
   ((Rect.Right - Rect.Left) - FCanvas.TextWidth(Caption)) div 2,  
   ((Rect.Bottom - Rect.Top) - FCanvas.TextHeight(Caption)) div 2,  
     0, 0, DST_TEXT or DSS_DISABLED)  
 else  
   DrawText(FCanvas.Handle, PChar(Caption), - 1, Rect,  
     DT_SINGLELINE or DT_CENTER or DT_VCENTER);  
 SetBkMode(FCanvas.Handle, OldMode);  

 if Assigned(FOnDrawButton) then  
   FOnDrawButton(Self, Rect, TOwnerDrawState(LongRec(State).Lo));  

 if IsFocused and IsDefault then  
 begin  
   Rect := OrgRect;  
   InflateRect(Rect, - 4, - 4);  
   FCanvas.Pen.Color := clWindowFrame;  
   FCanvas.Brush.Color := clBtnFace;  
   DrawFocusRect(FCanvas.Handle, Rect);  
 end;  
end;  
end.

--------------------------------------------------------------------------------

В книгах Калверта, Свана и других авторов можно найти похожий текст. Смысл текста – "Изменить цвет кнопок Button, BitBtn нельзя, т.к. их рисует WINDOWS". Если нельзя, но ОЧЕНЬ НУЖНО, то можно.

Небольшой компонент ColorBtn, дает возможность использовать в кнопках цвет. Кроме того, представлено новое свойство - Frame3D, позволяющее получить более реалистичный вид нажатой кнопки. В отличие от API, при изменении значения свойства Frame3D, не требуется переоткрытие компонента.

Примечание. Кнопку по-прежнему рисует WINDOWS, а раскрашивает ее ColorBtn. Код компонента на 90% повторяет код BitBtn, ничего необычного здесь нет. Чаще заглядывайте в VCL - можно найти много интересного. На рисунке представлены ColorButton и ColorBitBtn.



unit colorbtn;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls, Buttons;

type

 TColorBtn = class(TButton)
 private
   FCanvas: TCanvas;
   IsFocused: Boolean;
   F3DFrame: boolean;
   FButtonColor: TColor;
   procedure Set3DFrame(Value: boolean);
   procedure SetButtonColor(Value: TColor);
   procedure CNDrawItem(var Message: TWMDrawItem); message CN_DRAWITEM;
   procedure WMLButtonDblClk(var Message: TWMLButtonDblClk); message
     WM_LBUTTONDBLCLK;
   procedure DrawButtonText(const Caption: string; TRC: TRect; State:
     TButtonState; BiDiFlags: Longint);
   procedure CalcuateTextPosition(const Caption: string; var TRC: TRect;
     BiDiFlags: Longint);
 protected
   procedure CreateParams(var Params: TCreateParams); override;
   procedure SetButtonStyle(ADefault: Boolean); override;
 public
   constructor Create(AOwner: TComponent); override;
   destructor Destroy; override;
 published
   property ButtonColor: TColor read FButtonColor write SetButtonColor default
     clBtnFace;
   property Frame3D: boolean read F3DFrame write Set3DFrame default False;
 end;

procedure Register;

implementation

{ TColorBtn }

constructor TColorBtn.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
 Height := 21;
 FCanvas := TCanvas.Create;
 FButtonColor := clBtnFace;
 F3DFrame := False;
end;

destructor TColorBtn.Destroy;
begin
 FCanvas.Free;
 inherited Destroy;
end;

procedure TColorBtn.CreateParams(var Params: TCreateParams);
begin
 inherited CreateParams(Params);
 with Params do
   Style := Style or BS_OWNERDRAW;
end;

procedure TColorBtn.Set3DFrame(Value: boolean);
begin
 if F3DFrame <> Value then
   F3DFrame := Value;
end;

procedure TColorBtn.SetButtonColor(Value: TColor);
begin
 if FButtonColor <> Value then
 begin
   FButtonColor := Value;
   Invalidate;
 end;
end;

procedure TColorBtn.WMLButtonDblClk(var Message: TWMLButtonDblClk);
begin
 Perform(WM_LBUTTONDOWN, Message.Keys, Longint(Message.Pos));
end;

procedure TColorBtn.SetButtonStyle(ADefault: Boolean);
begin
 if IsFocused <> ADefault then
   IsFocused := ADefault;
end;

procedure TColorBtn.CNDrawItem(var Message: TWMDrawItem);
var
 RC: TRect;
 Flags: Longint;
 State: TButtonState;
 IsDown, IsDefault: Boolean;
 DrawItemStruct: TDrawItemStruct;
begin
 DrawItemStruct := Message.DrawItemStruct^;
 FCanvas.Handle := DrawItemStruct.HDC;
 RC := ClientRect;
 with DrawItemStruct do
 begin
   IsDown := ItemState and ODS_SELECTED <> 0;
   IsDefault := ItemState and ODS_FOCUS <> 0;
   if not Enabled then
     State := bsDisabled
   else if IsDown then
     State := bsDown
   else
     State := bsUp;
 end;
 Flags := DFCS_BUTTONPUSH or DFCS_ADJUSTRECT;
 if IsDown then
   Flags := Flags or DFCS_PUSHED;
 if DrawItemStruct.ItemState and ODS_DISABLED <> 0 then
   Flags := Flags or DFCS_INACTIVE;
 if IsFocused or IsDefault then
 begin
   FCanvas.Pen.Color := clWindowFrame;
   FCanvas.Pen.Width := 1;
   FCanvas.Brush.Style := bsClear;
   FCanvas.Rectangle(RC.Left, RC.Top, RC.Right, RC.Bottom);
   InflateRect(RC, -1, -1);
 end;
 if IsDown then
 begin
   FCanvas.Pen.Color := clBtnShadow;
   FCanvas.Pen.Width := 1;
   FCanvas.Rectangle(RC.Left, RC.Top, RC.Right, RC.Bottom);
   InflateRect(RC, -1, -1);
   if F3DFrame then
   begin
     FCanvas.Pen.Color := FButtonColor;
     FCanvas.Pen.Width := 1;
     DrawFrameControl(DrawItemStruct.HDC, RC, DFC_BUTTON, Flags);
   end;
 end
 else
   DrawFrameControl(DrawItemStruct.HDC, RC, DFC_BUTTON, Flags);
 FCanvas.Brush.Color := FButtonColor;
 FCanvas.FillRect(RC);
 InflateRect(RC, 1, 1);
 if IsFocused then
 begin
   RC := ClientRect;
   InflateRect(RC, -1, -1);
 end;
 FCanvas.Font := Self.Font;
 if IsDown then
   OffsetRect(RC, 1, 1);
 DrawButtonText(Caption, RC, State, 0);
 if IsFocused and IsDefault then
 begin
   RC := ClientRect;
   InflateRect(RC, -4, -4);
   FCanvas.Pen.Color := clWindowFrame;
   Windows.DrawFocusRect(FCanvas.Handle, RC);
 end;
 FCanvas.Handle := 0;
end;

procedure TColorBtn.CalcuateTextPosition(const Caption: string; var TRC: TRect;
 BiDiFlags: Integer);
var
 TB: TRect;
 TS, TP: TPoint;
begin
 with FCanvas do
 begin
   TB := Rect(0, 0, TRC.Right + TRC.Left, TRC.Top + TRC.Bottom);
   DrawText(Handle, PChar(Caption), Length(Caption), TB, DT_CALCRECT or
     BiDiFlags);
   TS := Point(TB.Right - TB.Left, TB.Bottom - TB.Top);
   TP.X := ((TRC.Right - TRC.Left) - TS.X + 1) div 2;
   TP.Y := ((TRC.Bottom - TRC.Top) - TS.Y + 1) div 2;
   OffsetRect(TB, TP.X + TRC.Left, TP.Y + TRC.Top);
   TRC := TB;
 end;
end;

procedure TColorBtn.DrawButtonText(const Caption: string; TRC: TRect; State:
 TButtonState; BiDiFlags: Integer);
begin
 with FCanvas do
 begin
   CalcuateTextPosition(Caption, TRC, BiDiFlags);
   Brush.Style := bsClear;
   if State = bsDisabled then
   begin
     OffsetRect(TRC, 1, 1);
     Font.Color := clBtnHighlight;
     DrawText(Handle, PChar(Caption), Length(Caption), TRC,
       DT_CENTER or DT_VCENTER or BiDiFlags);
     OffsetRect(TRC, -1, -1);
     Font.Color := clBtnShadow;
     DrawText(Handle, PChar(Caption), Length(Caption), TRC,
       DT_CENTER or DT_VCENTER or BiDiFlags);
   end
   else
     DrawText(Handle, PChar(Caption), Length(Caption), TRC,
       DT_CENTER or DT_VCENTER or BiDiFlags);
 end;
end;

procedure Register;
begin
 RegisterComponents('Controls', [TColorBtn]);
end;

end.



Небольшое дополнение. Кнопку по прежнему рисует WINDOWS, а раскрашивает ее ColorBtn. Код компонента на 90% повторяет код BitBtn, ничего необычного здесь нет. Хочется повторить слова Калверта – "Пользуйтесь исходным кодом". Чаще заглядывайте в VCL - можно найти много интересного.


PM MAIL   Вверх
Veve
  Дата 8.1.2005, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 1.1.2005
Где: Латвия, Рига

Репутация: нет
Всего: 13



Понятно. Спасибо за старание.

Это сообщение отредактировал(а) Veve - 8.1.2005, 16:51
PM MAIL ICQ Skype MSN   Вверх
Zero
Дата 8.1.2005, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Цитата(Veve @ 8.1.2005, 11:22)
Подскажите пожалуйста, как в Delphi7, без особых заморочек, закрасить кнопку любым цветом.

Цитата(dsergey @ 8.1.2005, 11:33)
без особых замороче не получиться,

Зря ты так думаешь... smile
Только это получится для кнопки имеющей свойство Glyph, например TBitBtn или TSpeedButton... Вот пример для TSpeedButton:
Код

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
 speedbutton1.Glyph.Width:=speedbutton1.Width;
 speedbutton1.Glyph.Height:=speedbutton1.Height;
 speedbutton1.Glyph.Canvas.Pen.Color:=clblack;  //здесь пиши любой цвет (можно ставить номер)
 speedbutton1.Glyph.Canvas.Pen.Width:=speedbutton1.Height-1;
 speedbutton1.Glyph.Canvas.Pen.Style:=pssolid;
 speedbutton1.Glyph.Canvas.MoveTo(1,speedbutton1.Height div 2);
 speedbutton1.Glyph.Canvas.LineTo(speedbutton1.Width - 8,speedbutton1.Height div 2);
end;

Цитата(Veve @ 8.1.2005, 11:22)
И ещё, таже кнопка и схожая проблема, как поминять цвет надписи на кнопке?

Цитата(Veve @ 8.1.2005, 11:22)
В окне Object Inspector выберай свойство Font-Color ну и там нужный цвет, ничего не меняеться.

Вообщето работает, но ты наверно что-то нетак делаешь, но если хочешь попробуй сделать это тоже программно:
Код

speedbutton1.Font.Color:=clred; {за место текста также можно исп. номер цвета}

PM MAIL ICQ   Вверх
Veve
Дата 9.1.2005, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 1.1.2005
Где: Латвия, Рига

Репутация: нет
Всего: 13



Цитата
Вообщето работает, но ты наверно что-то нетак делаешь, но если хочешь попробуй сделать это тоже программно:
Код 

speedbutton1.Font.Color:=clred; {за место текста также можно исп. номер цвета}


Вобщето я и не сомневался, что для speedButton будет работать, как я говорил выше я имел в виду простую кнопку и её свойство Font-Color

Это сообщение отредактировал(а) Veve - 9.1.2005, 14:11
PM MAIL ICQ Skype MSN   Вверх
Zero
Дата 9.1.2005, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Прикольно, а внатуре... У меня тоже не меняется. smile
Ни программно, ни обычно... smile
PM MAIL ICQ   Вверх
Veve
Дата 9.1.2005, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 1.1.2005
Где: Латвия, Рига

Репутация: нет
Всего: 13



Цитата
Прикольно, а внатуре... У меня тоже не меняется. 
Ни программно, ни обычно... 


Вот и я про тоже.
PM MAIL ICQ Skype MSN   Вверх
Vit
Дата 9.1.2005, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Цитата(Zero @ 9.1.2005, 05:48)
Прикольно, а внатуре... У меня тоже не меняется. 
Ни программно, ни обычно... 



Имеется ввиду приведенный пример из DRKB или стандартное свойство color? Если стандартное свойство - то не меняется, так как в винде не определена такая возможность, точнее она определяется темой винды, а не программой. Поэтому без заморочек не получится


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Alex
Дата 9.1.2005, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Приведенный пример из DRKB полностью рабочий. Проверил сейчас лично.
Также, этот пример можно найти в нашем FAQ: http://vingrad.ru/VF-DLP-000910


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
ShuVaS
Дата 9.1.2005, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 26.12.2004
Где: Севастополь

Репутация: нет
Всего: нет



Раз тема о кнопках зашла - как мне без особых заморочек поменять рисунок на кнопке или на имаже во время работы программы (при наведениии принажатии и т.д.)
PM MAIL WWW ICQ   Вверх
Vit
Дата 10.1.2005, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Цитата(ShuVaS @ 9.1.2005, 14:26)
Раз тема о кнопках зашла - как мне без особых заморочек поменять рисунок на кнопке или на имаже во время работы программы (при наведениии принажатии и т.д.)


Какая кнопка имеется ввиду?


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Alex
Дата 10.1.2005, 01:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(ShuVaS @ 9.1.2005, 23:26)
Раз тема о кнопках зашла - как мне без особых заморочек поменять рисунок на кнопке или на имаже во время работы программы (при наведениии принажатии и т.д.)

http://vingrad.ru/VF-DLP-000906


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Slawanix
Дата 10.1.2005, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 29.7.2004
Где: г. Великие Луки

Репутация: нет
Всего: 1



Цитата
Подскажите пожалуйста, как в Delphi7, без особых заморочек, закрасить кнопку любым цветом. И ещё, таже кнопка и схожая проблема, как поминять цвет надписи на кнопке?

Не совсем то,что тыспрашиваешь, но результат должен быть smile . Можно создать .bmp, имитирующий кнопку с надписью нужного цвета и размера, и поместить на BitBtn. И мороки в разы меньше. smile
--------------------
моск кипит    
PM MAIL WWW   Вверх
ShuVaS
Дата 10.1.2005, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 26.12.2004
Где: Севастополь

Репутация: нет
Всего: нет



Я имею ввиду любую кнопку(с которой легче) или удобней использовать Timage?

PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0682 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.