एक पालतू परियोजना के रूप में, मैं अपने एसडब्ल्यूटी अनुप्रयोग में एयरो ग्लास प्रभाव को एकीकृत करने की अवधारणा के साथ खेल रहा हूं। ,एयरो ग्लास प्रभाव और एसडब्ल्यूटी
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setLayout(new FormLayout());
final MARGINS margins = new MARGINS();
margins.cyTopHeight = -1;
final Composite c = new Composite(shell, SWT.NORMAL);
c.setBackground(new Color(shell.getDisplay(), new RGB(0, 0, 0)));
final FormData fd = new FormData();
fd.top = new FormAttachment(0, 0);
fd.left = new FormAttachment(0, 0);
fd.right = new FormAttachment(100, 0);
fd.bottom = new FormAttachment(100, 0);
c.setLayoutData(fd);
OS.DwmExtendFrameIntoClientArea(shell.handle, margins);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
इस खूबसूरती से काम करता है जब तक आप एक नियंत्रण जोड़ना चाहते हैं: Łukasz Milewski has an excellent blog post समझा कि यह कैसे पूरा किया जा सकता है, जो काफी यह करने के लिए निर्भर करता है। इस काले पारदर्शी शेष में परिणाम:
A follow-up post दर्शाता है कि कैसे भी ऐसा करने के लिए, है, लेकिन SWT पुस्तकालय को संशोधित करने की आवश्यकता है। (कम से कम, मुझे विश्वास है, क्योंकि निजी एसडब्ल्यूटी फ़ंक्शन @Override
के साथ ओवरराइड किए गए हैं।)
मैं नियंत्रण पारदर्शी होने से कैसे बच सकता हूं? इससे भी बेहतर: मैं पारदर्शिता से कैसे लाभ उठा सकता हूं (उदा। like so पर छवियां रखकर), लेकिन इसे समझदार तरीके से उपयोग करें?
क्या आप जीवित लिंक जोड़ सकते हैं? – Supuhstar