المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : تغير ايقوانات شريط ال dbnavigator


theking_ma
30-11-2009, 01:35 PM
هذا اول موضوع لي في المنتدى

واظن انه مهم للجميع لان شريط dbnavigator مهم والكثير يستخدمونه

الطريقة

في الفورم الموجود فيه الشريط

اختر OnCreate وضع فيها الكود التالي

var
c:Tbitmap;
begin
c:=Tbitmap.Create;
c.LoadFromFile('C:\Insert.bmp');
newtypenav(dbnavigator1).buttons[nbinsert].Glyph:=c;

طبعا في الكود انا مغير صورة ايقونة nbinsert طبعا فيكم تغيو كل الايقونات

NbFirst - Button First
NbPrior - Button Prior
NbNext - Button Next
NbLast - Button Last
NbInsert - Button Insert
NbDelete - Button Delete
NbEdit - Button Edit
NbPost - Button Post
NbRefresh - Button Refresh

kachwahed
30-11-2009, 11:46 PM
مرحبا بك أخي في المنتدى
موفق موضوع جديد وجميل.
فقط ضع الأكواد باستعمال السمة code أو استخدم زر الكود، كذلك ليبدو الكود واضح.
ننتظر منك المزيد، بالتوفيق إن شاء الله.

medreg
27-02-2010, 08:27 PM
[COLOR="DarkRed"][CENTER]

var
c:Tbitmap;
begin
c:=Tbitmap.Create;
c.LoadFromFile('C:\Insert.bmp');
newtypenav(dbnavigator1).buttons[nbinsert].Glyph:=c;

هذا الكود عند التنفيذ يعطي خطأ وهو ان كلمة newtypenav
غير مصرح بها
فكيف ذلك

kachwahed
27-02-2010, 10:16 PM
السلام عليكم
NewTypeNav واضح أنه نمط معرف من TDBNavigator لم يذكره الأخ:
type
NewTypeNav = class(TDBNavigator);
بطريقة أخرى باستخدام الـ Ressources، بعد إضافة الصور في مصادر (ريسورس) البرنامج:
procedure TForm1.FormCreate(Sender: TObject);
var
i : Integer;
tempGlyph : tBitmap;
begin
tempGlyph :=TBitmap.Create;
try
tempGlyph.LoadFromResourceName
(HInstance,'GoFirst');
with DBNavigator1 do begin
for i := 0 to ControlCount - 1 do
if (Controls[i] is TNavButton) then
with TNavButton(Controls[i]) do begin
case Index of
nbFirst: Glyph := tempGlyph;
end;
end;
end;
finally
tempGlyph.Free;
end;
end;
حيث GoFirst هو صورة الزر الذي يرجع إلى أول سجل من الجدول.
يمكن أيضا تعويض الصور يدويا (باستخدام أي محرر ريسورس) ولن تحتاج لكتابة أي كود.
للمزيد حول استخدام الريسورس راجع موضوع الأخ TF6M.