| |
|
|
Joerg | allô liebe XProfan Gemeinde,
je viens pas derrière elle, quoi je ici faux fais... cela Modifier le champ de soll sich entsprechend anpassen, si qui Benutzer qui Taille des Fensters ändert. cela klappt aussi pas mal. Pour dem Minimieren isr cela champ allerdings trop hoch. cela gleiche passiert, si on den unteren rebord des Fensters jusqu'à affiche pour dessus zieht. je steh' sur qui Leitung...
merci Euch!! Jörg
(Xprofan X3.1/Win10)
declare prog_ende%, breite%, hoehe%, fensterhoehe%, fensterbreite%, m_edit&
fensterbreite% = 800
fensterhoehe% = 600
Fenêtre Style 527
Fenêtre fensterbreite%, fensterhoehe%
m_edit& = Créer("MultiEdit",%hWnd, », 20, 20, 740, 490)
WhileNot prog_ende%
Waitinput
Si (%clé = 2)
prog_ende% = 1
ElseIf (%clé = 4)
'****************************************************************
breite% = Width(m_edit&,1) - (fensterbreite% - Width(%hWnd,1))
hoehe% = Height(m_edit&,1) - (fensterhoehe% - Height(%hWnd,1))
SetWindowPos m_edit& = 20,20 - breite%,hoehe%
fensterbreite% = Width(%hWnd,1)
fensterhoehe% = Height(%hWnd,1)
'****************************************************************
EndIf
Endwhile
FIN
|
|
|
| |
|
|
|
Georg Teles | Hmm bof si du qui Changements beim agrandir voyons veux, ensuite empfielt sich une Callback-Funktion - habe deinen Code la fois erweitert
$H Windows.ph
$H Messages.ph
Déclarer OldWndProc&
'---------------------------------------------------------------------
declare prog_ende%, breite%, hoehe%, fensterhoehe%, fensterbreite%, m_edit&
fensterbreite% = 800
fensterhoehe% = 600
'-CallBack Routine----------------------------------------------------
Proc ChangeControl
Paramètres hWnd&, Message&, wParam&, lParam&
Déclarer btnHeight&
Si Message& = ~WM_SIZE
breite% = Width(m_edit&,1) - (fensterbreite% - Width(%hWnd,1))
hoehe% = Height(m_edit&,1) - (fensterhoehe% - Height(%hWnd,1))
SetWindowPos m_edit& = 20,20 - breite%,hoehe%
fensterbreite% = Width(%hWnd,1)
fensterhoehe% = Height(%hWnd,1)
EndIf
Retour ~CallWindowProc(OldWndProc&, hWnd&, Message&, wParam&, lParam&)
ENDPROC
'---------------------------------------------------------------------
Set("Fastmode", 1)
'---------------------------------------------------------------------
Fenêtre Style 527
Fenêtre fensterbreite%, fensterhoehe%
m_edit& = Créer("MultiEdit",%hWnd, », 20, 20, 740, 490)
'----------------------------------------------------------------------
OldWndProc& = ~GetWindowLong(%hWnd, ~GWL_WNDPROC)
~SetWindowLong(%hWnd, ~GWL_WNDPROC, @ProcAddr("ChangeControl",4))
'----------------------------------------------------------------------
WhileNot prog_ende%
Waitinput
Si (%clé = 2)
prog_ende% = 1
EndIf
Endwhile
'-Urspruengliche ProgramMainRoutine wieder herstellen------------------
~SetWindowLong(%hWnd, ~GWL_WNDPROC, OldWndProc&)
'----------------------------------------------------------------------
FIN
Grüße |
|
|
| |
|
|
|
Joerg | allô Georg,
merci pour deine Mühe, cela sieht très bien aus. mais cela Problem beim Minimieren usw. (s.o.) ist avec cela malheureusement pas behoben...
Viele Grüße!! Jörg |
|
|
| |
|
|
|
Georg Teles | Achja übersehen, mon faute
Versuch la fois avec festen Größen, sieht um quelques Pixel unschön aus, du musst ici mais de den Fenstergrößen einiges Abziehen, zB. si du Statuszeile la hâte en Hauteur ermitteln, un menu etc en Hauteur ermitteln et alles abziehen de qui Fensterhöhe bspw
Proc ChangeControl
Paramètres hWnd&, Message&, wParam&, lParam&
Déclarer btnHeight&
Si Message& = ~WM_SIZE
breite% = Width(%hWnd,1) - 60'ici -40 pour rebord à gauche & à droite bzw. encore den "Fensterrand" den muss on encore ermitteln
hoehe% = Height(%hWnd,1) - 100'ici -40 rebord à gauche & à droite, eventuell Hauteur qui Statuszeile dazunehmen et menu etc.
SetWindowPos m_edit& = 20,20 - breite%,hoehe%
EndIf
Retour ~CallWindowProc(OldWndProc&, hWnd&, Message&, wParam&, lParam&)
ENDPROC
comme Beispiel habe qui festen Werte -60 et -100 pris
Grüße |
|
|
| |
|
|