grid
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
grid
Merhaba, ben stringgrid kullanan bir programla uğraşıyorum. Ama dbgrid de olduğu gibi her sütunu farklı biçimlendirmek istiyorum. Bu stringgridle pek mümkün değil. Dbgrid kullanırsam da istediğim hücreye istediğim değeri atıyamıyorum. Önerilerinizi bekliyorum. Teşekkür ederim.
Re: grid
DbGrid'de yapabildiğiniz ve StringGrid'de yapamadığınız olay nedir. Daha fazla açıklama yapabilirseniz yardımcı olmaya çalışırız.jumper yazdı:Ama dbgrid de olduğu gibi her sütunu farklı biçimlendirmek istiyorum.
Kolay Gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Komponentsiz bir örnek neler yapılabileceğine dair Arşivimden
Kolay Gelsin...

Kod: Tümünü seç
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, HusoEdit;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure StringGridRotateTextOut(Grid: TStringGrid; ARow, ACol: Integer; Rect: TRect;
Schriftart: string; Size: Integer; Color: TColor; Alignment: TAlignment);
var
lf: TLogFont;
tf: TFont;
begin
if (Size > Grid.ColWidths[ACol] div 2) then
Size := Grid.ColWidths[ACol] div 2;
with Grid.Canvas do
begin
Font.Name := Schriftart;
Font.Size := Size;
Font.Color := Color;
tf := TFont.Create;
try
tf.Assign(Font);
GetObject(tf.Handle, SizeOf(lf), @lf);
lf.lfEscapement := 900;
lf.lfOrientation := 0;
tf.Handle := CreateFontIndirect(lf);
Font.Assign(tf);
finally
tf.Free;
end;
FillRect(Rect);
if Alignment = taLeftJustify then
TextRect(Rect, Rect.Left + 2,Rect.Bottom - 2,Grid.Cells[ACol, ARow]);
if Alignment = taCenter then
TextRect(Rect, Rect.Left + Grid.ColWidths[ACol] div 2 - Size +
Size div 3,Rect.Bottom - 2,Grid.Cells[ACol, ARow]);
if Alignment = taRightJustify then
TextRect(Rect, Rect.Right - Size - Size div 2 - 2,Rect.Bottom -
2,Grid.Cells[ACol, ARow]);
end;
end;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if ACol = 1 then
StringGridRotateTextOut(StringGrid1, ARow, ACol, Rect, 'ARIAL',
12,clRed, taLeftJustify);
if ACol = 2 then
StringGridRotateTextOut(StringGrid1, ARow, ACol, Rect, 'ARIAL', 12, clBlue, taCenter);
if ACol > 2 then
StringGridRotateTextOut(StringGrid1, ARow, ACol, Rect, 'ARIAL', 12,clGreen,
taRightJustify);
end;
En son husonet tarafından 07 Ağu 2004 09:27 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
http://www.torry.net
güzel bir kaynak, orda bulunabilir sanırım. Bir bakın eğer bulamazsanız ben de biraz araştırayım.
güzel bir kaynak, orda bulunabilir sanırım. Bir bakın eğer bulamazsanız ben de biraz araştırayım.
Yeri gelmişke sadece Tek bir hücrenin Font özelliklerini kullanmasını isterseniz.
OnDrawSell eventinde Fonksiyonumuzu
Çağırmalıyız.
Hem satır hemde sutun numarasını veriyoruz.
Son olarak ilave etmek istediğim bir şey var Oda Hücrelere giriş yaparken Renk siyah olacaktır. Bunuda OnGetEditText eventinde
Uses kısmına StdCtrls Ekleyelim.
Yazmamız yeterli olacak.
Gördüğünüz Gibi Componentlik bir olay yok
Ama isterseniz bu kadar bilgiden sonra Component yazabilirsiniz.
Kolay Gelsin...
OnDrawSell eventinde Fonksiyonumuzu
Kod: Tümünü seç
if (ACol = 2) and (ARow = 2) then
StringGridRotateTextOut(StringGrid1, ARow, ACol, Rect, 'ARIAL', 12, clBlue, taCenter);
Hem satır hemde sutun numarasını veriyoruz.
Son olarak ilave etmek istediğim bir şey var Oda Hücrelere giriş yaparken Renk siyah olacaktır. Bunuda OnGetEditText eventinde
Uses kısmına StdCtrls Ekleyelim.
Kod: Tümünü seç
TEdit(StringGrid1.Controls[0]).Font.Color := ClRed;
Gördüğünüz Gibi Componentlik bir olay yok


Kolay Gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Button1'e bir şey yazmıyacaksınolc yazdı:Yukarıda yazdığın olayda button1 i kabul ettiremiyoruz. Button1 e hangi komutu yazarak işlem yaptıracağız.
merak ettim şimdi.

Kodları Düzelttim

Kolay Gelsin..
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Amin Cümlemizin Allah kuvvetini arttırsın.olc yazdı:Sen hiç uyumaz mısın gece cevap yaz sabahın köründe yaz.
Maşaallah Allah kuvvetini ve ilmini arttırsın.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
TDBAdvStringGridname yazdı: naile hanım, banada böyle bir grid lazım. Bildiğiniz ücretsiz iyi bir bileşen var mı?
bildiğim kadarıyla ücretsiz ama kaynak kodunu isterseniz onu satın almanız gerekiyor.
http://www.tmssoftware.com/dbadvgrd.htm