FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ajustar resolucion
Posts: 109
Joined: Tue Dec 12, 2006 12:39 AM
Ajustar resolucion
Posted: Fri Oct 17, 2008 10:30 PM

Antonio

Como puedo cambiar la resoluci贸n del monitor al inicio de ejecutar la aplicaci贸n y dejarla conforme estaba al salir de la misma?
Entube buscando en el foro y no fue claro lo poco que encontr茅

Gracias por tu orientaci贸n

Jairo Barbosa

Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Ajustar resolucion
Posted: Sat Oct 18, 2008 03:16 PM

Jaba
Aqui en el foro hay una clase para eso, yo particip茅 en ese hilo que lo inici贸 Manuel Valdenebro ( creo ) e inclusive lo utiliz茅 en una aplicaci贸n. En Fivewin Brasil, en Dicas, se encuentra esta clase pero hab铆a que hacer unas modificaciones.
Saludos

Posts: 109
Joined: Tue Dec 12, 2006 12:39 AM
Ajustar resolucion
Posted: Sat Oct 18, 2008 04:15 PM
horacio wrote:Jaba
Aqui en el foro hay una clase para eso, yo particip茅 en ese hilo que lo inici贸 Manuel Valdenebro ( creo ) e inclusive lo utiliz茅 en una aplicaci贸n. En Fivewin Brasil, en Dicas, se encuentra esta clase pero hab铆a que hacer unas modificaciones.
Saludos


Horacio

S茂... estuve mirando en el foro y note que Manuel desarrollo algo al respecto, le escrib铆 al directo pero no tuve respuesta de el. Agradezco tu reporte y si tienes alguna funci贸n o arreglo al respecto le agradece que lo compartas en el foro para que todos tengamos la oportunidad

Cordialmente

Jairo Barbosa
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Ajustar resolucion
Posted: Sun Oct 19, 2008 03:06 PM

Jaba
Estoy fuera de mi ciudad. El martes regreso y te lo envio. Saludos

Posts: 109
Joined: Tue Dec 12, 2006 12:39 AM
Para quienes lo requieran
Posted: Sun Oct 19, 2008 06:02 PM
horacio wrote:Jaba
Estoy fuera de mi ciudad. El martes regreso y te lo envio. Saludos

//---------------------------------------------------------------------//
Horacio

Buen viaje
Acabo de poner en el foro la funci贸n de Don Manuel Valdenebro, que aunque no recib铆 respuesta de le me tome el atrevimiento y le hice algunas modificaciones para que quedara un poco mas amigable, me gustar铆a que la ensayes y me dieras tu opini贸n ya que estando en cualquier resoluci贸n de pantalla la pasa sin problemas a la deseada, fue muy f谩cil, dejo un ejemplo con ejecutable y los fuentes en el siguiente link porque le puede servir a otras personas.


http://rapidshare.com/files/155573089/Tutor02.rar.html

Cordialmente

Jairo Barbosa
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Ajustar resolucion
Posted: Mon Oct 27, 2008 02:58 PM

jaba;
Disculpame que no te respond铆 en tiempo y forma pero tuve algunos inconvenientes con mi proveedor de internet. Aqui te mando el c贸digo

define DM_PELSWIDTH nHex("80000")

define DM_PELSHEIGHT nHex("100000")

                    Function CambiaResolucion( nAncho, nAlto, lPreguntar)

Local oDevMode
Local lPosible
Local cBuffer
Local lCamReso := .f.

Default nAncho := GetSysMetrics( 0 ), nAlto := GetSysMetrics( 1 ), lPreguntar := .t.

