Español
Foro

LoadExtMemory y Static Feld

 
¡Hola Personas,

viel Todavía no con Prospeed gemacht y por lo tanto kann lo ser el mi Cuestión gelächter auslöst.
Se puede una Static Feld una BMP zuweisen, qué vorher con LoadImageA eingelesen ha. Der Hintergrund es, dass una continuación schön Scrollen kann sin son el Neuaufbau la ventana a kümmern.
Nun versuche Yo una Bild Yo vorher con LoadExtMemory erstellt habe por SendMessage a el Static Feld a transferencia, qué natürlich no va.
Gibt lo una Möglichkeit, dass el Static Feld el Bild a nimmt?
Oder una Yo una Bild en un con CreateWindow erstelltem Ventana, qué kleiner como el Bild es, Mostrar kann y luego con Scrollbars lo mover kann?

Viele Grüße
Georg
 
24.04.2004  
 



¡Hola Georg.

¿Por qué Gelächter ?
Usted übergibst el Static, soviel Yo weiß, una Handle en una Mapa de bits. ProSpeeds LoadExt...() son dir aber el Handle des HDCs zurück, a el el Mapa de bits gekoppelt es. Damit funktioniert SendMessage natürlich no.
Usted müßtest el Handle el Mapa de bits de el HDC erfragen, el va mittels el API GetCurrentObject():

bitmaphandle&=GetCurrentObject(prospeedhdc&,7) 7 = OBJ_BITMAP

Mit diesem Handle müßte lo problemlos trabajo...

Saludo, Franco
 
24.04.2004  
 



¡Hola Franco,

vielen Dank para el Antwort.
Leider klapt lo todavía no bastante, uno sieht zwar el algo passiert aber el Bild no es angezeit, siehe Code.

Direkt ni otro Cuestión, si la Desktopauflösung de 16Bit es y uno una 24Bit Bild anzeigt entstehen natürlich Schlieren. Kann uno dies irgendwie umgehen, porque si yo lo me en un Grafikprogramm ansehe se lo correcto adecuado.

Viele Grüße
Georg
KompilierenMarcaSeparación
 $I ProSpeed_UseDll.inc
 $I Prospeed_Funktionen.inc
DEF GetCurrentObject(2) ! "GDI32","GetCurrentObject"
Declare Bild$,Lenght&,Memory#,BildHDC&,BildHandle&,ExFenster&,BildFenster&
WindowStyle $200 + $8
WINDOW 150,100-800,600
WINDOWTITLE "HauptFenster"
SETTRUECOLOR 1
CLS RGB(212,208,200)
Bild$ = "bild.bmp"
Lenght& = FileSize(Bild$)
Dim Memory#,Lenght&
ReadFileFast(Addr(Bild$),Memory#,0,Lenght&)
BildHDC& = LoadExtMemory(Memory#,Lenght&)
BildHandle& = GetCurrentObject(BildHDC&,$7)
ExFenster& = CreateWindow(%HWND,"Test",50,50,700,500)
BildFenster& = Control("STATIC","",$5000110E,10,10,650,400,ExFenster&,2001,%hinstance)
SendMessage(BildFenster&,$172,0,BildHandle&)
WaitInput
DestroyWindow(ExFenster&)
Dispose Memory#
FreeAllExtBmps()
 $I ProSpeed_FreeDll.inc
End
 
24.04.2004  
 



¡Hola,

kannst du me el Source plus benötigter Archivos zusenden?
Dann kann ego mejor testen...

Saludo, Franco
 
24.04.2004  
 



¡Hola,

ok, tener el Source modifiziert, sodas él ahora funktioniert.
Für todos otro Mitleser: Das tener Yo Georg geschrieben:

So, tener deinen Code modifiziert.
El Static-Message STM_SETIMAGE funktioniert sólo Bitmaps, el no a una HDC gekoppelt son.
Es manchmal así, y sólo M$ weiß por qué... Sombrero mich También se ya algunos Haare gekostet

Na sí, Yo erstelle ahora una Pseudobitmap y koppelte ellos a el HDC. Freundlicherweise se unsere Mapa de bits dadurch
ausgekoppelt y el Handle se zurückgegeben. Wir sparen uns dadurch GetCurrentObject.
Am Ende (solange el Static existiert!) se otra vez zurückgekoppelt y el Pseudobitmap gelöscht.
So simplemente es el )
KompilierenMarcaSeparación
 $I ProSpeed_UseDll.inc
 $I Prospeed_Funktionen.inc
DEF CreateCompatibleBitmap(3) ! "GDI32","CreateCompatibleBitmap"
DEF SelectObject(2) ! "GDI32","SelectObject"
Declare Bild$,Lenght&,Memory#,BildHDC&,ExFenster&,BildFenster&,XBig&,YBig&,x&,y&
WindowStyle $200 + $8
WINDOW 150,100-800,600
WINDOWTITLE "HauptFenster"
SETTRUECOLOR 1
CLS RGB(212,208,200)
Bild$ = "test.jpg"
Lenght& = FileSize(Bild$)
Dim Memory#,Lenght&
ReadFileFast(Addr(Bild$),Memory#,0,Lenght&)
BildHDC& = LoadExtMemory(Memory#,Lenght&)
XBig& = GetBmpWidth(BildHDC&)
YBig& = GetBmpHeight(BildHDC&)
x&=CreateCompatibleBitmap(BildHDC&,100,100) Irgendeine Bitmap erstellen
y&=SelectObject(BildHDC&,x&) und an den HDC koppeln. y&=Vorheriger Bitmaphandle (also unser)
ExFenster& = CreateWindow(%HWND,"Test",50,50,650,650)
BildFenster& = Control("STATIC","",$5000110E,10,10,XBig&,YBig&,ExFenster&,2001,%hinstance)
SendMessage(BildFenster&,$172,0,y&) STM_SETIMAGE
WaitInput
DestroyWindow(ExFenster&)
Dispose Memory#
SelectObject(BildHDC&,y&) Ursprüngliche Bitmap (unsere) wieder einsetzen
DeleteObject x& und die "irgendeine" ordnungsgemäß löschen
FreeAllExtBmps()
 $I ProSpeed_FreeDll.inc
End

Saludo, Franco
 
24.04.2004  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

2.790 Views

Untitledvor 0 min.
funkheld15.01.2022
Uwe Lang07.02.2019
Andreas Koch19.12.2011

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (5x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie