Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
klavuz çizgisi
#21
(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 Smile
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
WWW
Cevapla
#22
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
WWW
Cevapla
#23
(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 Smile
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
Cevapla
#24
(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
WWW
Cevapla
#25
(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..
Cevapla
#26
(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...

g68azL.png

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
WWW
Cevapla
#27
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...
Cevapla
#28
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
WWW
Cevapla
#29
Sanırım ben çözümü buldum Smile

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ç:
2018-07-03_1_cgn0xz.png
There's no place like 127.0.0.1
WWW
Cevapla
#30
(03-07-2018, Saat: 12:00)SimaWB Adlı Kullanıcıdan Alıntı: Sanırım ben çözümü buldum Smile

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ç:
2018-07-03_1_cgn0xz.png
vallahi bulmuşsun.. timer olayı ilerleyen zamanda nasıl tepki verecek bilmiyorum ama bu çözüm şimdilik ON NUMARA
Cevapla




Konuyu Okuyanlar: 1 Ziyaretçi