[Código] c# - Message Window

Karakatoa

Power Member
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:
 
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.
 
A versão PureBasic :004:

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

Código:
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
 
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:
 
Paulo Jorge disse:
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.

Paulo Jorge disse:
...
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.
 
Back
Topo