Clipper On Line • Ver Tópico - Atualizar SET MESSAGE

Atualizar SET MESSAGE

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

 

Atualizar SET MESSAGE

Mensagempor Daiane » 22 Out 2015 11:15

Olá pessoal,estou tentando atualizar o nome da empresa que será apresentada no SET MESSAGE.
De inicio para a empresa que esta ativa no sistema (Obs: é ativada uma empresa de cada vez no sistema) aparece a empresa normal,
o problema é quando vou mudar de empresa. Quando mudo de empresa o nome da mesma é atualizada no SET MESSAGE,pois reescrevi o codigo do SET MESSAGE
na rotina que muda a empresa,porem quando passo o mouse na linha do SET MENSAGE ele mostra o nome da primeira empresa.

O que devo fazer?
Este Method New é logo no main do sistema onde inicializo a primeira empresa para mostrar no SET MESSAGE

METHOD New() CLASS MFolha
   local i, hIniFile

   
   DEFINE BRUSH oBrush RESOURCE "#7041" // FILENAME "c:\mfolha\icons\logo.jpg"
   DEFINE ICON oIco  RESOURCE "#8001" // FILE "c:\mfolha\icons\principal.ico"

   ::sgbdInst := SGBD():getInstance(if(xteste,"c:\mfolha",""))

   DEFINE WINDOW oWnd FROM 2, 8 TO 46, 120 MDI VSCROLL HSCROLL;
      TITLE "MFOLHA" COLOR RGB( 255, 255, 255 );
      MENU  ::BuildMenu();
      BRUSH oBrush;
      ICON oIco

   
   SET MESSAGE OF oWnd TO Space(49) + "CopyRight By 3Soft Sistemas - 2011"+Space(20)+;
      "F8->Calculadora / F9->Período" + Space(20) + ::Apelido() CENTERED  KEYBOARD DATE TIME 2007
   
   oWnd:Center()
   ::oWndMain:=oWnd   
RETURN self


Aqui é a rotina que encontra o nome da empresa, KWEMPDIR é uma var de memoria,fica alocada o nome da empresa ativa
METHOD Apelido() class MFolha
   //abrearq(arquivo,modo,segundos,apelido)
   REST FROM &(SGBD():getInstance():arqParam) ADDI
  // MSGINFO(strtran(KWEMPDIR,"\"),"Apelido\Pasta da Empresa")
  ::xCaminho:= CurDrive()+":\MFOLHA\" + strtran(KWEMPDIR,"\")
RETURN ::xCaminho


Aqui já a função para mudar de empresa,onde chamo de novo o SET MESSAGE para ser atualizado

FUNCTION MFOLDIR(oWnd,lSelecionar, selecionou)
   local XEMAR, XATIVAINS, bancos,lSel:=if(VALTYPE(lSelecionar)!="L",.F.,lSelecionar)
   
   REST FROM &(SGBD():getInstance():arqParam) ADDI   //add 07/10/2015 para usar o KWEMPDIR
   
   selecionou := if(VALTYPE(selecionou)!="L",.T.,selecionou)
   
   bancos := SGBD():getInstance()
   
   XEMAR := "S"
   
   XATIVAINS:=.F.
   *if !file("C:\MFOLHA\MFOLHA.DIR")
   criarq()
   *endif
   if !lSel   
      xen := MsgNoYes("Existe empresa nova para a lista? ", "Empresas do MFOLHA")
   else               
      xen:=.T.
   endif
   
   if xen               
      IF !zerarq()
         MsgInfo("Não há empresas", "MFolha")
         IF !DlgNovaEmpresa():New2():buildDlg2()
                RETURN .F.
           ENDIF   
      ELSE      
         bancos:reindexBco(39)
      ENDIF
   endif
   
   IF(!selecionou)
      bancos:abrir(39)
      SELE 39
      DBGOTOP()
      bancos:setSubDir(DIRETORIO)
      bancos:fechar(39)
   ENDIF
      
   xbmudaremp  := XBMudarEmpresa():New2()
   lSelecionou := xbmudaremp:modalDialog(oWnd)
   
   //add 07/010/2015 as linhas abaixo para atualizar o nome do caminho da empresa quando mudar a empresa ativa
   yCaminho2:= CurDrive()+":\MFOLHA\" + strtran(KWEMPDIR,"\")
   SET MESSAGE OF oWnd TO Space(49) + "CopyRight By 3Soft Sistemas - 2011"+Space(20)+;
      "F8->Calculadora / F9->Período" + Space(20) + yCaminho2 CENTERED  KEYBOARD DATE TIME 2007

return lSelecionou
XHb 1.2.1 + FW 12.05 + Pelles C IDE
"Eu adoraria mudar o mundo, mas não me deram o código-fonte."
Avatar de usuário

Daiane
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 122
Data de registro: 28 Out 2014 15:19
Cidade/Estado: Feira de Santana - BA
Curtiu: 27 vezes
Mens.Curtidas: 13 vezes

Atualizar SET MESSAGE

Mensagempor Kapiaba » 22 Out 2015 14:59

Se entendi, o melhor é você deixar os dados da empresa e apelido, no TITULO DA JANELA, como na imagem abaixo, pois ai, você pode trocar em tempo real, já no SET MESSAGE não, pois sempre que o usuário passar o mouse em cima da BUTTOBAR ou BOTÕES, ela voltará a mensagem original. Veja onde está escrito PETSHOP.

Imagem
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Atualizar SET MESSAGE

Mensagempor Kapiaba » 22 Out 2015 15:25

Outra idéia, mas mesmo assim não acho viável... Mas... Abs

#include "FiveWin.ch"

static oWnd

static cMessage

function Main()

   cMessage := "FiveWin power!"

   DEFINE WINDOW oWnd TITLE "Menu test" MENU BuildMenu()

   SET MESSAGE OF oWnd TO  cMessage

   ACTIVATE WINDOW oWnd ON PAINT( NOVA_EMPRESA( cMessage ) )

return nil

function BuildMenu()

   local oMenu

   MENU oMenu
     MENUITEM "One"   ACTION oWnd:oMsgBar:SetText( "One" )
     MENUITEM "Two"   ACTION oWnd:oMsgBar:SetText( "Two" )
     MENUITEM "Three" ACTION oWnd:oMsgBar:SetText( "Three" )
   ENDMENU

return oMenu

FUNCTION NOVA_EMPRESA( cMessage )

   oWnd:oMsgBar:SetText( "Apelido da Empresa" )

RETURN( cMessage )


Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes




Retornar para FiveWin

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro