FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Como ajustar dialogs a la resoluci贸n del monitor ?
Posts: 3382
Joined: Fri Oct 07, 2005 08:20 PM

Como ajustar dialogs a la resoluci贸n del monitor ?

Posted: Sun Jun 21, 2026 05:02 PM

Saludos al foro:

Pues eso, c贸mo poder auto ajustar los di谩logos y ventanas a la resoluci贸n del monitor, por ejemplo hago el dise帽o del dialogo o ventana para un monitor de una PC de escritorio pero, si la aplicaci贸n se abre desde una lap top los di谩logos y ventanas quedan muy grandes

Como hacer que mis di谩logos y ventanas se auto ajusten?, es posible?

Un abrazo

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: Como ajustar dialogs a la resoluci贸n del monitor ?

Posted: Sun Jun 21, 2026 05:24 PM

Que usas, c贸digo 贸 RECURSOS?

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 3382
Joined: Fri Oct 07, 2005 08:20 PM

Re: Como ajustar dialogs a la resoluci贸n del monitor ?

Posted: Mon Jun 22, 2026 02:50 AM

Hola Karinha:

Uso recursos

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 44508
Joined: Thu Oct 06, 2005 05:47 PM

Re: Como ajustar dialogs a la resoluci贸n del monitor ?

Posted: Mon Jun 22, 2026 03:55 AM

Estimado Armando,

#include "FiveWin.ch"  
  

#define ID_SAY_NAME   101  

#define ID_GET_NAME   102  

#define ID_SAY_CITY   103  

#define ID_GET_CITY   104  

#define ID_BTN_OK     105  

#define ID_BTN_EXIT   106  
  

FUNCTION Main()  
  

   LOCAL oDlg, oFont  

   LOCAL oSayName, oSayCity, oGetName, oGetCity, oBtnOk, oBtnExit  

   LOCAL nDpi := GetCurrentDpi()  

   LOCAL nScale := nDpi / 96.0  
  

   DEFINE FONT oFont NAME "Tahoma" SIZE 0, -Int( 9 * nScale )  
  

   DEFINE DIALOG oDlg RESOURCE "DLG_MAIN" PIXEL FONT oFont ;  

      TITLE "Autoajuste desde RC"  
  

   REDEFINE SAY      oSayName ID ID_SAY_NAME OF oDlg  

   REDEFINE GET      oGetName VAR cName ID ID_GET_NAME OF oDlg  

   REDEFINE SAY      oSayCity ID ID_SAY_CITY OF oDlg  

   REDEFINE GET      oGetCity  VAR cCity ID ID_GET_CITY OF oDlg  

   REDEFINE BUTTON   oBtnOk   ID ID_BTN_OK   OF oDlg ACTION oDlg:End()  

   REDEFINE BUTTON   oBtnExit  ID ID_BTN_EXIT OF oDlg ACTION oDlg:End()  
  

   oDlg:bResized := { || ResizeDlg( oDlg, oSayName, oGetName, oSayCity, oGetCity, oBtnOk, oBtnExit ) }  
  

   ACTIVATE DIALOG oDlg CENTERED ;  

      ON INIT ( oDlg:SetSize( Int( 300 * nScale ), Int( 180 * nScale ) ), oDlg:Center() )  
  

   RELEASE FONT oFont  
  

RETURN NIL  
  

STATIC FUNCTION ResizeDlg( oDlg, oSayName, oGetName, oSayCity, oGetCity, oBtnOk, oBtnExit )  
  

   LOCAL oRect := oDlg:GetCliRect()  

   LOCAL nW := oRect:nWidth  

   LOCAL nH := oRect:nHeight  
  

   oSayName:nTop := 14  

   oSayName:nLeft := 12  

   oGetName:nTop := 12  

   oGetName:nLeft := 68  

   oGetName:nWidth := nW - 80  
  

   oSayCity:nTop := 40  

   oSayCity:nLeft := 12  

   oGetCity:nTop := 38  

   oGetCity:nLeft := 68  

   oGetCity:nWidth := nW - 80  
  

   oBtnOk:nTop := nH - 28  

   oBtnExit:nTop := nH - 28  

   oBtnOk:nLeft := nW - 160  

   oBtnExit:nLeft := nW - 80  
  

   oGetName:Refresh()  

   oGetCity:Refresh()  

   oBtnOk:Refresh()  

   oBtnExit:Refresh()  
  

