Hola a todos.
En FW con oDlg:Update() se actualizaban todos los controles de un dialogo.
En FWPPC parece no existir esa función en la clase. Hay alguna alternativa que no sea recorrer con un bucle, oDlg:Acontrols[x]:Refresh(), ya que esta es lenta y muestra un feo efecto en pantalla.
Gracias.
Como actualizar los controles de un dialogo.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Seguramente hay algo que no acabo de entender por mi inexperiencia con FWPPC.
Pero el siguiente codigo, no refresca los controles si no cogen el foco, el get numérico aparece centrado, y el spinner no se ven los botones.
Que hago mal ?.
Gracias.
Pero el siguiente codigo, no refresca los controles si no cogen el foco, el get numérico aparece centrado, y el spinner no se ven los botones.
Que hago mal ?.
Gracias.
Code: Select all
#include "FWCE.ch"
STATIC oWnd, oDlg ,cTexto, nNumero, nNumero2
Function Main()
DEFINE WINDOW oWnd ;
DEFINE DIALOG oDlg RESOURCE "DlgTest";
STYLE WS_CHILD OF oWnd
REDEFINE GET oGet VAR cTexto ID 200 OF oDlg UPDATE;
PICTURE "@x"
REDEFINE GET oGet VAR nNumero ID 201 OF oDlg UPDATE;
PICTURE "9999999";
REDEFINE GET oGet VAR nNumero2 ID 202 OF Odlg UPDATE;
PICTURE "999";
SPINNER MIN 0 MAX 255;
ACTIVATE DIALOG oDlg NOWAIT;
ON INIT (MoveWindow( oDlg:hWnd, 0, 0), UpdateVars(), oDlg:Refresh());
VALID .f.
ACTIVATE WINDOW oWnd ;
ON INIT oDlg:SetFocus();
VALID (oDlg:End(), .t. )
return nil
Function UpdateVars()
cTexto := "Mi texto"
nNumero := 9
nNumero2 := 10
oDlg:Refresh()
return .t.
// el RC
#ifdef _CE
#include "c:\vce\include\arm\windows.h"
#include "c:\vce\include\arm\commctrl.h"
#define I_IMAGENONE (-2)
#define IDS_HELP 104
102 RCDATA
BEGIN
102, 2,
I_IMAGENONE, 202, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, 202, 0, 0,
I_IMAGENONE, 203, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, 203, 0, 1,
END
#endif
DLGTEST DIALOG 48, 28, 166, 180
STYLE 0x4L | WS_CHILD
FONT 8, "system"
{
EDITTEXT 200, 34, 8, 42, 11, ES_RIGHT | WS_BORDER | WS_TABSTOP
EDITTEXT 201, 35, 26, 42, 11, ES_RIGHT | WS_BORDER | WS_TABSTOP
EDITTEXT 202, 36, 45, 34, 11, ES_RIGHT | WS_BORDER | WS_VSCROLL | WS_TABSTOP
RTEXT "Texto", -1, 2, 10, 28, 10
RTEXT "Número", -1, 6, 28, 28, 10
RTEXT "Spinner", -1, 4, 45, 28, 10
}
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact: