Página 1 de 1
window panel auto ajustavel
Enviado: 11 Mai 2015 00:10
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
window panel auto ajustavel
Enviado: 11 Mai 2015 09:44
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,
window panel auto ajustavel
Enviado: 11 Mai 2015 13:01
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
window panel auto ajustavel
Enviado: 12 Mai 2015 09:45
por Nascimento
ok mestre toledo vou montar um demo aqui e assim que terminar estarei enviando...
window panel auto ajustavel
Enviado: 12 Mai 2015 13:25
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,
window panel auto ajustavel
Enviado: 12 Mai 2015 16:36
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?
window panel auto ajustavel
Enviado: 12 Mai 2015 18:07
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.)
window panel auto ajustavel
Enviado: 12 Mai 2015 20:40
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