form üzerinde editlerle işlem yapıldıgını düşünürsek
cursorun hangi editt olduğunda kaolaylık amaclı
cursorun oldugu editin rengini diğerlerin renginden farklı hale nasıl getirirz (ay sekılde diğer ozellıklerınıde degısmek ıcap ederse)
form üzerinde secili editin rengni değiştirmek?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: form üzerinde secili editin rengni değiştirmek?
Kod: Tümünü seç
unit unt_base;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, Grids, DBGrids, ComCtrls, DB,
IBCustomDataSet, IBSQL, IBQuery, cxDBEdit, cxMaskEdit, cxDropDownEdit,
cxCalendar, cxControls, cxContainer, cxEdit, cxTextEdit, cxCheckComboBox,
cxDBCheckComboBox, cxLabel, cxLookupEdit, cxDBLookupEdit,
cxDBLookupComboBox;
type
Tgecis = class(TwinControl)
end;
TBase = class(TForm)
procedure FormCreate(Sender: TObject);
procedure TusaBasma(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
FOldColor: TColor;
procedure Nesneyegiris(Sender: TObject);
procedure Nesnedencikis(Sender: TObject);
public
{ Public declarations }
end;
var
Base: TBase;
implementation
uses unt_dm;
{$R *.dfm}
procedure TBase.FormCreate(Sender: TObject);
var
i: integer;
begin
if tag < 5 then
Windowstate := wsMaximized;
for i := 0 to ComponentCount - 1 do
begin
if (components[i] is Tedit) or (Components[i] is TDBEdit) or (Components[i] is TDBLookUpComboBox)
or (Components[i] is TcxDBComboBox)or (Components[i] is TcxDBRadioGroup)
or (Components[i] is TDBCombobox)
then
begin
if Tgecis(Components[i]).Tag < 10 then
begin
Tgecis(Components[i]).Color :=$00F9D762;
tgecis(Components[i]).Font.Charset:=TURKISH_CHARSET;
TGecis(Components[i]).OnEnter := Nesneyegiris;
TGecis(Components[i]).OnExit := Nesnedencikis;
TGecis(Components[i]).OnKeyDown := TusaBasma;
end;
end
else if Components[i] is TPageControl then
TPageControl(Components[i]).ActivePageindex := 0
else if Components[i] is TIBDataset then
TIBDataSet(Components[i]).Database := dm.db
else if Components[i] is TIBQuery then
TIBQuery(Components[1]).Database := dm.db
else if Components[i] is TIBSQL then
TIBSQL(Components[i]).DataBase := dm.db;
if (Components[i] is TCXDBDateEdit) then
TCXDBDateEdit(components[i]).Properties.DateButtons:=[];
end;
end;
procedure TBase.Nesnedencikis(Sender: TObject);
begin
TGecis(Sender).Color := FOldColor;
end;
procedure TBase.Nesneyegiris(Sender: TObject);
begin
FoldColor := Tgecis(sender).Color;
TGecis(Sender).Color := $006BE0FE;
end;
procedure TBase.TusaBasma(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
VK_Return:Begin
if (activecontrol is TDBgrid) then
postmessage( (activecontrol as Tdbgrid).handle, wm_keydown,09,0)
else
begin
postmessage(handle,WM_Keydown,09,0);
end;
end;
end;
end;
end.
Re: form üzerinde secili editin rengni değiştirmek?
Selamun Aleyküm.
Kolay gelsin.edite girildiğinde rengini değiştirmek için editin on enter olayına;
eğer doğru anladıysam bu kod işini görecektir...
Allaha Emanet Ol...
Kolay gelsin.edite girildiğinde rengini değiştirmek için editin on enter olayına;
Kod: Tümünü seç
with sender as tedit do
color:=clskyblue;
Allaha Emanet Ol...
..::ÖzSoft Computer Land & NetCity Internet Cafe::..
Re: form üzerinde secili editin rengni değiştirmek?
bu şekilde yaptığında çıkışta editin rengini tekrar eski haline getirmelisin ,
onexit olayına
yazarak beyaz'a çevirebilirsin.
onexit olayına
Kod: Tümünü seç
with sender as tedit do
color:=clWhite;
Re: form üzerinde secili editin rengni değiştirmek?
2 yol olarakta editrenk diye int bir değişken tanımlarsın tüm unit için on exit eventte
Edit1.Color:=editrenk;
diyerek eski rengini verebilirsin. her editte renk değişiyorsa her editin rengini on enter event inde değişkene yüklemelisin.
Edit1.Color:=editrenk;
diyerek eski rengini verebilirsin. her editte renk değişiyorsa her editin rengini on enter event inde değişkene yüklemelisin.
Re: form üzerinde secili editin rengni değiştirmek?
İlgili Editin OnEnter Olayına
OnExit olayına
yazarak da yapabilirsin
kolay gelsin
Kod: Tümünü seç
TEdit(Sender).Color := clLime;
Kod: Tümünü seç
TEdit(Sender).Color := clWindow ;
kolay gelsin