| |
|
|
- Seite 1 - |
|
Georg Hovenbitzer | Hallo zusammen,
wie kann ich ein mit Create(hSizedPic erzeugtes und DrawPic angezeigtes Bild wieder löschen ? Ohne das Programm zu beenden und neu zu starten |
|
|
| Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a) | 11.04.2007 ▲ |
|
|
|
|
| |
|
- Seite 1 - |
|
| @Georg Also bei mir klappt es KompilierenMarkierenSeparierenDeclare bild&,pfad$
pfad$=GETDIR$(@)
bild&=Create(hPic,-1,pfad$+\test.bmp) Dein Bild einsetzen
CLS RGB(255,255,0)
DrawSizedPic bild&, 50,50-150,150;0
WAITINPUT
USEBRUSH 1,RGB(255,255,0)
USEPEN 0,1,RGB(255,255,0)
RECTANGLE 50,50-200,200
WAITINPUT
END
|
|
|
| |
|
|
|
Peter Max Müller | Und hier mit Statik: KompilierenMarkierenSeparieren $H WINDOWS.PH
DEF LoadImage(6) ! USER32,LoadImageA
Declare bild&,pfad$,image$,bmpstat&
Pfad$=GETDIR$(@)
Image$=Create(hPic,-1,pfad$+\test.bmp)Dein Bild einsetzen
CLS RGB(255,255,0)
BmpStat& = Control(STATIC,,$5400130E,50,50,150,150,%hwnd,0,%hinstance,$0)
Bild& = ~LoadImage(0,Addr(Image$),~IMAGE_BITMAP,150,150,~LR_LOADFROMFILE)
SendMessage(BmpStat&,~STM_SETIMAGE,~IMAGE_BITMAP,BILD&)
WAITINPUT
ShowWindow(BmpStat&,0)
WAITINPUT
ShowWindow(BmpStat&,1)
WAITINPUT
END
Ciao |
|
|
| |
|
|
|
| @Peter Da ich PROFAN-Purist bin, sind bei mir natürlich die Möglichkeiten von XProfan vorrangig. Daher stellt sich mir die Frage, warum für die Aufgabe, ein Bildchen zu löschen, gleich die Windows.ph zu bemühen. Schon die Zeilenzahl ist bei meinem Code kleiner und wahrscheinlich dadurch auch resourcenschonender oder |
|
|
| |
|
|
|
Jörg Sellmeyer | Horst Horn
@Peter Da ich PROFAN-Purist bin, sind bei mir natürlich die Möglichkeiten von XProfan vorrangig. Daher stellt sich mir die Frage, warum für die Aufgabe, ein Bildchen zu löschen, gleich die Windows.ph zu bemühen. Schon die Zeilenzahl ist bei meinem Code kleiner und wahrscheinlich dadurch auch resourcenschonender oder
Hallo Horst, Durch die Windows.ph erhöht sich nicht die Zeilenzahl Deines Programmes! Der Compiler sieht in der *.ph-Datei nach Begriffen, die im Quellcode mit einer Tilde (~) eingeleitet werden und ersetzt diese durch den entsprechenden Wert aus der *.ph-Datei. Es ist einfach ein ausgesprochen komfortables Profanfeature. Gruß Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 12.04.2007 ▲ |
|
|
|
|
| |
|
| |
|
|
|
| Ne XProfan.PH erhöht IMHO die Zeilenanzahl nicht - macht aber das Kompilieren lahm - das Einlesen dauert ewig... drum XPSE - keine PHs - blitzschnelle Umsetzung der Apis. |
|
|
| |
|
|
| |
|
- Seite 2 - |
|
|
| Hab ich das Thema verfehlt?!
Wenn sich das Bild patu nicht vom Fenster entfernen lässt (hwnd?) kannst Du auch mal probieren direkt auf dem hdc2 zu malen. XProfan nutzt den wohl beim hwnd fürs Wiederherstellen. |
|
|
| |
|
|
|
Peter Max Müller |
Muss mal probieren es auf ein Static zu legen und dieses zu zerstören.
Deshalb der von mir gepostete Code. Das viele Wege nach Rom führen (und viele Lösungsansätze zur Problemlösung) dürfte allgemein bekannt sein.
Tschüssikovski |
|
|
| |
|
|
|
Dieter Zornow | Hallo Peter,
Warum benutzt du Loadimage, das kann ja nur Bmp laden mach es doch einfach so KompilierenMarkierenSeparierenDeclare bild&,bmpstat&
$H Windows.ph
CLS RGB(255,255,0)
bild&=Create(hPic,-1,dein bild)Dein Bild einsetzen
BmpStat& = Control(STATIC,,$5400130E,50,50,150,150,%hwnd,0,%hinstance,$0)
SendMessage(BmpStat&,~STM_SETIMAGE,~IMAGE_BITMAP,BILD&)
WAITINPUT
ShowWindow(BmpStat&,0)
WAITINPUT
ShowWindow(BmpStat&,1)
WAITINPUT
END
Mit getdir einen Pfad zu einem Bild ermitteln halte ich für kritisch und dem Zufall überlassend, wer sagt dir dass das Verzeichnis mit dem Bild gerade aktuell ist
Gruß
Dieter |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 12.04.2007 ▲ |
|
|
|
|
Peter Max Müller | Nabend, Das GetDir Gedöns habe ich aus dem Vorposting einfach übernommen. Benutze ich eigentlich auch nie.Aber was solls.Sind halt nur Beispiele.
Und LoadImage habe ich nur genommen weil der Codeschnipsel so in meiner PRF-Sammelkiste war. Ohne das jetzt weiter ausgetestet zu haben sehe ich aber das bei der LoadImage Lösung die Bildgröße mit angegeben werden kann.
Machts gut. |
|
|
| |
|
|
|
Georg Hovenbitzer | Hallo zusammen,
vielen Dank für die vielen Tips Drei Lösungen klappen: - ein CLS (bei mir zwar nicht, da ich schon etwas gezeichnet habe und dies dann weg ist) - mit RECTANGLE - und mit dem Static
Mal sehen was ich nehmen werde. |
|
|
| Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a) | 12.04.2007 ▲ |
|
|
|
|
Frank Abbing | Du kannst den HDC und damit auch die Bitmap lösen mit der API SelectObject. Übergib einfach eine Null, und den Rückgabewert zerstörst du mit DeleteObject. Das ist der regulär vorgesehene Weg. |
|
|
| |
|
|