RETURN NIL  
  

FUNCTION GetCurrentDpi()  
  

   LOCAL hDc  := GetDc( 0 )  

   LOCAL nDpi := GetDeviceCaps( hDc, LOGPIXELSX )  
  

   ReleaseDC( 0, hDc )  
  

RETURN nDpi
DLG_MAIN DIALOGEX 0, 0, 300, 180  

STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX  

FONT 9, "Tahoma"  

BEGIN  

    LTEXT       "Nombre:",   ID_SAY_NAME,   12, 14,  50, 10  

    EDITTEXT                   ID_GET_NAME,  68, 12, 220, 14  
  

LTEXT       "Ciudad:",    ID_SAY_CITY,   12, 40,  50, 10  
EDITTEXT                   ID_GET_CITY,   68, 38, 220, 14  
  
PUSHBUTTON  "&Aceptar",    ID_BTN_OK,     120, 150, 70, 16  
PUSHBUTTON  "&Salir",      ID_BTN_EXIT,   200, 150, 70, 16  
END
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: Como ajustar dialogs a la resoluci贸n del monitor ?

Posted: Mon Jun 22, 2026 03:29 PM

Maestro, se ve terrible. La ventana de Windows 11 desaparece, todo se pone negro y el cuadro de di谩logo no carga. Resoluci贸n: 1280 x 768. Fue aterrador. Jajaja.

Regards, saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 44508
Joined: Thu Oct 06, 2005 05:47 PM

Re: Como ajustar dialogs a la resoluci贸n del monitor ?

Posted: Mon Jun 22, 2026 03:56 PM

resdlg.prg

#include "FiveWin.ch"

#define LOGPIXELSX    88

#define ID_SAY_NAME   101
#define ID_GET_NAME   102
#define ID_SAY_CITY   103
#define ID_GET_CITY   104
#define ID_BTN_OK     105
#define ID_BTN_EXIT   106

#define DLG_ORIG_W    300
#define DLG_ORIG_H    180
#define FONT_BASE_SIZE 9

FUNCTION Main()

   LOCAL oDlg, oFont
   LOCAL oSayName, oSayCity, oGetName, oGetCity, oBtnOk, oBtnExit
   LOCAL cName := Space( 40 ), cCity := Space( 40 )
   LOCAL nDpi := GetCurrentDpi()
   LOCAL nScale := nDpi / 96.0

   DEFINE FONT oFont NAME "Tahoma" SIZE 0, -Int( FONT_BASE_SIZE * nScale )

   DEFINE DIALOG oDlg RESOURCE "DLG_MAIN" PIXEL FONT oFont ;
      TITLE "Autoajuste desde RC"

   REDEFINE SAY      oSayName ID ID_SAY_NAME OF oDlg
   REDEFINE GET      oGetName VAR cName ID ID_GET_NAME OF oDlg
   REDEFINE SAY      oSayCity ID ID_SAY_CITY OF oDlg
   REDEFINE GET      oGetCity  VAR cCity ID ID_GET_CITY OF oDlg
   REDEFINE BUTTON   oBtnOk   ID ID_BTN_OK   OF oDlg ACTION oDlg:End()
   REDEFINE BUTTON   oBtnExit  ID ID_BTN_EXIT OF oDlg ACTION oDlg:End()

   oDlg:bResized := { || ResizeDlg( oDlg, oSayName, oGetName, ;
                                     oSayCity, oGetCity, oBtnOk, oBtnExit ) }

   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT ( oDlg:SetSize( Int( DLG_ORIG_W * nScale ), Int( DLG_ORIG_H * nScale ) ), oDlg:Center() )

   RELEASE FONT oFont

RETURN NIL

STATIC FUNCTION ResizeDlg( oDlg, oSayName, oGetName, oSayCity, oGetCity, oBtnOk, oBtnExit )

   LOCAL oRect := oDlg:GetCliRect()
   LOCAL nW := oRect:nWidth
   LOCAL nH := oRect:nHeight
   LOCAL nSX := nW / DLG_ORIG_W
   LOCAL nSY := nH / DLG_ORIG_H
   LOCAL nFontSize := Int( FONT_BASE_SIZE * nSY )
   LOCAL oNewFont

   oSayName:nTop   := Int( 14 * nSY )
   oSayName:nLeft  := Int( 12 * nSX )
   oSayName:nWidth := Int( 50 * nSX )
   oSayName:nHeight := Int( 10 * nSY )

   oGetName:nTop    := Int( 12 * nSY )
   oGetName:nLeft   := Int( 68 * nSX )
   oGetName:nWidth  := Int( 220 * nSX )
   oGetName:nHeight := Int( 14 * nSY )

   oSayCity:nTop   := Int( 40 * nSY )
   oSayCity:nLeft  := Int( 12 * nSX )
   oSayCity:nWidth := Int( 50 * nSX )
   oSayCity:nHeight := Int( 10 * nSY )

   oGetCity:nTop    := Int( 38 * nSY )
   oGetCity:nLeft   := Int( 68 * nSX )
   oGetCity:nWidth  := Int( 220 * nSX )
   oGetCity:nHeight := Int( 14 * nSY )

   oBtnOk:nTop    := Int( 150 * nSY )
   oBtnOk:nLeft   := Int( 120 * nSX )
   oBtnOk:nWidth  := Int( 70 * nSX )
   oBtnOk:nHeight := Int( 16 * nSY )

   oBtnExit:nTop    := Int( 150 * nSY )
   oBtnExit:nLeft   := Int( 200 * nSX )
   oBtnExit:nWidth  := Int( 70 * nSX )
   oBtnExit:nHeight := Int( 16 * nSY )

   DEFINE FONT oNewFont NAME "Tahoma" SIZE 0, -nFontSize

   oDlg:SetFont( oNewFont )

   oSayName:Refresh()
   oGetName:Refresh()
   oSayCity:Refresh()
   oGetCity:Refresh()
   oBtnOk:Refresh()
   oBtnExit:Refresh()

RETURN NIL

FUNCTION GetCurrentDpi()

   LOCAL hDc  := GetDc( 0 )
   LOCAL nDpi := GetDeviceCaps( hDc, LOGPIXELSX )

   ReleaseDC( 0, hDc )

RETURN nDpi

resdlg.rc

#define ID_SAY_NAME   101
#define ID_GET_NAME   102
#define ID_SAY_CITY   103
#define ID_GET_CITY   104
#define ID_BTN_OK     105
#define ID_BTN_EXIT   106

DLG_MAIN DIALOGEX 0, 0, 300, 180
STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX
FONT 9, "Tahoma"
BEGIN
    LTEXT       "Nombre:",   ID_SAY_NAME,   12, 14,  50, 10
    EDITTEXT                   ID_GET_NAME,  68, 12, 220, 14

LTEXT       "Ciudad:",    ID_SAY_CITY,   12, 40,  50, 10
EDITTEXT                   ID_GET_CITY,   68, 38, 220, 14

PUSHBUTTON  "&Aceptar",    ID_BTN_OK,     120, 150, 70, 16
PUSHBUTTON  "&Salir",      ID_BTN_EXIT,   200, 150, 70, 16
END
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: Como ajustar dialogs a la resoluci贸n del monitor ?

Posted: Mon Jun 22, 2026 04:12 PM

No funciona a 1280 x 768; los di谩logos, el texto y los elementos GETS son demasiado peque帽os, lo que hace casi imposible ver nada. Esta soluci贸n no es funcional.

Regards, saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: Como ajustar dialogs a la resoluci贸n del monitor ?

Posted: Mon Jun 22, 2026 04:37 PM

Estimado maestro, simule este DI脕LOGO creado por el maravilloso WORKSHOP.exe, que funciona perfectamente a 1280 x 768. Windows 11 se inicia con esta resoluci贸n; luego, puede crearlo para las dem谩s resoluciones de Windows 11.

DLG_CADASTRO_SERVICOS_1280_768 DIALOG 5, 62, 850, 290
STYLE DS_ABSALIGN | DS_MODALFRAME | 0x4L | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "PLENOIND:  CADASTRO DE TIPO DE SERVI脟OS do Or莽amento"
FONT 8, "MS Sans Serif"
{
 CONTROL "", 1013, "TWBrowse", WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP, 10, 34, 830, 158
 EDITTEXT 101, 239, 197, 50, 12, ES_CENTER | ES_MULTILINE | WS_BORDER | WS_GROUP | WS_TABSTOP
 EDITTEXT 102, 239, 211, 210, 12, ES_MULTILINE | WS_BORDER | WS_GROUP | WS_TABSTOP
 EDITTEXT 103, 239, 225, 446, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 106, 239, 239, 109, 12, ES_MULTILINE | WS_BORDER | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Novo", 1000, 171, 255, 70, 14
 PUSHBUTTON "&Alterar", 2000, 244, 255, 70, 14
 PUSHBUTTON "&Excluir", 3000, 317, 255, 70, 14
 PUSHBUTTON "&Inicio", 5000, 390, 255, 70, 14
 PUSHBUTTON "An&terior", 6000, 463, 255, 70, 14
 PUSHBUTTON "Pro&ximo", 7000, 536, 255, 70, 14
 PUSHBUTTON "&Final", 8000, 609, 255, 70, 14
 PUSHBUTTON "&Pesquisa", 4000, 244, 270, 70, 14
 PUSHBUTTON "&Listagem", 9000, 317, 270, 70, 14
 PUSHBUTTON "&Gravar", 10000, 390, 270, 70, 14
 PUSHBUTTON "&Cancelar", 11000, 463, 270, 70, 14
 PUSHBUTTON "&Saida", 12000, 536, 270, 70, 14
 AUTORADIOBUTTON " &1 Por Nome", 201, 348, 13, 72, 12
 AUTORADIOBUTTON " &2 Por C贸digo", 202, 430, 13, 72, 12
 GROUPBOX "Escolha o 脥ndice da Pesquisa ", 501, 337, 3, 176, 27, BS_GROUPBOX
 RTEXT "C脫DIGO:", 401, 165, 197, 70, 12, SS_RIGHT | NOT WS_GROUP
 RTEXT "SERVI脟O:", 402, 165, 211, 70, 12, SS_RIGHT | NOT WS_GROUP
 RTEXT "DESCRI脟脙O:", 403, 165, 225, 70, 12, SS_RIGHT | NOT WS_GROUP
 RTEXT "GRUPO SERV:", 406, 165, 239, 70, 12, SS_RIGHT | NOT WS_GROUP
}

Regards, saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: Como ajustar dialogs a la resoluci贸n del monitor ?

Posted: Mon Jun 22, 2026 04:44 PM

Ahora, un marabilloso FOLDEREX:

FOLDER_LIMPEZA_JARDIM_1280_768 DIALOG 5, 3, 840, 344
STYLE WS_CHILD | WS_BORDER
FONT 8, "MS Sans Serif"
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
{
 CONTROL "820", 101, "TFolderex", 0 | WS_CHILD | WS_VISIBLE, 10, 3, 820, 320
 PUSHBUTTON "&Gravar", 301, 254, 324, 70, 16
 PUSHBUTTON "&Imprimir", 302, 327, 324, 70, 16
 PUSHBUTTON "&Obs.", 304, 400, 324, 60, 16
 PUSHBUTTON "&Excluir", 306, 463, 324, 60, 16
 PUSHBUTTON "&Saida", 305, 526, 324, 60, 16
}

Regards, saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: Como ajustar dialogs a la resoluci贸n del monitor ?

Posted: Mon Jun 22, 2026 04:47 PM

Fld hija:

FLD_LIMPEZA_JARDIM_1280_768 DIALOG 10, 3, 810, 300
STYLE 0x4L | WS_CHILD | WS_BORDER
FONT 8, "MS Sans Serif"
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
{
 EDITTEXT 20, 174, 4, 70, 12, ES_CENTER | ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 21, 319, 4, 70, 12, ES_CENTER | ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 22, 484, 4, 70, 12, ES_CENTER | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 EDITTEXT 23, 174, 18, 280, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 24, 131, 49, 60, 12, ES_CENTER | WS_BORDER | WS_TABSTOP
 EDITTEXT 25, 194, 49, 210, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 26, 407, 49, 60, 12, ES_CENTER | WS_BORDER | WS_TABSTOP
 EDITTEXT 27, 470, 49, 80, 12, ES_CENTER | WS_BORDER | WS_TABSTOP
 EDITTEXT 30, 151, 81, 400, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 31, 151, 94, 400, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 32, 151, 107, 400, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 33, 151, 120, 400, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 34, 151, 133, 400, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 35, 151, 146, 400, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 36, 151, 159, 400, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 37, 151, 172, 400, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 38, 151, 185, 400, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 39, 151, 198, 400, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 40, 151, 211, 400, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 41, 151, 224, 400, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 42, 151, 237, 400, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 43, 151, 250, 400, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 EDITTEXT 44, 151, 263, 400, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
 CONTROL "0.00", 51, "EDIT", ES_CENTER | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 212, 279, 50, 12
 CONTROL "0.00", 50, "EDIT", ES_CENTER | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 327, 279, 80, 12
 CONTROL "0.00", 49, "EDIT", ES_RIGHT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 452, 279, 100, 16
 RTEXT "Proposta N\xBA..:", 401, 92, 4, 80, 12, SS_RIGHT | NOT WS_GROUP
 RTEXT "Contrato N\xBA.:", 402, 246, 4, 70, 12, SS_RIGHT | NOT WS_GROUP
 RTEXT "Nome Cliente:", 404, 92, 18, 80, 12, SS_RIGHT | NOT WS_GROUP
 RTEXT "Data Proposta:", 403, 392, 4, 90, 12, SS_RIGHT | NOT WS_GROUP
 CTEXT "ESCOPOS DOS TRABALHOS - LIMPEZA DO JARDIM. EDITE E GRAVE.", 408, 151, 66, 400, 12, SS_CENTER | NOT WS_GROUP
 LTEXT "Servi莽o<F7>:", 407, 131, 34, 60, 12, NOT WS_GROUP
 CTEXT "Quantidade:", 405, 407, 34, 60, 12, SS_CENTER | NOT WS_GROUP
 CTEXT "Valor do Servi莽o:", 406, 470, 34, 80, 12, SS_CENTER | NOT WS_GROUP
 RTEXT "Total:", 409, 409, 279, 40, 16, SS_RIGHT | NOT WS_GROUP
 RTEXT "Desconto:", 410, 264, 279, 60, 12, SS_RIGHT | NOT WS_GROUP
 RTEXT "Desc. em: %.:", 411, 139, 279, 70, 12, SS_RIGHT | NOT WS_GROUP
 RTEXT "1280 X 768 Size: 820", 412, 665, 287, 140, 10, SS_RIGHT | NOT WS_GROUP
 CONTROL "TBitMap", 120, "TBitMap", WS_CHILD | WS_VISIBLE, 629, 3, 176, 62
 LTEXT "Edite-me: <Gravar>", 413, 194, 38, 90, 10, NOT WS_GROUP
 CTEXT "PAGE UP / PAGE DOWN Navega", 414, 628, 263, 178, 10, SS_CENTER | NOT WS_GROUP
}

