Yorumları: 1.571
Konuları: 88
Kayıt Tarihi: 09-08-2016
Rep Puanı: 13.829 Üstad
(03-07-2018, Saat: 10:51)murtishow76 Adlı Kullanıcıdan Alıntı: çizgi kontrollerin altında olmuş kardeş ben üstünde istiyorum... tshape ve tbevel işlerimi gören komponent lakin en üstte konumlandıryamıyoruz b. bir makalede handle atanırsa üzstte çıkacağından bahsediyolardı ama nasıl olacak bilmiyorum .....
Doğru ya, karıştı ortalık iyice
Bir yandan işle uğraşırken bir yandan yardımcı olmaya çalıştım. Bu şekilde olmayacak sanırım. Müsait olduğumda bakmaya çalışacağım
There's no place like 127.0.0.1
Yorumları: 902
Konuları: 68
Kayıt Tarihi: 30-06-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 8.392 Üstad
Ve ardından aşağıdaki linki incelersen sonuca ulaşırsın diye tahmin ediyorum;
https://parnassus.co/open-source/ttransparentcanvas/
YouTube Delphi Tips
"Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır" Peyami Safa
Yorumları: 45
Konuları: 12
Kayıt Tarihi: 27-06-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 22 Başlangıç
03-07-2018, Saat: 11:05
(Son Düzenleme: 03-07-2018, Saat: 11:10, Düzenleyen: murtishow76.)
(03-07-2018, Saat: 11:04)SimaWB Adlı Kullanıcıdan Alıntı: (03-07-2018, Saat: 10:51)murtishow76 Adlı Kullanıcıdan Alıntı: çizgi kontrollerin altında olmuş kardeş ben üstünde istiyorum... tshape ve tbevel işlerimi gören komponent lakin en üstte konumlandıryamıyoruz b. bir makalede handle atanırsa üzstte çıkacağından bahsediyolardı ama nasıl olacak bilmiyorum .....
Doğru ya, karıştı ortalık iyice
Bir yandan işle uğraşırken bir yandan yardımcı olmaya çalıştım. Bu şekilde olmayacak sanırım. Müsait olduğumda bakmaya çalışacağım
çok teşekkür ederim
(03-07-2018, Saat: 11:05)uparlayan Adlı Kullanıcıdan Alıntı: Ve ardından aşağıdaki linki incelersen sonuca ulaşırsın diye tahmin ediyorum;
https://parnassus.co/open-source/ttransparentcanvas/
evt inceledim ama alttaki kontrole yine ulaşılmıyor sanırım ( örneğin button) animasyondan baktığımda.. yanlışmı algıladım yoksa
Yorumları: 902
Konuları: 68
Kayıt Tarihi: 30-06-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 8.392 Üstad
(03-07-2018, Saat: 11:05)murtishow76 Adlı Kullanıcıdan Alıntı: (03-07-2018, Saat: 11:05)uparlayan Adlı Kullanıcıdan Alıntı: Ve ardından aşağıdaki linki incelersen sonuca ulaşırsın diye tahmin ediyorum;
https://parnassus.co/open-source/ttransparentcanvas/
evt inceledim ama alttaki kontrole yine ulaşılmıyor sanırım ( örneğin button) animasyondan baktığımda.. yanlışmı algıladım yoksa
doğru algıladınız...
Siz tam olarak ne yapmak istiyorsunuz? O çizgileri çizmekteki amacınız ne? Bir text editörü ekranı gibi bir şey mi yapmak istiyorsunuz?
YouTube Delphi Tips
"Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır" Peyami Safa
Yorumları: 45
Konuları: 12
Kayıt Tarihi: 27-06-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 22 Başlangıç
03-07-2018, Saat: 11:26
(Son Düzenleme: 03-07-2018, Saat: 11:28, Düzenleyen: murtishow76.)
(03-07-2018, Saat: 11:14)uparlayan Adlı Kullanıcıdan Alıntı: (03-07-2018, Saat: 11:05)murtishow76 Adlı Kullanıcıdan Alıntı: evt inceledim ama alttaki kontrole yine ulaşılmıyor sanırım ( örneğin button) animasyondan baktığımda.. yanlışmı algıladım yoksa
doğru algıladınız...
Siz tam olarak ne yapmak istiyorsunuz? O çizgileri çizmekteki amacınız ne? Bir text editörü ekranı gibi bir şey mi yapmak istiyorsunuz?
benim projem bookmaker photobook prohgramı yapacağım... bir sayfa düşünün sayfanın içinde klavuz çizgileri olması lazım sayfanın içine yeleştireceğim komponentler var https://www.youtube.com/watch?v=VBqYVe2MO44 bradaki komponent bu komponentin en üsttünde bahsettiğim klavuz çizgileri olması lazım..
Yorumları: 902
Konuları: 68
Kayıt Tarihi: 30-06-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 8.392 Üstad
03-07-2018, Saat: 11:32
(Son Düzenleme: 03-07-2018, Saat: 11:51, Düzenleyen: uparlayan.)
(02-07-2018, Saat: 15:48)murtishow76 Adlı Kullanıcıdan Alıntı: herhangi bir controle çizgi çizmek basit lakin çizdiğimiz kontrol diğer kontrolllerin en üstünde seffaf olacak ve altındaki kontroller kullanılabilir olacak
kafayı yememe az kaldı hemen hemen grafikle ilgili her programda bu klavuz çizgileri mevcut ama delphi ile kaynak yok nerede yanlış yapıyorum (arıyorum) bilemedim üstadlardan bu konuda yardım istiyorum....
(02-07-2018, Saat: 16:38)boreas Adlı Kullanıcıdan Alıntı: Herhangi bir kontrolle çizgi çizmeyeceksiniz tshape'i çizgi olarak kullanacaksınız. Ve sürekli en yukarda tutacaksınız. Ben cetvel yapmıştım bu şekilde.
(03-07-2018, Saat: 10:51)murtishow76 Adlı Kullanıcıdan Alıntı: çizgi kontrollerin altında olmuş kardeş ben üstünde istiyorum... tshape ve tbevel işlerimi gören komponent lakin en üstte konumlandıryamıyoruz b. bir makalede handle atanırsa üzstte çıkacağından bahsediyolardı ama nasıl olacak bilmiyorum .....
Pardon, Şimdi anladım (Umarım) ;
Görsel olmayan bir bileşen yazıp, konteyner olarak bileşene bildirdiğiniz nesneye kılavuz çizgileri çizdirebilirsiniz;
Aşağıdaki linkte runtime sırasında seçilen nesnenin kenar ve köşelerine tutamaçlar ekleyen ve fare ile sürüklendiğinde hedef nesnenin ölçülerini değiştiren bir bileşen tanıtılıyor. Sizin de yapmanız gereken "BENZER BİR ŞEKİLDE" o bileşenin izlediği yola uygun bir şey yazmak. Aşağıdaki linkte bileşenin kaynak kodları da yer alıyor, incelediğinizde, kodları okuduğunuzda sorunuzun da cevabını bulmuş olacaksınız. (İpucu, @ boreas'ın önerdiğine yakın bir taktik...)
http://neftali.clubdelphi.com/componente...onruntime/
----------------------------
(03-07-2018, Saat: 11:26)murtishow76 Adlı Kullanıcıdan Alıntı: (03-07-2018, Saat: 11:14)uparlayan Adlı Kullanıcıdan Alıntı: doğru algıladınız...
Siz tam olarak ne yapmak istiyorsunuz? O çizgileri çizmekteki amacınız ne? Bir text editörü ekranı gibi bir şey mi yapmak istiyorsunuz?
benim projem bookmaker photobook prohgramı yapacağım... bir sayfa düşünün sayfanın içinde klavuz çizgileri olması lazım sayfanın içine yeleştireceğim komponentler var https://www.youtube.com/watch?v=VBqYVe2MO44 bradaki komponent bu komponentin en üsttünde bahsettiğim klavuz çizgileri olması lazım..
Video'daki görüntüde 5 adet TPanel, 4 adet TSplitter var, bu şekilde de yapılabilir tabi...
DFM kodlarını aşağıda paylaşıyorum, Align, Margins ve Padding parametrelerini inceleyin,
object Ana: TAna
Left = 0
Top = 0
Caption = 'Ana'
ClientHeight = 320
ClientWidth = 585
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
Padding.Left = 20
Padding.Top = 20
Padding.Right = 20
Padding.Bottom = 20
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Taban: TPanel
Left = 20
Top = 20
Width = 545
Height = 280
Align = alClient
BevelOuter = bvNone
Color = clRed
Padding.Left = 6
Padding.Top = 6
Padding.Right = 6
Padding.Bottom = 6
ParentBackground = False
TabOrder = 0
ExplicitLeft = 22
ExplicitTop = 16
ExplicitWidth = 605
ExplicitHeight = 269
object Splitter1: TSplitter
Left = 191
Top = 6
Width = 6
Height = 268
Color = clRed
ParentColor = False
ExplicitLeft = 195
ExplicitTop = 10
ExplicitHeight = 6
end
object Splitter2: TSplitter
Left = 348
Top = 6
Width = 6
Height = 268
Align = alRight
Color = clRed
ParentColor = False
ExplicitLeft = 404
ExplicitTop = 10
ExplicitHeight = 6
end
object Sol: TPanel
Left = 6
Top = 6
Width = 185
Height = 268
Align = alLeft
BevelOuter = bvNone
TabOrder = 0
OnResize = SolResize
ExplicitLeft = 108
ExplicitTop = 72
ExplicitHeight = 41
object Splitter3: TSplitter
Left = 0
Top = 41
Width = 185
Height = 6
Cursor = crVSplit
Align = alTop
Color = clRed
ParentColor = False
ExplicitLeft = 1
ExplicitTop = 42
ExplicitWidth = 183
end
object Splitter4: TSplitter
Left = 0
Top = 221
Width = 185
Height = 6
Cursor = crVSplit
Align = alBottom
Color = clRed
ParentColor = False
ExplicitLeft = 1
ExplicitTop = 204
ExplicitWidth = 183
end
object Sol_Ust: TPanel
Left = 0
Top = 0
Width = 185
Height = 41
Align = alTop
BevelOuter = bvNone
Ctl3D = True
ParentBackground = False
ParentCtl3D = False
TabOrder = 0
ExplicitLeft = 48
ExplicitTop = 44
end
object Sol_Orta: TPanel
Left = 0
Top = 47
Width = 185
Height = 174
Align = alClient
BevelOuter = bvNone
Ctl3D = True
ParentBackground = False
ParentCtl3D = False
TabOrder = 1
ExplicitLeft = 20
ExplicitTop = 60
ExplicitHeight = 41
object Edit2: TEdit
AlignWithMargins = True
Left = 3
Top = 3
Width = 179
Height = 21
Align = alTop
TabOrder = 0
Text = 'Edit2'
ExplicitLeft = 8
ExplicitTop = 12
ExplicitWidth = 121
end
end
object Sol_Alt: TPanel
Left = 0
Top = 227
Width = 185
Height = 41
Align = alBottom
BevelOuter = bvNone
Ctl3D = True
ParentBackground = False
ParentCtl3D = False
TabOrder = 2
ExplicitLeft = 28
ExplicitTop = 152
object Edit3: TEdit
AlignWithMargins = True
Left = 3
Top = 3
Width = 179
Height = 21
Align = alTop
TabOrder = 0
Text = 'Edit3'
ExplicitLeft = 16
ExplicitTop = 12
ExplicitWidth = 121
end
end
end
object Orta: TPanel
Left = 197
Top = 6
Width = 151
Height = 268
Align = alClient
BevelOuter = bvNone
Ctl3D = True
ParentBackground = False
ParentCtl3D = False
TabOrder = 1
ExplicitLeft = 201
ExplicitTop = 10
ExplicitWidth = 185
ExplicitHeight = 249
object Memo1: TMemo
AlignWithMargins = True
Left = 10
Top = 10
Width = 131
Height = 248
Margins.Left = 10
Margins.Top = 10
Margins.Right = 10
Margins.Bottom = 10
Align = alClient
Lines.Strings = (
'Memo1')
TabOrder = 0
ExplicitLeft = 6
ExplicitTop = 50
ExplicitWidth = 179
ExplicitHeight = 139
end
end
object Sag: TPanel
Left = 354
Top = 6
Width = 185
Height = 268
Align = alRight
BevelOuter = bvNone
Ctl3D = True
ParentBackground = False
ParentCtl3D = False
TabOrder = 2
ExplicitLeft = 448
ExplicitTop = 68
ExplicitHeight = 41
object Edit4: TEdit
AlignWithMargins = True
Left = 3
Top = 3
Width = 179
Height = 21
Align = alTop
TabOrder = 0
Text = 'Edit4'
ExplicitLeft = 12
ExplicitTop = 8
ExplicitWidth = 121
end
end
end
end
YouTube Delphi Tips
"Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır" Peyami Safa
Yorumları: 45
Konuları: 12
Kayıt Tarihi: 27-06-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 22 Başlangıç
bu sistem beni aşıyor sanırım .... delphide bu kadar basit bir çizginin bu kadar zor olacağı aklıma gelmemişti... önerdiğiniz sistemi bende daha önce indirip bakmışım... ama altından kalmamışım belli ki...bırakmışım...
şuna yoğunşmak istiyorum [ tshape yi EN ÜSTTE NASIL GEÇİRİRİM.] bunu başarırsak sorunu çok daha rahat çözeceğiz...
Yorumları: 902
Konuları: 68
Kayıt Tarihi: 30-06-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 8.392 Üstad
03-07-2018, Saat: 11:53
(Son Düzenleme: 03-07-2018, Saat: 11:56, Düzenleyen: uparlayan.)
sanırım aynı anda cevap yazdık, bir önceki cevabın sonuna eklenmiş yanıtım.
O kadar da karmaşık değil aslında...
(03-07-2018, Saat: 11:52)murtishow76 Adlı Kullanıcıdan Alıntı: bu sistem beni aşıyor sanırım .... delphide bu kadar basit bir çizginin bu kadar zor olacağı aklıma gelmemişti... önerdiğiniz sistemi bende daha önce indirip bakmışım... ama altından kalmamışım belli ki...bırakmışım...
şuna yoğunşmak istiyorum [ tshape yi EN ÜSTTE NASIL GEÇİRİRİM.] bunu başarırsak sorunu çok daha rahat çözeceğiz...
Dediğiniz şey "Z-Order" kapsamına giriyor, TShape, TGraphicControl'den türediği (başka bir ifade ile TWinControl'den türeMEDİĞİ) için en üste TShape'yi geçiremezsiniz.
YouTube Delphi Tips
"Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır" Peyami Safa
Yorumları: 1.571
Konuları: 88
Kayıt Tarihi: 09-08-2016
Rep Puanı: 13.829 Üstad
Sanırım ben çözümü buldum
Form üzerine bir Timer koyup Interval'ini 25 gibi küçük bir değer yapıyoruz. Sonrasında OnTimer'ına şunları yazıyoruz:
procedure TForm1.Timer1Timer(Sender: TObject);
var
DC: HDC;
begin
DC := GetWindowDC(Panel1.Handle);
// Renk vermek isterseniz aşağıdaki 2 satırı kullanın
SelectObject(DC, GetStockObject(DC_PEN));
SetDCPenColor(DC, RGB(255, 0, 0));
//
MoveToEx(DC, 100, 0, nil);
LineTo(DC, 100, Panel1.Height);
ReleaseDC(Panel1.Handle, DC);
end;
Sonuç:
There's no place like 127.0.0.1
Yorumları: 45
Konuları: 12
Kayıt Tarihi: 27-06-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 22 Başlangıç
(03-07-2018, Saat: 12:00)SimaWB Adlı Kullanıcıdan Alıntı: Sanırım ben çözümü buldum
Form üzerine bir Timer koyup Interval'ini 25 gibi küçük bir değer yapıyoruz. Sonrasında OnTimer'ına şunları yazıyoruz:
procedure TForm1.Timer1Timer(Sender: TObject);
var
DC: HDC;
begin
DC := GetWindowDC(Panel1.Handle);
// Renk vermek isterseniz aşağıdaki 2 satırı kullanın
SelectObject(DC, GetStockObject(DC_PEN));
SetDCPenColor(DC, RGB(255, 0, 0));
//
MoveToEx(DC, 100, 0, nil);
LineTo(DC, 100, Panel1.Height);
ReleaseDC(Panel1.Handle, DC);
end;
Sonuç:
vallahi bulmuşsun.. timer olayı ilerleyen zamanda nasıl tepki verecek bilmiyorum ama bu çözüm şimdilik ON NUMARA
|