| |
|
|
| Hallo Community, habe da mal folgende Frage: WINDOW xPos, yPos - xWidth, yWidth funktioniert mit ProSpeed wunderbar, wenn wirklich nur mit einem (weiss ich aber nicht so genau) Fenster gearbeitet wird. Wenn ich jedoch mit @Create(Window... und Handles arbeiten möchten funktioniert es so nicht mehr. Wer kann mir helfen, ProSpeedSprites auch in Fenstern, die mit @Create(Window... oder @Create(Dialog... anglegt wurden, anzuzeigen? Vielen Dank für Eure Antworten. Tschüss Stefan Schnell |
|
|
| |
|
|
|
| Hallo Stefan, nach dem Erstellen des Dialogs musst du dessen Device Context ermitteln...
def GetDC(1) !USER32,GetDC dlg%=create(DIALOG,%hwnd,,80,40,400,300) dlgdc&=GetDC(dlg%)
...und die ganzen %hdcs durch dlgdc&s ersetzen, z.B....
Bild&=LoadExtBmp(addr(Datei$),dlgdc&) Spr&=InitSprite(Bild&,dlgdc&,...)
Alles klar? Sebastian |
|
|
| |
|
|
|
| Hallo,
das ganze geht auch noch einfacher, und ganz in Profan:
handle&=@Create(Window...)
Startpaint handle& Dialoghandle&=%HDC EndPaint
Dialoghandle& hat jetzt den HDC vom betreffenden Dialog gespeichert und kann anstatt %HDC verwendet werden. Aber Sebastians Lösung ist genauso gut!
Gruß, Frank |
|
|
| |
|
|
|
ByteAttack | |
|
| |
|
|
|
Thomas Freier | Ich hatte das mit der TwJpeg.dll seinerzeit gemacht, KompilierenMarkierenSeparieren
If @MenuItem(6) Belegungsplan speichern
~ShowWindow(Test_dlg&,~SW_SHOWMINIMIZED) Listenfenster ausblenden
Sleep 500
Load_ThumbJpg Zw$,1,1,Breite%,0,2,1,5
FilNam$ = Belegungsplan-ist.jpg
clear bereich#
HDC_SaveJPG FilNam$,20,20,974,686,Fenster2&,100,0 Fensterlage und JPG Qualität
~ShowWindow(Test_dlg&, ~SW_SHOWNORMAL) Listenfenster einblenden
Geht sicher auch jetzt mit XProfan 10 ohne TwJpeg.dll |
|
|
| |
|
|
|
Frank Abbing | Marc-Gordon
Du möchtest den Fensterinhalt kopieren? Geht ganz normal mit CopyExtBmp(). Oder meinst du doch was anderes? Und verwechsle nicht einen Dialoghandle mit einem HDC, das kann nicht klappen... |
|
|
| |
|
|
|
ByteAttack | Ich meine es so: Wenn ich in einem Dialogfenster ein Hintergrund habe, und Sprits drüber laufen lasse, benötige ich doch eine Fensterkopie zum Refreschen bzw. damit der Hintergrund nicht gelöscht wird. oder? Im Hauptfenster wäre das einfach hdc2 |
|
|
| |
|
|
|
Frank Abbing | Ach so. Im Dialogfenster musst du nur einen leeren HDC erzeugen und den FensterHDC kopieren. Sind ja nur zwei Zeilen Code, mit Doppelpunkt eine... |
|
|
| |
|
|
|
ByteAttack | Tut mir Leid Frank. Ich blicks einfach nicht! KompilierenMarkierenSeparierenUSERMESSAGES 16
Declare psdll&,temp$,bmp&,exit%,Fenster&,Dialoghandle&,LeerHDC&
Def GetSysColor(1) !USER32,GetSysColor
psdll&=usedll($ProgDir+ProSpeed.dll)
$I Prospeed_Funktionen.inc
Set(TrueColor,1)
WindowStyle 44
WindowTitle %hwnd
Window 0,0-100,100
CLS GetSysColor(15)
Fenster&=Create(Window,%hwnd,Fenster,((%maxX/2)-320),((%maxY/2)-240),640,480)
temp$=$ProgDir+back.bmp Irgendeinbild
bmp&=LoadExtImage(addr(temp$))
StartPaint Fenster&
CLS GetSysColor(15)
Dialoghandle&=%HDC
EndPaint
CopyExtBmp(Dialoghandle&,0,0,%maxX,%maxY,bmp&,0,0,-1)
LeerHDC&=CreateExtBmp(Dialoghandle&,%maxX,%maxY)
CopyExtBmp(LeerHDC&,0,0,%maxX,%maxY,Dialoghandle&,0,0,-1)
WhileNot exit%
WaitInput
Case %Umessage=16:exit%=1
EndWhile
FreeExtBmp(bmp&)
FreeExtBmp(LeerHDC&)
freedll psdll&
Funktioniert auch net. Gib mir doch bitte mal ein kleines Beispiel (Bitte, bitte...) |
|
|
| |
|
|
|
Thomas Freier | Marc, was willst du machen. Hänge mal ein Beispiel (die Arbeit habe ich abgebrochen, da es dann doch nicht gebraucht wurde) an, wo ich *.bmp einsetze. Die Hardcopy ist aus der Anwendung Bootsplatzverwaltung, wo ich auch Namen und Objekte in ein Control setze. |
|
|
| |
|
|
|
ByteAttack | Einfach nur Sprites über ein Dialogfenster laufen lassen, ohne das der Hintergrund bzw. das Hintergrundbild auf dem Dialogfenster gelöscht wird. |
|
|
| |
|
|
|
Frank Abbing | Marc, schau dir einfach mal das Demo FA_SpriteDemo2.prf an. Dort wird es ja gemacht. Eine eventuelle Rekonstruktion des Hintergrundsfensters muss in dem Fall natürlich manuell erfolgen, bei jedem WM_PAINT mußt du die Kopie nach Dialog->%HDC kopieren... wie gehabt. |
|
|
| |
|
|