Regards, saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: Como ajustar dialogs a la resoluci贸n del monitor ?

Posted: Mon Jun 22, 2026 04:59 PM

Simulaci贸n con BROWSE().

BROWSE_APROVACAO_1280_768 DIALOG 5, 65, 846, 349
STYLE DS_ABSALIGN | DS_MODALFRAME | 0x4L | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "PLENOIND: BROWSE DE EDI脟脙O DAS PROPOSTAS DE OR脟AMENTOS - APROVAR OU ARQUIVAR."
FONT 8, "MS Sans Serif"
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
{
 EDITTEXT 20, 243, 16, 70, 12, ES_CENTER | ES_MULTILINE | WS_BORDER | WS_TABSTOP
 CONTROL "", 101, "TWBrowse", WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP, 18, 49, 810, 228
 PUSHBUTTON "&Aprovar", 301, 283, 326, 70, 16
 PUSHBUTTON "A&rquivar", 302, 356, 326, 70, 16
 PUSHBUTTON "&Imprimir", 303, 429, 326, 70, 16
 PUSHBUTTON "&Saida", 304, 502, 326, 60, 16
 AUTORADIOBUTTON " &1 Nome Cliente", 201, 342, 15, 72, 12
 AUTORADIOBUTTON " &2 Proposta", 202, 422, 15, 72, 12
 AUTORADIOBUTTON " &3 C贸d. Cliente", 203, 502, 15, 72, 12
 AUTORADIOBUTTON " &4 Endere莽o", 204, 582, 15, 72, 12
 RTEXT "Busca R谩pida,", 401, 160, 3, 80, 12, SS_RIGHT | NOT WS_GROUP
 CTEXT "N\xBA. Proposta:", 402, 243, 3, 70, 12, SS_CENTER | NOT WS_GROUP
 RTEXT "Digite Proposta:", 403, 160, 16, 80, 12, SS_RIGHT | NOT WS_GROUP
 GROUPBOX "Escolha o Tipo da Pesquisa  - Click em um dos R谩dios Para Pesquisar", 502, 316, 5, 364, 27, BS_GROUPBOX
 GROUPBOX "Browse de Edi莽ao das Propostas de Or莽amentos", 501, 5, 35, 834, 248, BS_GROUPBOX
 RTEXT "[A] = APROVADO - [I] = ARQUIVADO(IND) - [P] = PENDENTE", 404, 171, 287, 458, 12, SS_RIGHT | NOT WS_GROUP
 LTEXT "<ESC> Sair", 420, 5, 326, 50, 12
 CONTROL "TBitMap", 120, "TBitMap", WS_CHILD | WS_VISIBLE, 648, 284, 176, 58
 CONTROL "TBitMap", 121, "TBitMap", WS_CHILD | WS_VISIBLE, 725, 1, 100, 37
 RTEXT "Arquivamento ou Indeferimento: A莽茫o ou efeito de negar; em que h谩 nega莽茫o do pedido. ", 405, 171, 300, 458, 14, SS_RIGHT | NOT WS_GROUP
}

Regards, saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: Como ajustar dialogs a la resoluci贸n del monitor ?

Posted: Mon Jun 22, 2026 05:41 PM

Estimado Antonio, aqu铆 tienes el cuadro de di谩logo de resoluci贸n de pantalla para que puedas entender c贸mo lo hice en versiones de Windows anteriores a Windows 11.

