Italia
Fonte/ Codesnippets

Dialogfenster Neuzeichnen Restaurierende

 

Frank
Abbing
Dafür zu sorgen, dass der Inhalt von Dialogfenstern wieder restauriert wird, ist gar nicht so schwer. Hier eine Möglichkeit mit XPIA. Assemblersubclassing hat dabei den Vorteil, nicht auf den Profan-Fastmode angewiesen zu sein. Die eigentliche Fensterrestaurierung passiert mit reinem Profan!
KompilierenMarkierenSeparieren
 {$iq}
Declare x&, y&, text$, dialog&, xpiadll&, adresse&
xpiadll&=UseDll(xpia$)

If 0

    ASMINCLUDE
    .data
    oldproc   dd  0
    adresse   dd  0
    .code
    ; ________________________________________________________________________________________________________________
    subclass proc hWnd:DWORD, uMsg:DWORD, wParam:DWORD, lParam:DWORD
    invoke CallWindowProc,oldproc,hWnd,uMsg,wParam,lParam

    .if uMsg==WM_PAINT

        Call adresse

    .endif

    ret
    subclass endp
    ; ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

ASMEND

EndIf

Hiermit wird das Dialogfester restauriert.

Proc Paint

StartPaint dialog&
DrawText 10,10,Probetext
DrawIcon Profan, 10, 30
EndPaint

EndProc

WindowTitle Hauptfenster
WindowStyle 31
Window 0,0-100,100
UseFont MS Sans Serif,13,0,0,0,0
SetDialogFont 1
dialog& = Create(WINDOW, %hwnd, Dialogfenster, (%maxx-400), (%maxy-330), 400, 300)
adresse&=ProcAddr(Paint, 0)
Subclassing starten

ASMSTART StartSubclassing(dialog&,adresse&)

m2m adresse,para2
invoke SetWindowLong,para1,GWL_WNDPROC,addr subclass
mov oldproc,eax

ASMEND

Paint

While 1

waitInput
Case %key=2:BREAK

EndWhile

DestroyWindow(%hwnd)
FreeDll xpiadll&
ass=s4 href='./../../function-references/xprofan/end/'>End
 
13.12.2006  
 




Jac
de
Lad
Mit XProfan 11 potrebbe das sogar noch viel einfacher sein.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
27.07.2008  
 




Detlef
Jagolski
Hallo Jac,
war schon mit XProfan 8 kein Problem.

Saluto
Detlef
 
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
27.07.2008  
 




Jac
de
Lad
Ich meinte, dass es jetzt ohne Assembler geht. Wie hättest du das denn gemacht?
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
27.07.2008  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.965 Views

Untitledvor 0 min.
RudiB.28.02.2020
Detlef Jagolski26.04.2014
Peter Gückstock24.02.2013
liveFamilie23.06.2012
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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