| |
|
|
| Hallo Profaner...
Ich lade mittels Loadimage eine Bitmap und platziere die Bitmap mittels Sendmessage auf ein Static. Nun möchte ich die Bitmap aber gerne transparent laden. Da ich in dem Programm keine Profan-Speicherbitmaps verwenden kann, kann ich es über meine übliche Trickserei nicht regeln. Hat jmand eine Idee über API? |
|
|
| |
|
|
|
Jörg Sellmeyer | |
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 11.08.2005 ▲ |
|
|
|
|
| Hallo Jörg...
So löse ich das bislang. Da ich das Programm mit Profan2Cpp compilieren will, geht das leider nicht... |
|
|
| |
|
|
|
Jörg Sellmeyer | Ah... mal wieder nicht richtig gelesen (keine Profan-Speicherbitmap)
Vielleicht hilft Dir das: KompilierenMarkierenSeparierenDEF CreateCompatibleDC(1) !"GDI32","CreateCompatibleDC"
DEF TextOut(5) !"GDI32","TextOutA"
DEF SelectObject(2) !"GDI32","SelectObject"
DEF DeleteDC(1) !"GDI32","DeleteDC"
DEF SetTextColor(2) !"GDI32","SetTextColor"
DEF SetBkColor(2) !"GDI32","SetBkColor"
DEF SetBkMode(2) !"GDI32","SetBkMode"
declare text#
proc TextOutToBitmap
parameters hBitmap&,text$,x&,y&,clrBk&,clrText&
dim text#,@len(text$)
string text#,0 = text$
declare hMemDC&,hBitmapOld&
let hMemDC& = CreateCompatibleDC(0)
let hBitmapOld& = SelectObject(hMemDC&,hBitmap&)
if @equ(clrBk&,-1)
SetBkMode(hMemDC&,1)
else
SetBkMode(hMemDC&,2)
SetBkColor(hMemDC&,clrBk&)
endif
SetTextColor(hMemDC&,clrText&)
TextOut(hMemDC&,x&,y&,text#,@len(text$))
SelectObject(hMemDC&,hBitmapOld&)
DeleteDC(hMemDC&)
dispose text#
endproc
Beschreibung der Parameter:
hBitmap& - Das Handle der Bitmap für die Textausgabe
text$ - Der Text
x& - Die Koordinaten...
y&
clrBk& - Die Hintergrundfarbe (-1 für Transparenz)
clrText& - Die Textfarbe
Ist glaube ich von Andreas Miethe. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 12.08.2005 ▲ |
|
|
|
|
Sebastian König | Hallo Andreas,
[quote:b1366991c7]So löse ich das bislang. Da ich das Programm mit Profan2Cpp compilieren will, geht das leider nicht...[/quote:b1366991c7] sorry, vielleicht stehe ich gerade etwas auf dem Schlauch, aber wieso kannst Du die Lösung wegen Profan2Cpp nicht verwenden?
MfG
Sebastian |
|
|
| |
|
|
|
| Hallo Sebastian...
Ich schaus mir noch einmal an, bislang klappte aber alles, das mit Speicherbitmaps zu tun hatte, bei mir nicht - vielleicht mein Fehler?
@Jörg: Mal schaun, besten Dank! |
|
|
| |
|
|
|
Jörg Sellmeyer | Ich benutze übrigens das für transparente Resourcen - klappt mit P2CCP. Allerdings werden die Toolbar und Buttons nicht korrekt dargestellt. DieTransparenzklappt aber: KompilierenMarkierenSeparieren |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 13.08.2005 ▲ |
|
|
|
|
| Hallo Jörg, ich sehe irgendwie den Unterschied in den beiden Postings nicht, könntest Du das nochmal erläutern |
|
|
| |
|
|
|
Jörg Sellmeyer | oh, versehentlich doppelt...
iihiiF!! Kannst Du mal bitte aufräumen? |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 13.08.2005 ▲ |
|
|
|
|
Sebastian König | @Andreas: Danke - vielleicht hat sich da tatsächlich noch ein Fehler versteckt...
@iF: Ich wollte Dir zuvorkommen und den versehentlich doppelt geposteten Eintrag von Jörg entfernen, aber wenn ich auf Löschen klicke, komme ich nur auf die Beitrag splitten-Seite... ist das so gewollt? |
|
|
| |
|
|
|
Frank Abbing | @Sebastian: iF mags nicht mehr, das irgendwelche Postings gelöscht werden. Stattdessen soll das Posting abgesplittet und in den Mülleimer verschoben werden. Mir selber ist das zu kriminell - hab immer Angst den ganzen Thread dadurch zu zerstören. Dann muss iF mal selber ran oder besser noch den alten Zustand wieder herstellen. Aber das muss hier ja nicht diskutiert werden. Noch was: Leider hab ich momentan zu viel um die Ohren, um Profan2Cpp ausgiebig testen zu können. Also nicht sauer sein... |
|
|
| |
|
|
|
| Hallo Sebastian...
In der neuen Beta klappt es, in meiner Vollversion kommt ein Hinweis auf ein fehlendes Fenster. Kannst du daran was drehen? KompilierenMarkierenSeparierenDEF @GetSysColor(1) !"USER32","GetSysColor"
Window 0,0-640,440
Settruecolor 1
MCLS 800,600
Startpaint -1
cls @GetSysColor(15)
LoadBmp "F:RTSDFXC.BMP", 0,0;-1
SaveBmp "F:RTSDFXC.men",0,0-%BmpX,%BmpY
endpaint
LoadBmp "F:RTSDFXC.men", 0,0;0
waitinput
|
|
|
| |
|
|