window panel auto ajustavel

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 763
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

window panel auto ajustavel

Mensagem por Nascimento »

criei uma funçao tipo um quadro com window panel dependendo do tamanho da foto ele se auto ajusta ao tamanho da foto.. digamos assim

exemplo uma foto 10cm x15cm ele se ajusta adequadamente dando um efeito de quadro, como eu faria pra ele se atualizar em tempo real tipo
se eu trocar a imagem de 10x15 por uma 10x10 ou 20x15 pra ele redimencionar em execuçao do programa? porque atualmente so se eu fechar e reabrir
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

window panel auto ajustavel

Mensagem por Toledo »

Amigo, o tamanho de uma foto (imagem) e também do window panel é feito por pixel, então para ficar mais fácil montar um demo, favor informar qual seria a dimensão da foto e do panel em pixel para uma foto 10cm x15cm, e também os outros tamanhos (10x10 ou 20x15).

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Claudio Soto
Colaborador
Colaborador
Mensagens: 566
Registrado em: 27 Ago 2012 12:31
Localização: Uruguay
Contato:

window panel auto ajustavel

Mensagem por Claudio Soto »

Es un bug de HMG, lo voy a arreglar, gracias por reportarlo.

Este es un ejemplo de como hacerlo a pulmón.

Código: Selecionar todos

#include "hmg.ch"

Function Main

	SET SCROLLSTEP TO 10

	DEFINE WINDOW Win_1 ;
		ROW 0 ;
		COL 0 ;
		WIDTH 400 ;
		HEIGHT 400 ;
		TITLE 'HMG Panel Window Demo' ;
		WINDOWTYPE MAIN  


		DEFINE WINDOW Win_Panel ;
			ROW 30 ;
			COL 30 ;
			WIDTH 300 ;
			HEIGHT 200 ;
			VIRTUALWIDTH 400 ;
			VIRTUALHEIGHT 400 ;
			WINDOWTYPE PANEL

			DEFINE LABEL LABEL_1
				ROW		10
				COL		10
				VALUE		'Panel windows...'
				WIDTH		300
			END LABEL

			DEFINE BUTTON BUTTON_1
				ROW		40
				COL		10
				CAPTION		'Click Me!'
				ACTION		MsgInfo('Clicked!')
			END BUTTON

			DEFINE LABEL LABEL_2
				ROW		90
				COL		10
				VALUE		"Can do this!"
				WIDTH		300
			END LABEL

			DEFINE TEXTBOX TEXT_1
				ROW		120
				COL		10
				VALUE		'Test'
			END TEXTBOX

			DEFINE TEXTBOX TEXT_2
				ROW		150
				COL		10
				VALUE		'Test'
			END TEXTBOX

			DEFINE TEXTBOX TEXT_3
				ROW		180
				COL		10
				VALUE		'Test'
			END TEXTBOX
	
			DEFINE TEXTBOX TEXT_4
				ROW		210
				COL		10
				VALUE		'Test'
			END TEXTBOX

			DEFINE TEXTBOX TEXT_5
				ROW		240
				COL		10
				VALUE		'Test'
			END TEXTBOX

		END WINDOW

		DEFINE BUTTON BUTTON_1
			ROW		300
			COL		10
			CAPTION		'Panel Size -'
			ACTION  ( x := ScreenToClientCol (Win_1.HANDLE, Win_Panel.Col),;
                   y := ScreenToClientRow (Win_1.HANDLE, Win_Panel.Row),;
                   MoveWindow (Win_Panel.HANDLE, x, y, Win_Panel.WIDTH - 10, Win_Panel.HEIGHT - 10, .T.))
		END BUTTON

		DEFINE BUTTON BUTTON_2
			ROW		300
			COL		200
			CAPTION		'Panel Size +'
			ACTION  ( x := ScreenToClientCol (Win_1.HANDLE, Win_Panel.Col),;
                   y := ScreenToClientRow (Win_1.HANDLE, Win_Panel.Row),;
                   MoveWindow (Win_Panel.HANDLE, x, y, Win_Panel.WIDTH + 10, Win_Panel.HEIGHT + 10, .T.))
		END BUTTON

	END WINDOW

	Win_1.Center 

	Activate Window Win_1 

Return
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar do usuário
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 763
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

window panel auto ajustavel

Mensagem por Nascimento »

ok mestre toledo vou montar um demo aqui e assim que terminar estarei enviando...
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

window panel auto ajustavel

Mensagem por Toledo »

Nascimento escreveu:vou montar um demo
Amigo, o demo eu monto pra você. O que eu queria mesmo era só o tamanho em pixel das fotos ( 10cm x15cm, 10x10 e 20x15) e também o tamanho do panel correspondente para cada foto.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 763
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

window panel auto ajustavel

Mensagem por Nascimento »

justamente ai é onde ta a confusão pelos exemplos da minigui e este link que esta aqui

https://pctoledo.org/forum/viewto ... =4&t=13627 eu crio um painel dando um efeito de quadro nele em torno de 3millimetros maior que a imagem , so que se eu digamos quizer trocar a imagem e ela for um pouco maior que a anterior ai foge dos padroes fica cortada , por isso estava procurando a possibilidade de em tempo real
o painel se auto ajustar dando a mesmo efeito borda na nova imagem sendo maior ou menor entendeu?
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Claudio Soto
Colaborador
Colaborador
Mensagens: 566
Registrado em: 27 Ago 2012 12:31
Localização: Uruguay
Contato:

window panel auto ajustavel

Mensagem por Claudio Soto »

Nascimento escreveu:justamente ai é onde ta a confusão pelos exemplos da minigui e este link que esta aqui

https://pctoledo.org/forum/viewto ... =4&t=13627 eu crio um painel dando um efeito de quadro nele em torno de 3millimetros maior que a imagem , so que se eu digamos quizer trocar a imagem e ela for um pouco maior que a anterior ai foge dos padroes fica cortada , por isso estava procurando a possibilidade de em tempo real
o painel se auto ajustar dando a mesmo efeito borda na nova imagem sendo maior ou menor entendeu?

Código: Selecionar todos

hBitmap  := BT_BitmapLoadFile ("imagen.jpg")   // BMP, JPG, GIF, TIF, PNG
nWidth   := BT_BitmapWidth (hBitmap)
nHeight  := BT_BitmapHeight (hBitmap)
BT_HMGSetImage ("Win_Panel", "Image_Panel", hBitmap, .T.)

x := ScreenToClientCol (Win_1.HANDLE, Win_Panel.Col)
y := ScreenToClientRow (Win_1.HANDLE, Win_Panel.Row)
MoveWindow (Win_Panel.HANDLE, x, y, nWidth + 5, nHeight + 5, .T.)
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar do usuário
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 763
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

window panel auto ajustavel

Mensagem por Nascimento »

Amigo claudio sotto

estou usando a minigui extended

tentei compilar seu exemplo deu o seguinte erro
Harbour 3.2.0dev (r1503111523)
Copyright (c) 1999-2015, http://harbour-project.org/
Compiling 'demo.prg'...
demo.prg(5) Error E0030 Syntax error "syntax error at 'SCROLLSTEP'"
demo.prg(83) Error E0030 Syntax error "syntax error at '.'"
demo.prg(92) Error E0030 Syntax error "syntax error at '.'"
3 errors
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Responder