Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan > Spezielles

Spezielles Für die Bereiche API, Subclassing, Inline-Assembler, Prozesse, ect.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26915, Antworten: 4218
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3326, Antworten: 122
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 312, Antworten: 19
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7643, Antworten: 185
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 20, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 23, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 58, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 146, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 71, Antworten: 4
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50944, Antworten: 1395
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12.02.2009, 22:06   #1 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard Messages beim Größenändern von Fenstern

Hi Profis.

Weiß jemand welche Messages gesendet werden, wenn ein Fenster maximiert wird bzw. wenn es wieder auf normale Größe gebracht wird?
Hab WM_MAXIMIZE und WM_NORMALIZE gefunden, aber ich finde nicht, welche Konstanten das sind (XPSE kennt die nicht).

Jac
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch
Jac de Lad ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 12.02.2009, 22:17   #2 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

WM_MAXIMIZE = $F030

Die zweite Message kennt nicht mal MSDN.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 12.02.2009, 22:40   #3 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard

Nee, das hilft nicht. Ich habs aber gefunden: WM_Syscommand und dann SC_Maximize. Nur leider klappt die Abfrage der Fenstergröße mittels Width() und Height() nicht mehr.

Jac
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch
Jac de Lad ist offline   Mit Zitat antworten
Alt 12.02.2009, 23:06   #4 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard

Problem gelöst. War wieder mal meine Dummheit.
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch
Jac de Lad ist offline   Mit Zitat antworten
Alt 13.02.2009, 03:13   #5 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.877
Standard

@Jac
Lass uns an der Lösung "Deiner Dummheit" teilhaben !
__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de
horsthorn ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 13.02.2009, 05:39   #6 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard

Jo, gleich heute abend. Muss erstmal arbeiten.
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch
Jac de Lad ist offline   Mit Zitat antworten
Alt 15.02.2009, 16:22   #7 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard

Code:
SubClassProc
If SubClassMessage(%hWnd,wm_sizing)
Resize
Set("WinProc",0)
elseIf SubClassMessage(%hWnd,wm_size)
SetMenuItem 500
Set("WinProc",0)
endif
endproc

proc Resize
SetStyle %hwnd, 1, GetStyle(%hwnd, 1) | $02000000
SetWindowPos st&=0,0-0,0
SetWindowPos tb&=0,0-0,0
'Weitere Controls; Fenstergröße mit Width()/Height() abfragbar; ACHTUNG: Gibt Clientbereich zurück!
SetStyle %hwnd, 1, GetStyle(%hwnd, 1) - $02000000
endproc

cls
declare st&,tb&
st&=Create("Statuswindow",%hWnd,"Text")
tb&=Create("Toolbar",%hWnd,0,12,3,1000,1)
SubClass %hWnd,1
while 1
waitinput
case MenuItem(500):Resize
endwhile
end
Beliebig erweiterbar. An dem Flackern arbeite ich noch.
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch
Jac de Lad ist offline   Mit Zitat antworten
Alt 16.02.2009, 20:26   #8 (Direktlink)
Plüschi
Gast
 
Beiträge: n/a
Ausrufezeichen

Irgentwas klappt da nicht XProfan sagt mit immer das wm_sizing und wm_size keine zahl sind
  Mit Zitat antworten
Alt 16.02.2009, 20:31   #9 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard

Jo, stimmt, ich hab XPSE verwendet. Der folgende Quelltext wurde durch XPSE gejagt und enthält nocht wm_ncpaint und wm_displaychange, was ich für genauso wichtig halte.

Code:
proc __xpse__endofprogram__
PARAMETERS exitcode&
REM {{SOMEEXTRAENDCOMMAND}}
case %pcount=1 : end exitcode&
end
endproc
DECLARE ST&,TB&
subclassproc
IF SUBCLASSMESSAGE(%HWND,126)'WM_DISPLAYCHANGE
RESIZE
SET("WinProc",0)
IF SUBCLASSMESSAGE(%HWND,133)'WM_NCPAINT
RESIZE
SET("WinProc",0)
IF SUBCLASSMESSAGE(%HWND,532)'WM_SIZING
RESIZE
SET("WinProc",0)
ELSEIF SUBCLASSMESSAGE(%HWND,5)'WM_SIZE
SETMENUITEM 500
SET("WinProc",0)
ENDIF
endproc
proc RESIZE
SETSTYLE %HWND, 1, GETSTYLE(%HWND, 1) | $02000000
SETWINDOWPOS ST&=0,0-0,0
SETWINDOWPOS TB&=0,0-0,0
SETSTYLE %HWND, 1, GETSTYLE(%HWND, 1) - $02000000
endproc
CLS
ST&=CREATE("Statuswindow",%HWND,"Text")
TB&=CREATE("Toolbar",%HWND,0,12,3,1000,1)
SUBCLASS %HWND,1
WHILE 1
WAITINPUT
IF MENUITEM(500)
RESIZE
ENDIF
ENDWHILE
END
__xpse__endofprogram__
Jac
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch

