| |
|
|
Joerg | ¡Hola liebe XProfan Gemeinde,
No vengo detrás de él, Yo hier falso mache... Das Editar campo se se entsprechend adaptar, si la Benutzer el Größe la ventana ändert. Das klappt auch bastante bien. Nach el Minimieren isr el Feld allerdings a hoch. Das gleiche passiert, si uno el unteren Rand la ventana a Anschlag después de oben zieht. Yo steh' en el Leitung...
Gracias Euch!! Jörg
(Xprofan X3.1/Win10)
declarar prog_ende%, breite%, hoehe%, fensterhoehe%, fensterbreite%, m_edit&
fensterbreite% = 800
fensterhoehe% = 600
Ventana de Estilo 527
Ventana fensterbreite%, fensterhoehe%
m_edit& = Crear("MultiEdit",%hWnd, "", 20, 20, 740, 490)
Sinestar encargado prog_ende%
Waitinput
If (%key = 2)
prog_ende% = 1
ElseIf (%key = 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 naja si du el Los cambios beim Vergrößern sehen willst, entonces empfielt se una Callback-Función - habe deinen Code veces erweitert
$H Windows.ph
$H Messages.ph
Declarar OldWndProc&
'---------------------------------------------------------------------
declarar prog_ende%, breite%, hoehe%, fensterhoehe%, fensterbreite%, m_edit&
fensterbreite% = 800
fensterhoehe% = 600
'-CallBack Rutina----------------------------------------------------
Proc ChangeControl
Parámetros hWnd&, Message&, wParam&, lParam&
Declarar btnHeight&
If 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
Volver ~CallWindowProc(OldWndProc&, hWnd&, Message&, wParam&, lParam&)
ENDPROC
'---------------------------------------------------------------------
Conjunto("FastMode", 1)
'---------------------------------------------------------------------
Ventana de Estilo 527
Ventana fensterbreite%, fensterhoehe%
m_edit& = Crear("MultiEdit",%hWnd, "", 20, 20, 740, 490)
'----------------------------------------------------------------------
OldWndProc& = ~GetWindowLong(%hWnd, ~GWL_WNDPROC)
~SetWindowLong(%hWnd, ~GWL_WNDPROC, @ProcAddr("ChangeControl",4))
'----------------------------------------------------------------------
Sinestar encargado prog_ende%
Waitinput
If (%key = 2)
prog_ende% = 1
EndIf
EndWhile
'-Urspruengliche ProgramMainRoutine otra vez herstellen------------------
~SetWindowLong(%hWnd, ~GWL_WNDPROC, OldWndProc&)
'----------------------------------------------------------------------
FIN
Grüße |
|
|
| |
|
|
|
Joerg | ¡Hola Georg,
danke para deine Mühe, el sieht muy bien de. Aber el problema beim Minimieren usw. (s.o.) es así por desgracia, no Fijo...
Viele Grüße!! Jörg |
|
|
| |
|
|
|
Georg Teles | Achja übersehen, mein Fehler
Intento veces con festen Größen, sieht en algunos Pixel unschön de, du musst hier aber de los Fenstergrößen einiges Abziehen, zB. si du Statuszeile hast deren Höhe ermitteln, una Menü etc deren Höhe ermitteln y alles abziehen de el Fensterhöhe bspw
Proc ChangeControl
Parámetros hWnd&, Message&, wParam&, lParam&
Declarar btnHeight&
If Message& = ~WM_SIZE
breite% = Width(%hWnd,1) - 60'hier -40 para Rand Links & Rechts o. todavía el "Fensterrand" el muss uno todavía ermitteln
hoehe% = Height(%hWnd,1) - 100'hier -40 Rand Links & Rechts, eventuell Höhe el Statuszeile dazunehmen y Menü etc.
SetWindowPos m_edit& = 20,20 - breite%,hoehe%
EndIf
Volver ~CallWindowProc(OldWndProc&, hWnd&, Message&, wParam&, lParam&)
ENDPROC
Als Ejemplo habe el festen Werte -60 y -100 genommen
Grüße |
|
|
| |
|
|