DLG_RESOLUCAO_TELA DIALOG 242, 66, 370, 236
STYLE DS_ABSALIGN | DS_MODALFRAME | 0x4L | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "PLENOIND: RESOLU脟脙O DE TELA. <FUNC脮ES: RESOTELA>."
FONT 9, "MS Sans Serif"
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
{
 AUTORADIOBUTTON " 01 - RESOLU脟脙O: 640  X 480", 201, 27, 39, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 AUTORADIOBUTTON " 02 - RESOLU脟脙O: 768  X 1024", 202, 27, 53, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 AUTORADIOBUTTON " 03 - RESOLU脟脙O: 800  X 600", 203, 27, 68, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 AUTORADIOBUTTON " 04 - RESOLU脟脙O: 1024 X 600", 204, 27, 82, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 AUTORADIOBUTTON " 05 - RESOLU脟脙O: 1024 X 768", 205, 27, 97, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 AUTORADIOBUTTON " 06 - RESOLU脟脙O: 1152 X 864", 206, 27, 112, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 AUTORADIOBUTTON " 07 - RESOLU脟脙O: 1280 X 720", 207, 27, 127, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 AUTORADIOBUTTON " 08 - RESOLU脟脙O: 1280 X 768", 208, 27, 143, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 AUTORADIOBUTTON "09 - RESOLU脟脙O: 1280 X 800", 209, 193, 39, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 AUTORADIOBUTTON "10 - RESOLU脟脙O: 1280 X 960", 210, 193, 53, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 AUTORADIOBUTTON "11 - RESOLU脟脙O: 1280 X 1024", 211, 193, 68, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 AUTORADIOBUTTON "12 - RESOLU脟脙O: 1360 X 768", 212, 193, 82, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 AUTORADIOBUTTON "13 - RESOLU脟脙O: 1366 X 768", 213, 193, 97, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 AUTORADIOBUTTON "14 - RESOLU脟脙O: 1400 X 1050", 214, 193, 112, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 AUTORADIOBUTTON "15 - RESOLU脟脙O: 1440 X 900", 215, 193, 127, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 AUTORADIOBUTTON "16 - RESOLU脟脙O: 1600 X 1200", 216, 193, 143, 150, 12, BS_AUTORADIOBUTTON | BS_LEFTTEXT
 PUSHBUTTON "&Gravar", 301, 123, 214, 60, 16
 PUSHBUTTON "&Saida", 302, 186, 214, 60, 16
 EDITTEXT 50, 5, 3, 360, 12, ES_CENTER | ES_MULTILINE | NOT WS_TABSTOP | NOT WS_BORDER
 LTEXT "<ESC> Sair", 420, 5, 214, 50, 12, NOT WS_GROUP
 GROUPBOX "Escolha a Resolu莽茫o de Tela do Sistema. Em Desenvolvimento(Demorado).", 501, 5, 18, 360, 152
 CONTROL "N脙O ESQUE脟A DE MODIFICAR A RESOLU脟脙O DE TELA:", 401, "EDIT", ES_CENTER | ES_MULTILINE | WS_CHILD | WS_VISIBLE, 5, 171, 360, 12
 CONTROL "NA JANELA DO WINDOWS: <Click> no Bot茫o Direito do Mouse.", 402, "EDIT", ES_CENTER | ES_MULTILINE | WS_CHILD | WS_VISIBLE, 5, 184, 360, 12
 CONTROL "RESOLU脟脮ES ADICIONAIS, CONSULTE CUSTOS COM O SUPORTE.", 403, "EDIT", ES_CENTER | ES_MULTILINE | WS_CHILD | WS_VISIBLE, 5, 198, 360, 12
}

Regards, saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: Como ajustar dialogs a la resoluci贸n del monitor ?

Posted: Mon Jun 22, 2026 06:13 PM

Usando METEREX, fantatstico! jajajajaja.