Geändert von Jac de Lad (16.02.2009 um 20:34 Uhr)
Jac de Lad ist offline   Mit Zitat antworten
Alt 16.02.2009, 20:32   #10 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard

Zur Erklärung:

wm_displaychange -> Auflösung wurde geändert

wm_ncpaint -> Neuzeichnen wird erwartet (z.B. Sidebar beendet oder gestartet; Taskbargröße geändert -> alles, was den Clientbereich des Fensters betrifft)

wm_sizing -> Fenstergröße wird geändert

wm_size -> Fenstergröße wurde geändert
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch
Jac de Lad ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 16.02.2009, 22:08   #11 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Wenn man den ganzen Messagekram mal halbwegs verstanden hat, ist es gar nicht mehr so schwer.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 16.02.2009, 22:31   #12 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard

Joar, das stimmt. Ich hab ne Weile gebraucht bis ich verstanden habe, dass zum Neuzeichnen nicht immer wm_paint gesendet wird sondern auch manchmal andere. Das hat den Vorteil, dass man auf die Ereignisse unterschiedlich reagieren kann (sie zum Beispiel verhindern indem man sie verwirft), aber im Normalfall muss man da ne Menge durchschleifen.
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch
Jac de Lad ist offline   Mit Zitat antworten
Alt 01.03.2009, 21:19   #13 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard

Code:
DECLARE ST&,TB&

proc RESIZE
SETSTYLE %HWND, 1, GETSTYLE(%HWND, 1) | $02000000
SETWINDOWPOS ST&=0,0-0,0
SETWINDOWPOS TB&=0,0-0,0
SETSTYLE %HWND, 1, GETSTYLE(%HWND, 1) - $02000000
endproc

subclassproc
IF SUBCLASSMESSAGE(%HWND,126)'WM_DISPLAYCHANGE
RESIZE
'SET("WinProc",0)
elseIF SUBCLASSMESSAGE(%HWND,133)'WM_NCPAINT
RESIZE
'SET("WinProc",0)
elseIF SUBCLASSMESSAGE(%HWND,532)'WM_SIZING
RESIZE
'SET("WinProc",0)
ELSEIF SUBCLASSMESSAGE(%HWND,5)'WM_SIZE
SETMENUITEM 500
'SET("WinProc",0)
ENDIF
endproc

CLS
ST&=CREATE("Statuswindow",%HWND,"Text")
TB&=CREATE("Toolbar",%HWND,0,12,3,1000,1)
SUBCLASS %HWND,1
WHILE 1
WAITINPUT
IF MENUITEM(500)
RESIZE
ENDIF
ENDWHILE
Irgendwie war der Code nicht ausführbar. Keine Ahnung was da schief lief.
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch
Jac de Lad ist offline   Mit Zitat antworten
Alt 01.03.2009, 21:56   #14 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Das hier läuft bei mir flackerfrei:

Code:
{$iq}

DECLARE ST&,TB&

SubClassproc
  IF SUBCLASSMESSAGE(%HWND,WM_SIZING) or SUBCLASSMESSAGE(%HWND,WM_SIZE)
    RESIZE
    SET("WinProc",0)
  ENDIF
endproc

proc RESIZE
  SETWINDOWPOS TB&=0,0-0,0
  SETWINDOWPOS ST&=0,0-0,0
  UpdateWindow(tb&)
  UpdateWindow(st&)
endproc

CLS

ST&=CREATE("Statuswindow",%HWND,"Text")
TB&=CREATE("Toolbar",%HWND,0,12,3,1000,1)

SETSTYLE %HWND, 1, GETSTYLE(%HWND, 1) | $02000000

SUBCLASS %HWND,1
WHILE 1
  WAITINPUT
ENDWHILE
END
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > XProfan > Spezielles

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zwischen Fenstern switchen? -Alex- Windows Vista 6 19.04.2008 18:56
Zwischen Fenstern umschalten?? wick1712 Windows Vista 24 19.08.2007 10:40
Web-Seiten in zwei Fenstern Gast-xp Windows XP 3 09.01.2007 11:10
Net Send Messages automatisch schließen? Abby Windows XP 3 14.07.2006 13:44
Mehrfach öffnen von Fenstern Hilfe Windows XP 3 01.09.2005 15:07



Alle Zeitangaben in WEZ +2. Es ist jetzt 05:58 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2