c++builder - TBrush bitmap alignment -


मेरे पास एक TPaintBox नियंत्रण है और TPaintBox-> कैनवास-> gt; ; ब्रश- & gt; बिटमैप एक तैयार TBitmap से ग्रिड पैटर्न के साथ। TPaintBox ग्राहक के माता-पिता ( फ़ॉर्म ) के अंदर गठबंधन होता है।

जब मैं मैन्युअल रूप से TPaintBox->; () कॉल करता हूं > नियंत्रण को दोबारा करने के लिए ब्रश पूरी तरह से शीर्ष पर स्थित है, बाएं (0,0 - बाएं चित्र), लेकिन जैसे ही मैं खिड़की का आकार बदलता हूं, ब्रश ऑफसेट परिवर्तन (20,7 - सही चित्र) जब तक कि मैं मैन्युअल रूप से TPaintBox- & gt; अमान्य () दोबारा।

यहां छवि विवरण दर्ज करें

मैंने एक मानक ब्रश पैटर्न जैसे कि bsBDiagonal और bsCross का उपयोग करने की कोशिश की है, लेकिन ये सभी एक ही है (एक के बीच अलग संरेखण अमान्य () कॉल और form resize)।

मैंने मैन्युअल रूप से सेट करने के लिए Win32 API SetBrushOrgEx () का उपयोग करने की कोशिश की ब्रश संरेखण, लेकिन इसका विंडो रीसाइज अपडेट पर कोई प्रभाव नहीं पड़ता है। अगर मैं मैन्युअल रूप से Invalid () कॉल करता हूं, तो यह बिल्कुल अच्छी तरह से काम करता है।

अगर मैं अपने onPaint हैंडलर में एक ब्रेकपॉइंट सेट करता हूं और ब्रश उत्पत्ति क्या है

मैं पृष्ठभूमि को भरने के लिए Canvas-> RectFill () का उपयोग करता हूं।

  कैनवास- & gt; ब्रश- & gt; शैली = बीएसबीडीओगोनाल; Canvas- & gt; FillRect (क्लाइंट);  

कोई भी विचार?


Comments

Popular posts from this blog

scala - Play Framework - how to bind form to a session field -

c++ - Why does Visual Studio Release build break on non-executing code line -

javascript - parsing json not working -