2012-12-08 20 views
9

क्या कोई जानता है कि टाइटल बार के बिना डेल्फी फॉर्म कैसे बनाया जाए? मैंने कुछ लिंक/टिप्स देखे हैं, लेकिन यह वही नहीं है जो मैं चाहता हूं और मैं इसे स्वयं नहीं कर सका।किसी फॉर्म से शीर्षक पट्टी को कैसे हटाएं

यह मैं क्या हासिल करने की कोशिश कर रहा हूँ:

enter image description here

उत्तर

15

प्रथम में bsNone करने के लिए सेट BorderStyle, डिजाइन-समय bsNone को BorderStyle निर्धारित किया है। फिर तो जैसे प्रक्रिया CreateParams घोषित:

type 
    TForm1 = class(TForm) 
    private 
    protected 
    procedure CreateParams(var Params: TCreateParams); override; // ADD THIS LINE! 
    { Private declarations } 
    public 
    { Public declarations } 
    end; 

और तरह

procedure TForm1.CreateParams(var Params: TCreateParams); 
begin 
    inherited; 
    Params.Style := Params.Style or WS_THICKFRAME; 
end; 
+0

क्या यह विंडोज एक्सपी पर भी ठीक दिखता है और व्यवहार करता है? [+1] – TLama

+0

@TLama: याद रखें और परीक्षण करने के लिए कोई XP नहीं है, लेकिन मुझे लगता है कि कोई समस्या नहीं होनी चाहिए। (क्या यह गिलास की बजाय नीली मोटी सीमा नहीं लेता है?) –

+0

धन्यवाद एंड्रियास, सीमा के आकार को संशोधित करने का कोई तरीका है? –

2

वस्तु इंस्पेक्टर

+5

वह अकेला नहीं है। –

+0

@AndreasRejbrand क्यों नहीं? –

+0

ओपी द्वारा प्रदान की गई छवि के साथ परिणाम की तुलना करें। पूरी ग्लास सीमा (और छाया) चली गई है। –

1

बेहतर बॉर्डर शैली के लिए इसे लागू, आप WS_BORDER झंडा जोड़ सकते हैं।

इस तरह: एक नरम लाइन से

procedure TForm1.CreateParams(var Params: TCreateParams); 
 
begin 
 
    inherited; 
 
    Params.Style := Params.Style or WS_BORDER or WS_THICKFRAME; 
 
end;

नोट सीमा फ्रेम के अंदर ली गई है।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^