delphi - डेल्फी में ग्लास पर Google Chrome शैली टैब




dwm aero-glass (3)

मैं डेल्फी आवेदन में Google Chrome शैली टैब को विंडोज 7 में लागू करने की कोशिश कर रहा हूं।

इसके तत्व इस प्रकार हैं:

  • टैब्स नॉन-क्लाइंट क्षेत्र में विस्तारित हो सकते हैं क्योंकि वे Google क्रोम में ही करते हैं
  • कांच सक्षम किया गया है जब विस्टा और विंडोज 7 पर ठीक से आती है
  • टैब Google क्रोम की तरह काम करते हैं, और कांच पर Google क्रोम की तरह दिखते हैं

मैंने पाया है कि जिन चुनौतियों का मैं सामना करना पड़ा है, वे हैं:

  • गैर-क्लाइंट क्षेत्र में विस्तार करने के लिए मैं एक नियंत्रण (वीसीएल नियंत्रण) कैसे प्राप्त करूं? (एक नियंत्रण का एक अच्छा नमूना जो यह है कि रिबन नियंत्रण वीसीएल स्रोतों में शामिल है, लेकिन मैंने किसी और को ऐसा नहीं देखा है, और रिबन को कार्य करने के लिए कुछ दुष्ट हैकिंग लेता है)
  • कैसे ग्लास पर ठीक से बिटमैप आकर्षित करने के लिए? (डीडब्लूएम एपीआई) एक संबंधित प्रश्न पहले से ही उस पहलू का जवाब देता है, यहां, यह सवाल मेरे द्वारा भी पूछा गया था।

आप एक पूर्ण ग्लास खिड़की नहीं चाहते हैं, लेकिन आपको टैब को अपने आप से आकर्षित करना होगा क्योंकि नियंत्रण नहीं है, जिसे मैं जानता हूं कि इससे आपको सटीक रूप दिया जाएगा जिससे आप अपनी तलाश कर सकते हैं। यदि आप वर्तमान फॉर्म के ग्लासफ्रेम गुणों का उपयोग करते हैं, तो इसे सक्षम करें और अपने टैब के लिए ऊंची ऊंचाई तक सेट करें, इस क्षेत्र पर एक पेंटबॉक्स ड्रॉप करें और अपनी टैब मैन्युअल रूप से खींचना करने के लिए GDI + कॉल का उपयोग करें एक अच्छी लाइब्रेरी जिसे इसके लिए काम करना चाहिए, वह ईडीएन ( http://cc.embarcadero.com/Download.aspx?id=26950 ) पर उपलब्ध है। GDI + का उपयोग किए बिना आप पेंट बक्से में आकर्षित हो पाएंगे, लेकिन काला पारदर्शी होगा। जीडीआई + के साथ आप किसी भी रंग में कांच में आज़ादी से आकर्षित कर सकते हैं उदाहरण के लिए:

स्रोत:

unit Unit6;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, GdiPlusHelpers, GdiPlus, StdCtrls, ExtCtrls;

type
  TForm6 = class(TForm)
    pb1: TPaintBox;
    procedure pb1Paint(Sender: TObject);
  private
    { Private declarations }
   public
    { Public declarations }
  end;

var
  Form6: TForm6;

implementation

{$R *.dfm}

procedure TForm6.pb1Paint(Sender: TObject);
var
  Graphics : IGPGraphics;
  Brush: IGPSolidBrush;
  FontFamily: IGPFontFamily;
  Font: IGPFont;
  Point: TGPPointF;
  Pen: IGPPen;
begin
  Graphics := Pb1.ToGPGraphics;
  Brush := TGPSolidBrush.Create(TGPColor.Create(255, 0, 0, 0));
  FontFamily := TGPFontFamily.Create('Consolas');
  Font := TGPFont.Create(FontFamily, 12, FontStyleRegular, UnitPoint);
  Point.Initialize(1, 0);
  Graphics.TextRenderingHint := TextRenderingHintAntiAlias;
  Graphics.DrawString('GDI+ Black Text', Font, Point, Brush);
  Pen := TGPPen.Create(TGPColor.Create(255, 0, 0, 0));
  Graphics.DrawLine(Pen, 0, 0, 200, 100);
end;

end.

प्रपत्र:

object Form6: TForm6
  Left = 0
  Top = 0
  Caption = 'Form6'
  ClientHeight = 282
  ClientWidth = 418
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  GlassFrame.Enabled = True
  GlassFrame.Top = 22
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object pb1: TPaintBox
    Left = 0
    Top = 0
    Width = 313
    Height = 105
    OnPaint = pb1Paint
  end
end

संपादित करें उप-विरोधी को पाठ में अपडेट किया गया है, इसलिए यह बेहतर दिखता है।



मैंने डेल्फी के लिए क्रोम टैब्स का बहुत ही पूरा कार्यान्वयन पूरा कर लिया है I

सुविधाओं में शामिल हैं:

  • ढाल, पारदर्शिता और कस्टम टैब आकृतियों सहित पूरी तरह से कॉन्फ़िगर योग्य लग रहा है और महसूस करता है
  • एरो का उपयोग करते समय टैब को शीर्षक बार में चित्रित किया जा सकता है
  • विस्टा ग्लास पर काम करता है
  • टैब आंदोलन एनीमेशन
  • टैब संक्रमणकालीन शैली प्रभाव (रंग और अल्फा स्तरों के बीच फीका)
  • कंटेनर में और कंटेनरों के बीच खींचें और ड्रॉप करें
  • छवि प्रदर्शन टैब खींचें और किसी भी TWINControl
  • स्मार्ट टैब रीसाइज़िंग जब उपयोगकर्ता क्लोज़ बटन को क्लिक करेंगे
  • न्यूनतम और अधिकतम टैब आकारों के साथ द्रव टैब रीसाइजिंग
  • टैब बटन को बाएं, दाएं या फ़्लोटिंग अधिकार पर स्थित किया जा सकता है
  • खींचते हुए ऑटो स्क्रॉल सहित पूर्ण विशेषताओं स्क्रॉलिंग
  • टैब चौड़ाई के आधार पर स्मार्ट टैब सामग्री प्रदर्शन छुपाता / दिखाता है I
  • मालिक किसी भी आइटम को आकर्षित करता है
  • दाएं से बाएं पाठ
  • पिन किए गए टैब
  • टैब स्पिनर्स - दोनों गाया और बिटमैप
  • एनिमेटेड ग्लो के साथ संशोधित टैब
  • टैब छवियों और ओवरले चित्र
  • चमक से ऊपर माउस
  • कई घटनाएं
  • स्ट्रीम / फ़ाइल को लुक और महसूस करें और विकल्प सहेजें
  • देखो उत्पन्न करें और महसूस करें / विकल्प डेल्फी कोड

आप स्रोत और पूर्ण डेमो / संपादक यहां डाउनलोड कर सकते हैं: http://code.google.com/p/delphi-chrome-tabs/





tabbed-interface