Deutsch
Forum

DrawPic

 
- 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
KompilierenMarkierenSeparieren
Declare 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
 
12.04.2007  
 




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
 
XProfan X3, X4ß, Win 10.1
12.04.2007  
 



@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
 
12.04.2007  
 




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  
 



@Lieber Jörg
Mein Code besteht aus 11 Zeilen und zwei Variablen -

Der Code von Peter beinhaltet 15 Zeilen und 4 Variablen -
Im Grunde auch unwichtig. Was ich mit meiner Erbsenzählerei sagen will, ist folgendes:
Man muss doch nicht immer mit Kanonen auf Spatzen schiessen ! -


Es ist einfach ein ausgesprochen komfortables Profanfeature.


Womit Du ohne Zweifel Recht hast. Aber muss es immer angewandt werden - das ist hier die Frage ?
 
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.
 
12.04.2007  
 



 
- 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.
 
12.04.2007  
 




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
 
XProfan X3, X4ß, Win 10.1
12.04.2007  
 




Dieter
Zornow
Hallo Peter,

Warum benutzt du Loadimage, das kann ja nur Bmp laden mach es doch einfach so
KompilierenMarkierenSeparieren
Declare 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.
 
XProfan X3, X4ß, Win 10.1
12.04.2007  
 




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.
 
13.04.2007  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

3.579 Betrachtungen

Unbenanntvor 0 min.
Normann Strübli08.02.2023
Manfred Barei16.05.2021
Selmo08.03.2019
Peter Max Müller18.11.2017
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie