View Full Version : [Código] c# - Message Window


Karakatoa
04-11-2004, 17:49
Olá pessoal
Vou partilhar convosco uma brincadeira que fiz no outro dia. Não está nada de especial uma vez que fiz aquilo um bocado ás três pancadas. Simula uma pequena janela de mensagem que aparece no canto inferior direito do ecran, do tipo messager mas com um design pior (Eu nao tenho jeito nenhum para o design... :'( )
O código fonte em C# está disponivel em:
http://ceko.dyndns.org/~shownomercy/artigos_techzonept/MessageWindow.zip

Pode ser que tirem algumas ideias daqui.

:001:

NoMercy
04-11-2004, 18:09
Karakatoa, obrigado pela tua contribuição. :)
Artigos e código são bem vindos. Ajudam a melhorar o conteúdo aqui do forum.
Alterei o titulo do teu post para organizar melhor aqui o forum.
Para já vou deixá-lo em sticky. Mais tarde se os stickys crescerem muito arranja-se outra forma de organizar.

Baía
04-11-2004, 18:11
tá bacano! Good Job...

Num3
30-03-2005, 20:27
A versão PureBasic :004:

Feita em 5 minutos... o executavel tem 12Kb ...

Procedure MSN_POPUP(text.s,delay.l,color1.l,color2.l)

id=500

Dim textline.s(2)
line=1
For a=1 To Len(text)

char.s=Mid(text,a,1)
If char<>"|"
textline(line)+char
Else
line+1
EndIf
Next

currlen=Len(textline(1))
textlin=1

For a=1 To 2

templen=Len(textline(a))

If currlen<templen
currlen=templen
textlin=a
EndIf

Next


StartDrawing(WindowOutput())
textsize=TextLength(textline(textlin))
StopDrawing()


fontid=LoadFont(0,"ARIAL",10)

width=textsize+10

If OpenWindow(#Window_2,0, 0, width, 40, #PB_Window_BorderLess, "",WindowID(#Window_0))
ResizeWindow(textsize+10,40)
width = WindowWidth()
height=40
i = height

CreateGadgetList(WindowID(#Window_2))

If CreateImage(id,width,height)

sRed.f = Red(color1) : r.f = (Red (color1) - Red (color2))/i
sGreen.f = Green(color1) : g.f = (Green(color1) - Green(color2))/i
sBlue.f = Blue(color1) : b.f = (Blue (color1) - Blue (color2))/i

If StartDrawing(ImageOutput())

For a = 0 To i-1
xx.f = sRed - a*r
yy.f = sGreen - a*g
zz.f = sBlue - a*b
Line(0,a,width,0,RGB(xx,yy,zz))
Next a

DrawingMode(1)
FrontColor($FF,$FF,$FF)

If fontid<>0
DrawingFont(fontid)
EndIf

For a=1 To 2

If textline(a)<>""
textsize=TextLength(textline(a))
Locate((width-textsize)/2,2+((a-1)*16))
DrawText(textline(a))
EndIf

Next

StopDrawing()
EndIf


EndIf

ImageGadget(0,0,0,width,height,UseImage(id))

UpdateWindow_(WindowID(#Window_2))
lx.l=GetSystemMetrics_(#SM_CXMAXIMIZED)-(width+20)
ly.l=GetSystemMetrics_(#SM_CYMAXIMIZED)-10

For a=1 To 40
UseWindow(#Window_2)
MoveWindow(lx,ly-a)
UpdateWindow_(WindowID(#Window_2))
Delay(5)
Next

Delay(delay)

For a=1 To 40
UseWindow(#Window_2)
MoveWindow(lx,(ly-40)+a)
UpdateWindow_(WindowID(#Window_2))
Delay(5)
Next

UseWindow(#Window_0)
CloseWindow(#Window_2)
EndIf

ProcedureReturn
EndProcedure

PJ
14-04-2005, 15:31
Boas. É pá até curtia ver essa cena que fizeste, mas o link não dá. Já agora gostava de saber se posso colocar alguns programas em C que fiz. Um deles tá muito bom, é uma base de dados dos alunos para um instituto ou universade, só precisa de um arranjito para ficar melhor. LOL. Trabalha com ficheiros binários. Cumprimentos a todos. :009:

NoMercy
14-04-2005, 16:10
Boas. É pá até curtia ver essa cena que fizeste, mas o link não dá. ...
Pois :( isso estava alojado num servidor em que eu tinha uma conta (http://ceko.dyndns.org/~shownomercy/ ) infelizmente o gajo do pc onde isso tava, aconteceu-lhe alguma coisa (teve que ser operado, pelo que consegui perceber) e eu não consegui tirar o que lá estava a tempo, mas talvez o Karakatoa tenha isso.


...
Já agora gostava de saber se posso colocar alguns programas em C que fiz. Um deles tá muito bom, é uma base de dados dos alunos para um instituto ou universade, só precisa de um arranjito para ficar melhor. LOL. Trabalha com ficheiros binários. Cumprimentos a todos. :009:
Podes, claro, não sei é se deverias postar isso na internet (ou em qualquer sitio publico) contendo os dados dos alunos ... digo eu.