| |
|
|
Hubert Binnewies | Hallo Sebastian..
Ich bekomme da einen Darstellungsfehler. mit folgenden Zeilen: KompilierenMarkierenSeparierenlet ts4& = SKCtrl_CreateColorStatic(Picstatic&,"Ausgabetext.",RGB(0,0,0),-1,0,200,450,0025,%hInstance)
hFont4% = @Create("Font","Arial,Helvetica,Geneva,Sans-serif,sans-serif",25,0,5,0,0)
setfont ts4&,hFont4%
SKCtrl_SetAlignment(ts4&, 2)
erzeuge ich eine Zeile mit transparentem Hintergrund auf einem Picstatic. Ich gehe mal davon aus das Du hingegangen bist, bei der Ausgabe erst den Hintergrund aus zu stanzen und ihn als Hintergrund in die Zeile einfügst. Diese Vorgehensweise hat aber einen schweren Nachteil. Sollte der Platz auf dem die Zeile erscheinen soll zum Teil oder ganz von einem anderen Objekt oder Fenster verdeckt sein, so wird von der DLL nicht der entsprechende Teil der Picstatic ausgestanzt sondern von dem verdeckenden Objekt. Das kann in meinem derzeitigem Projekt oft vorkommen und führt zu hässlichen Darstellungsfehlern.
Hubert |
|
|
| WinXP Prof, XProfan 9.1 Newbie
Ein kluger Kopf sagte mal: "Nach dem derzeitigen Stand der Technik ist es unmöglich Programme zu schreiben, die fehlerfrei laufen!" | 01.12.2006 ▲ |
|
|
|
|
| Ich glaub aber das kann Sebastian nicht ändern da Windows selbst von verdeckten Objekten auch nicht weiß wie sie aussehen - er also wenn ein Control verdeckt ist nicht an den tatsächlichen Pixelinhalt herankommt.
Könnte nur helfen auf jede NeuzeichnenMessage zu reagieren und den Hintergrund neu zu grabben - was aber ein kleines Flimmern zur Folge haben wird. |
|
|
| |
|
|
|
Hubert Binnewies | Aber irgendwo wird doch das Picstatic, auf dem die Zeile erzeugt wird, gespeichert. und das neuzeichnen des Picstatic bekommt windows doch auch ohne flimmern hin.... Aber ich guck mal ob ich da was machen kann, mit dem Neuzeichnen.... Kennt Windows denn keine echte, transparente Farbe???
Hubert |
|
|
| WinXP Prof, XProfan 9.1 Newbie
Ein kluger Kopf sagte mal: "Nach dem derzeitigen Stand der Technik ist es unmöglich Programme zu schreiben, die fehlerfrei laufen!" | 01.12.2006 ▲ |
|
|
|
|
Sebastian König | [quote:411cb4fac0]Kennt Windows denn keine echte, transparente Farbe???[/quote:411cb4fac0] Leider nicht - es bleibt soweit ich weiß wirklich nur der Trick mit dem Speichern des Hintergrunds in einer Bitmap. Und dafür darf - wie iF schon zutreffend bemerkt hat - das Static selbst nicht von anderen Objekten verdeckt sein. Auch beim Verschieben eines Statics oder einer Änderung des Hintergrunds ist in der Regel anschließend ein Aufruf von SKCtrl_UpdateBackground() nötig...
MfG
Sebastian |
|
|
| |
|
|
|
Hubert Binnewies | kommt in der klammer zum SKCtrl_UpdateBackground das handle des controls??....dann habe ich doch was ich brauche....danke... |
|
|
| WinXP Prof, XProfan 9.1 Newbie
Ein kluger Kopf sagte mal: "Nach dem derzeitigen Stand der Technik ist es unmöglich Programme zu schreiben, die fehlerfrei laufen!" | 02.12.2006 ▲ |
|
|
|
|
Sebastian König | [quote:f0b16661f4]kommt in der klammer zum SKCtrl_UpdateBackground das handle des controls??....dann habe ich doch was ich brauche....danke...[/quote:f0b16661f4] Ja, genau. Steht auch in der SKControl-Hilfe |
|
|
| |
|
|