Teile von *.Bmp paint

  • Themenstarter Themenstarter Neu1234567890
  • Beginndatum Beginndatum
N

Neu1234567890

Hi,
ich mache mich gerade mit GUI+GDI vertraut unter winapi (benutze Visual Studio 2010).

Jetzt möchte ich nicht für jeden Button 3 oder 4 *.bmp´s erstellen, sondern für alle Button 4 stück.
Ich habe im Moment 4 bmp´s: up, down, over, diseble worauf mein Bild ist mit den einzelen Button´s in den
verschiedenen Zuständen (für jeden ein Bild)

Da ich aber nicht alle Button´s auf ein mal focusieren usw. kann möchte ich immer nur einzelne teile der betrffenden Bitmap painten bzw. laden.

Weis jemand wie das gehen könnte ?

Danke schon mal allen die sich, die Mühe machen meinen Beitrag (hoffe man kann verstehen, wenn nicht bitte schreiben) zu lesen.

PS: ich möchte keine eleganten 100 zeiligen lösungen, ich möchte, wenn irgendmöglich, ein paar Codeschnipsel zulernen haben oder eine idee wie man, das umsetzen kann.

DANKE ;)
 
Also habe ich dich richtig verstanden:
Du möchtest eine Bitmap in 4 Teile (Bilder) zerlegen?

MFG (... nicht das ich mir unnötig mühe mache :D erst einmall die nachfragen^^ ... bin halt faul)
Ach und 100 Zeilen sind doch nicht viel ... wo lebst du? ... :D
 
fast:
ich habe ein Fenster worauf ich eine Bitmap lade dort sind alle button unselktiert.
jetzt habe ich einige weitere Bitmaps jeweils das gesamte fenster und ein Button-Zustand
aber ich möchte nicht wenn ein Button selktiert ist die GESAMTE Bitmap painten sondern nur den Button der selktiert ist, sonst wären ja alle Button selktiert .

das mit der 100 zeiligen lösung habe ich nicht so wörtlich gemeint, sondern das mir iregendjemand nicht lösungen gibt, die so komplex ist das ich sie ohnehin nicht verstehe ;)

Hoffe ich konnte mein Anliegen nun deutlich machen :D
 
Also du hast ein Bitmap als Hintergrund des Fensters und du willst nur den Button-Bereich austauschen?
Dann musst du eben einzelne kleine Bitmaps für die Buttons machen und diese laden.
 
genau das habe ich auch zuerst getan aber ich brauch dadurch mehr handle auf die bitamps und für jeden button
3-4 Bitmaps...

deshalb wollte ich einfach 3-4 "große" Bitmaps wo ich mir dann die passenden teile "raus schneide".

geht das irgendwie ****(ohne iregendwelche Lösungen die größe sind als die gesparrten Bitamps ?;))
 
Also gehe ich davon aus, dass du Speicherplatz sparen willst? Denn falls nicht hättest du die andere Lösung schon längst programmiert, in der Zeit die du in diesem Thread schreibst und liest.

Seien wir doch mal gangz ehrlich:
Die Frage nach so einer Lösung stellt sich doch nicht, wenn man mit Bitmaps arbeitet?!
 
... hat gesagt.:
deshalb wollte ich einfach 3-4 "große" Bitmaps wo ich mir dann die passenden teile "raus schneide".
Da stimme ich 3Cyb3r zu. Heut zu Tage hat man schon 1,5 Terabyte-Festplatten zu Hause. Da brauchst du dir keine Sorge um ein paar Bitmaps zu machen :D ;)

Ich weiß nicht, ob es eine Funktion in der WinAPI gibt, eventuell müsstest du sie selbst bauen. Dann könnten es schon min. 100 Zeilen werden ;)
 
Bei machen die paar mb´s schon was aus, ich ahbe so viele das meine 500Gb platte beinahe voll ist :D ;)
(nur Scherz)

@3Cyb3r & ComFreek

ich habe mir mal andere Programme & Spiele die in ihren menu´s bmp & jpg usw. verwenden angekuckt
zb. mit Spy++ aber auch die einzelnen datein und da ist mir aufgefallen, dass manche Programme
(zb. Star Wars Battle Front II) 3-4 große Bitmaps haben mit den Button in den verschiedenen zuständen...

Ich habe mich gefragt wie sie, das im menu richtig darstellen können und ich kam nur auf die Idee, dass sie die einzelnen Flächen "rausgeschnitten" haben und sie dann entsprächend gepaintet haben...

Ich habe gegoogelt aber nichts gefunden ... es ging nicht um die paar Mb sondern um die Technik dahinter,
die ich nicht verstand .

@Matthias Reitinger

BitBlt nutze ich immer um die bitmaps zupainten, habe mir die msdn durch gelesen, aber ncihts gefunden
was mir helfen könnte ?! vlt. liegt es an meinen Englischkenntinissen oder an google ?!

Aber schon mal Danke :D für eure Hilfe
 
@Matthias Reitinger

BitBlt nutze ich immer um die bitmaps zupainten, habe mir die msdn durch gelesen, aber ncihts gefunden
was mir helfen könnte ?! vlt. liegt es an meinen Englischkenntinissen oder an google ?!
Mit der Funktion kann man einen Bereich (linke obere Ecke nXSrc, nYSrc) bestimmter Größe (Breite nWidth, Höhe nHeight) aus dem Quellkontext an eine bestimmte Stelle im Zielkontext (linke obere Ecke nXDest, nYDest) kopieren. Ist das nicht genau das, was du erreichen willst?

Grüße,
Matthias
 
Zurück