Struct oDevMode
Member cDevName AS STRING LEN 32
Member nSpecVer AS WORD
Member nDrvVer AS WORD
Member nSize AS WORD
Member nDrvExtra AS WORD
Member nFields AS DWORD
Member nOrientat AS WORD
Member nPaperSiz AS WORD
Member nPaperLen AS WORD
Member nPaperWid AS WORD
Member nScale AS WORD
Member nCopies AS WORD
Member nDefSrc AS WORD
Member nPrnQlty AS WORD
Member nColor AS WORD
Member nDuplex AS WORD
Member nYResolut AS WORD
Member nTTOpt AS WORD
Member nCollate AS WORD
Member cFormName AS STRING LEN 32
Member nUnusePad AS WORD
Member nBitsPPel AS DWORD
Member nPelWidth AS DWORD
Member nPelHeigh AS DWORD
Member nDisFlags AS DWORD
Member nDisFreq AS DWORD
Endstruct

cBuffer := oDevMode : cBuffer
// Comprueba si es posible cambiar la resoluci贸n
lPosible := EnumDisplaySettings(0, 0, @cBuffer)

// Si es posible cambiar la resoluci贸n
If( lPosible )
If( lPreguntar )
If( !MsgYesNo("Desea cambiar la resoluci贸n?", "Atenci贸n") )
Return lCamReso
end
end
oDevMode:nFields := nOr( DM_PELSWIDTH, DM_PELSHEIGHT )
oDevMode:nPelWidth := nAncho
oDevMode:nPelHeigh := nAlto
cBuffer:=oDevMode:cBuffer
Try
ChangeDisplaySettings(@cBuffer, 4)
lCamReso := .T.
Catch
MsgStop("Modo no soportado", "Error" )
End
else
MsgStop("Modo no soportado", "Error" )
end
Return lCamReso

DLL32 FUNCTION EnumDisplaySettings(lpszDeviceName AS DWORD,;
iModeNum AS DWORD, ;
@lpDevMode AS LPSTR) AS BOOL PASCAL;
FROM "EnumDisplaySettingsA" LIB "User32.dll"

DLL32 FUNCTION ChangeDisplaySettings(@lpDevMode AS LPSTR,;
dwFlags AS DWORD) AS DWORD;
FROM "ChangeDisplaySettingsA" LIB "User32.dll"

DLL32 FUNCTION ExitWindowsEx(uFlags AS DWORD,;
dwReserved AS DWORD) AS DWORD PASCAL;
LIB "user32.dll"

Prob茅 tu soluci贸n y funciona perfectamente
Saludos

Posts: 109
Joined: Tue Dec 12, 2006 12:39 AM
Ajustar resolucion
Posted: Mon Oct 27, 2008 11:50 PM
horacio wrote:jaba;
Disculpame que no te respond铆 en tiempo y forma pero tuve algunos inconvenientes con mi proveedor de internet. Aqui te mando el c贸digo


#define DM_PELSWIDTH nHex("80000")
#define DM_PELSHEIGHT nHex("100000")

Function CambiaResolucion( nAncho, nAlto, lPreguntar)

Local oDevMode
Local lPosible
Local cBuffer
Local lCamReso := .f.

Default nAncho := GetSysMetrics( 0 ), nAlto := GetSysMetrics( 1 ), lPreguntar := .t.

Struct oDevMode
Member cDevName AS STRING LEN 32
Member nSpecVer AS WORD
Member nDrvVer AS WORD
Member nSize AS WORD
Member nDrvExtra AS WORD
Member nFields AS DWORD
Member nOrientat AS WORD
Member nPaperSiz AS WORD
Member nPaperLen AS WORD
Member nPaperWid AS WORD
Member nScale AS WORD
Member nCopies AS WORD
Member nDefSrc AS WORD
Member nPrnQlty AS WORD
Member nColor AS WORD
Member nDuplex AS WORD
Member nYResolut AS WORD
Member nTTOpt AS WORD
Member nCollate AS WORD
Member cFormName AS STRING LEN 32
Member nUnusePad AS WORD
Member nBitsPPel AS DWORD
Member nPelWidth AS DWORD
Member nPelHeigh AS DWORD
Member nDisFlags AS DWORD
Member nDisFreq AS DWORD
Endstruct