DLG_REINDEXAR_1280_768 DIALOG 138, 50, 350, 286
STYLE DS_ABSALIGN | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
CAPTION "PLENOIND: Reindexar/Organizar Bancos de Dados-Obrigat贸rio Desativar os Terminais."
FONT 10, "MS Serif"
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
{
 CONTROL "TMeterex", 50, "TMeterex", 0 | WS_CHILD | WS_VISIBLE, 69, 26, 270, 10
 CONTROL "TMeterex", 51, "TMeterex", 0 | WS_CHILD | WS_VISIBLE, 69, 37, 270, 10
 CONTROL "TMeterex", 52, "TMeterex", 0 | WS_CHILD | WS_VISIBLE, 69, 48, 270, 10
 CONTROL "TMeterex", 53, "TMeterex", 0 | WS_CHILD | WS_VISIBLE, 69, 59, 270, 10
 CONTROL "TMeterex", 54, "TMeterex", 0 | WS_CHILD | WS_VISIBLE, 69, 70, 270, 10
 CONTROL "TMeterex", 55, "TMeterex", 0 | WS_CHILD | WS_VISIBLE, 69, 81, 270, 10
 PUSHBUTTON "&Indexar", 701, 129, 250, 45, 14
 PUSHBUTTON "&Saida", 702, 176, 250, 45, 14
 GROUPBOX "Indexa莽茫o Geral dos Bancos de Dados - Feche Outros Programas de Or莽amentos", 501, 5, 15, 340, 80, BS_GROUPBOX | BS_LEFTTEXT
 AUTOCHECKBOX " Reindexar: Reorganizar Arquivos - <Click> Abaixo Para:", 20, 66, 99, 240, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
 AUTOCHECKBOX " Apagar/Excluir Registros Deletados nos Bancos de Dados.", 21, 66, 113, 240, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
 CONTROL "TBitMap", 23, "TBitMap", WS_CHILD | WS_VISIBLE, 58, 145, 233, 62
 CONTROL "DSAY", 801, "TDSay", 0 | WS_CHILD | WS_VISIBLE, 5, 3, 340, 10
 RTEXT "Or莽amentos:", 401, 10, 26, 56, 10, SS_RIGHT | NOT WS_GROUP
 RTEXT "Compras:", 402, 10, 37, 56, 10, SS_RIGHT | NOT WS_GROUP
 RTEXT "Aguardando:", 403, 10, 48, 56, 10, SS_RIGHT | NOT WS_GROUP
 RTEXT "Aguardando:", 404, 10, 59, 56, 10, SS_RIGHT | NOT WS_GROUP
 RTEXT "Aguardando:", 405, 10, 70, 56, 10, SS_RIGHT | NOT WS_GROUP
 RTEXT "Aguardando:", 406, 10, 81, 56, 10, SS_RIGHT | NOT WS_GROUP
 CONTROL "TBitMap", 110, "TBitMap", WS_CHILD | WS_VISIBLE, 7, 158, 30, 40
 LTEXT "<ESC> N茫o Sai", 420, 0, 250, 56, 14, NOT WS_GROUP
 CTEXT "FA脟A BACKUP", 419, 0, 267, 108, 16, SS_CENTER | NOT WS_GROUP
 CONTROL "TBitMap", 24, "TBitMap", WS_CHILD | WS_VISIBLE, 313, 150, 30, 40
 CTEXT "Feche Outros Programas Antes de Indexar os Bancos de Dados.", 421, 40, 132, 270, 12, SS_CENTER | NOT WS_GROUP
 CONTROL "TBitMap", 120, "TBitMap", WS_CHILD | WS_VISIBLE, 289, 265, 60, 20
 CTEXT "VIRUS: PROTEJA-SE.", 430, 109, 267, 178, 16, SS_CENTER | NOT WS_GROUP
 CONTROL "TBitMap", 121, "TBitMap", WS_CHILD | WS_VISIBLE, 0, 208, 233, 40
 CONTROL "TBitMap", 122, "TBitMap", WS_CHILD | WS_VISIBLE, 234, 208, 116, 40
}

Regards, saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion