PDA

View Full Version : کامپونت edit



p30portable
چهارشنبه 05 اسفند 1388, 16:13 عصر
با سلام خدمت دوستان عزیز

من دنبال یه کامپونت edit , combobox میگردم که وقتی در حالت انتخاب هست رنگش تغییر کنه :گریه:

اینو می شه با کدنویسی درست کرد اما وقتی تعداد edit ها زیاد باشه خیلی زیاد می شه ...:افسرده:

قبلاً این کامپونت رو داشتم ولی الان هر چی سرچ می کنم پیدا نمی کنم :عصبانی++:

می شه کمکم کنید :لبخند:

سعید صابری
چهارشنبه 05 اسفند 1388, 16:42 عصر
از طريق كد نويسي به اين شكل عمل كن
ابتدا دو پروسيجر يكي براي onenter و onexit بنويس به اين شكل


procedure TForm1.Onent(Sender: TObject);
begin
(Sender as TEdit).Color:=clYellow;
end;
اين براي onenter براي Onexit همينو بنويس فقط رنگي كه مي خواي به جاي زرد وارد كن
حالا در onshow فرمت بوسيله كد زير پروسيجرت به همه اديت ها ارتباط بده


var
i:Integer;
begin
for I := 0 to Componentcount- 1 do
if Components[i] is TEdit then
begin
(Components[i] as TEdit).OnEnter:=Onent;
(Components[i] as TEdit).OnExit:=Onext;
end;

p30portable
چهارشنبه 05 اسفند 1388, 18:42 عصر
مرسی ولی فکر کنم یه جا اشتباه کردی

بابد کد زیر رو

i:Integer;
begin
for I := 0 to Componentcount- 1 do
if Components[i] is TEdit then
begin
(Components[i] as TEdit).OnEnter:=Onent;
(Components[i] as TEdit).OnEnter:=Onext;
end;

اینجوری بنویسی


i:Integer;
begin
for I := 0 to Componentcount- 1 do
if Components[i] is TEdit then
begin
(Components[i] as TEdit).OnEnter:=Onent;
(Components[i] as TEdit).Onexit:=Onext;
end;

بازم ممنون

hadisalahi2
جمعه 07 اسفند 1388, 19:01 عصر
میشه بفرمایید چه تغییری در کد دادید که میگید این طوری باید نوشته بشه؟

Felony
شنبه 08 اسفند 1388, 00:11 صبح
شما اون قسمت قرمز رنگ رو اشتباه نوشته بودید .

i:Integer;
begin
for I := 0 to Componentcount- 1 do
if Components[i] is TEdit then
begin
(Components[i] as TEdit).OnEnter:=Onent;
(Components[i] as TEdit).Onexit:=Onext;
end;

SAASTN
دوشنبه 10 اسفند 1388, 01:04 صبح
سلام
خوب مسلما بهترین کار در این مورد اینه که TEdit رو باز نویسی کنید بجای اینکه رویدادهای تمام کنترلهای روی فرم رو تغییر بدید.
اما در بازنویسی، کار کردن با صفت رنگ بصورت Self.Color:=clYellow کار درستی نیست وباید Paint کنترل به نحوی بازنویسی بشه که رنگ کنترل رو تغییر بده. من هم به یک edit که در زمانی که focused است رنگش تغییر کند احتیاج داشتم اما نتونستم paint اون رو به نحوی بازنویسی کنم که مشکل حل شود و مجبور شدم با همان صفت رنگ کار کنم که مشکلاتی هم به همراه داشت. از دوستان کسی می تونه راهنمایی کنه؟