cBuffer := oDevMode : cBuffer
// Comprueba si es posible cambiar la resoluci贸n
lPosible := EnumDisplaySettings(0, 0, @cBuffer)

// Si es posible cambiar la resoluci贸n
If( lPosible )
If( lPreguntar )
If( !MsgYesNo("Desea cambiar la resoluci贸n?", "Atenci贸n") )
Return lCamReso
end
end
oDevMode:nFields := nOr( DM_PELSWIDTH, DM_PELSHEIGHT )
oDevMode:nPelWidth := nAncho
oDevMode:nPelHeigh := nAlto
cBuffer:=oDevMode:cBuffer
Try
ChangeDisplaySettings(@cBuffer, 4)
lCamReso := .T.
Catch
MsgStop("Modo no soportado", "Error" )
End
else
MsgStop("Modo no soportado", "Error" )
end
Return lCamReso


DLL32 FUNCTION EnumDisplaySettings(lpszDeviceName AS DWORD,;
iModeNum AS DWORD, ;
@lpDevMode AS LPSTR) AS BOOL PASCAL;
FROM "EnumDisplaySettingsA" LIB "User32.dll"

DLL32 FUNCTION ChangeDisplaySettings(@lpDevMode AS LPSTR,;
dwFlags AS DWORD) AS DWORD;
FROM "ChangeDisplaySettingsA" LIB "User32.dll"

DLL32 FUNCTION ExitWindowsEx(uFlags AS DWORD,;
dwReserved AS DWORD) AS DWORD PASCAL;
LIB "user32.dll"

Prob茅 tu soluci贸n y funciona perfectamente
Saludos

//--------------------------------------------------------------------------//

Gracias Horacio la Probare....

Cordial Saludo

Jairo
Posts: 336
Joined: Wed May 16, 2007 09:40 PM
Ajustar resolucion
Posted: Thu Oct 30, 2008 03:57 PM

existe actualmente alguna funcion o libreria que cambie la resolucion de la pantalla cuando uno entre a un sistema y al salir restaure la del escritorio de windows, si es que son distintas

Fivewin-Xharbour 24.09, Iquique, Chile
Posts: 109
Joined: Tue Dec 12, 2006 12:39 AM
Ajustar resolucion
Posted: Thu Oct 30, 2008 11:46 PM
elmoiquique wrote:existe actualmente alguna funcion o libreria que cambie la resolucion de la pantalla cuando uno entre a un sistema y al salir restaure la del escritorio de windows, si es que son distintas


http://rapidshare.com/files/155573089/Tutor02.rar.html
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Ajustar resolucion
Posted: Fri Oct 31, 2008 01:07 AM

Hola a todos.
Esto est谩 muy interesante... Ahora bien, si no es mucho pedir.
A alguien se le ocurre c贸mo hacer para cambiar el tama帽o de fuente tambi茅n?

Ejemplo:
Pasar de 800 x 600 Fuentes chichas (96ppp) a 1024 x 768 Fuentes grandes (120ppp)

Lograr esto ser铆a un gol de media cancha!!!

Si alguien tiene algo hecho al respecto ser铆a buen铆simo que lo comparta.

Desde ya muchas gracias.
Saludos, desde Argentina, Esteban.

Ojeda Esteban Eduardo.

Buenos Aires - Argentina.

FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport

Skype: jreduojeda
Posts: 18
Joined: Sat Nov 26, 2005 04:45 PM
Ajustar resolucion
Posted: Fri Oct 31, 2008 06:18 AM

amigo,
isso nao caberia para o usuario deliberar?
jah fiz algo parecido, o usuario diz que tem problema de vista e tals...
茅 complicado
eu fa莽o o seguinte, quando vejo q a resolucao eh incompat铆vel com a que o sistema pretende, mando um msgalert...

na realidade o computador eh do cliente...

Continue the discussion