No vídeo de hoje, vamos demonstrar quais são os botões disponíveis para usar em uma FormBatch.
A dúvida de hoje, nos perguntaram, quais tipos de botões poderiam ser usados em uma FormBatch, se teria como colocar por exemplo “Incluir”, “Excluir”, entre outros.
Pensando nisso, montamos esse exemplo, onde demonstramos a utilização da classe SButton, e os 23 tipos de botões que existem, com isso podendo usar na FormBatch.
Segue abaixo o vídeo exemplificando:
E abaixo o código fonte desenvolvido:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zVid0105 Vamos demonstrar quais botões podem ser usados num FormBatch @type Function @author Atilio @since 06/03/2024 @obs Abaixo a lista de botões (veja em https://tdn.totvs.com/display/tec/Construtor+SButton%3ANew) 01 = OK 02 = Cancelar 03 = Excluir 04 = Incluir 05 = Parâmetros 06 = Imprimir 07 = Susp. Impr. 08 = Cancelar Impressão 09 = Ordem 10 = Prioridade 11 = Editar 12 = Ouvir 13 = Salvar 14 = Abrir 15 = Visualizar 16 = Cond. Neg. 17 = Filtrar 18 = Financ. 19 = Avançar 20 = Voltar 21 = Avançar 22 = Voltar 23 = Gráfico /*/ User Function zVid0105() Local aArea := FWGetArea() //Monta uma dialog de Exemplo, conforme disponível no TDN - fExempBtn() //Agora monta um FormBatch com alguns botões fExempForm() FWRestArea(aArea) Return Static Function fExempBtn() Local aArea := FWGetArea() Local oDlgBtn Local nJanAltu := 300 Local nJanLarg := 300 Local lDimPixels := .T. Local lCentraliz := .T. Local bBlocoIni := {|| } Local cJanTitulo := "Exemplo de SButton" //Fonte usada Local cFontNome := 'Tahoma' Local oFontPadrao := TFont():New(cFontNome, , -12) //Colunas dos objetos Local nColunaA := 001 Local nColunaB := 031 Local nColunaC := 061 Local nColunaD := 091 Local nColunaE := 121 //Objetos dentro da Janela Local oSayTip01, oBtnTip01 Local oSayTip02, oBtnTip02 Local oSayTip03, oBtnTip03 Local oSayTip04, oBtnTip04 Local oSayTip05, oBtnTip05 Local oSayTip06, oBtnTip06 Local oSayTip07, oBtnTip07 Local oSayTip08, oBtnTip08 Local oSayTip09, oBtnTip09 Local oSayTip10, oBtnTip10 Local oSayTip11, oBtnTip11 Local oSayTip12, oBtnTip12 Local oSayTip13, oBtnTip13 Local oSayTip14, oBtnTip14 Local oSayTip15, oBtnTip15 Local oSayTip16, oBtnTip16 Local oSayTip17, oBtnTip17 Local oSayTip18, oBtnTip18 Local oSayTip19, oBtnTip19 Local oSayTip20, oBtnTip20 Local oSayTip21, oBtnTip21 Local oSayTip22, oBtnTip22 Local oSayTip23, oBtnTip23 //Cria a dialog oDlgBtn := TDialog():New(0, 0, nJanAltu, nJanLarg, cJanTitulo, , , , , , /*nCorFundo*/, , , lDimPixels) //Primeira linha (tipo 01 ao 05) oSayTip01 := TSay():New(001, nColunaA, {|| "Tipo 01:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip02 := TSay():New(001, nColunaB, {|| "Tipo 02:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip03 := TSay():New(001, nColunaC, {|| "Tipo 03:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip04 := TSay():New(001, nColunaD, {|| "Tipo 04:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip05 := TSay():New(001, nColunaE, {|| "Tipo 05:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oBtnTip01 := SButton():New(011, nColunaA, 01, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip02 := SButton():New(011, nColunaB, 02, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip03 := SButton():New(011, nColunaC, 03, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip04 := SButton():New(011, nColunaD, 04, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip05 := SButton():New(011, nColunaE, 05, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) //Segunda linha (tipo 06 ao 10) oSayTip06 := TSay():New(031, nColunaA, {|| "Tipo 06:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip07 := TSay():New(031, nColunaB, {|| "Tipo 07:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip08 := TSay():New(031, nColunaC, {|| "Tipo 08:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip09 := TSay():New(031, nColunaD, {|| "Tipo 09:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip10 := TSay():New(031, nColunaE, {|| "Tipo 10:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oBtnTip06 := SButton():New(041, nColunaA, 06, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip07 := SButton():New(041, nColunaB, 07, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip08 := SButton():New(041, nColunaC, 08, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip09 := SButton():New(041, nColunaD, 09, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip10 := SButton():New(041, nColunaE, 10, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) //Terceira linha (tipo 11 ao 15) oSayTip11 := TSay():New(061, nColunaA, {|| "Tipo 11:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip12 := TSay():New(061, nColunaB, {|| "Tipo 12:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip13 := TSay():New(061, nColunaC, {|| "Tipo 13:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip14 := TSay():New(061, nColunaD, {|| "Tipo 14:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip15 := TSay():New(061, nColunaE, {|| "Tipo 15:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oBtnTip11 := SButton():New(071, nColunaA, 11, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip12 := SButton():New(071, nColunaB, 12, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip13 := SButton():New(071, nColunaC, 13, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip14 := SButton():New(071, nColunaD, 14, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip15 := SButton():New(071, nColunaE, 15, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) //Quarta linha (tipo 16 ao 20) oSayTip16 := TSay():New(091, nColunaA, {|| "Tipo 16:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip17 := TSay():New(091, nColunaB, {|| "Tipo 17:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip18 := TSay():New(091, nColunaC, {|| "Tipo 18:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip19 := TSay():New(091, nColunaD, {|| "Tipo 19:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip20 := TSay():New(091, nColunaE, {|| "Tipo 20:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oBtnTip16 := SButton():New(101, nColunaA, 16, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip17 := SButton():New(101, nColunaB, 17, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip18 := SButton():New(101, nColunaC, 18, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip19 := SButton():New(101, nColunaD, 19, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip20 := SButton():New(101, nColunaE, 20, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) //Quinta linha (tipo 21 ao 23) oSayTip21 := TSay():New(121, nColunaA, {|| "Tipo 21:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip22 := TSay():New(121, nColunaB, {|| "Tipo 22:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oSayTip23 := TSay():New(121, nColunaC, {|| "Tipo 23:"}, oDlgBtn, /*cPicture*/, oFontPadrao, , , , lDimPixels, /*nClrText*/, /*nClrBack*/, 30, 10, , , , , , /*lHTML*/) oBtnTip21 := SButton():New(131, nColunaA, 21, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip22 := SButton():New(131, nColunaB, 22, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) oBtnTip23 := SButton():New(131, nColunaC, 23, {|| Alert('Tst')}, oDlgBtn, .T., /*cMsg*/, /*bWhen*/) //Ativa e exibe a janela oDlgBtn:Activate(, , , lCentraliz, , , bBlocoIni) FWRestArea(aArea) Return Static Function fExempForm() Local aArea := FWGetArea() Local aTexto := {} Local aBotoes := {} Local nContinua := 0 Local cTitulo := "Processamento de Dados" //Monta o texto que será exibido na tela aAdd(aTexto, "Essa é uma rotina para processamento de informações") aAdd(aTexto, "--") aAdd(aTexto, "Abaixo uma estrófe da música tema do Duck Dodgers:") aAdd(aTexto, "Duck Dodgers of the twenty-four and a half century") aAdd(aTexto, "Protecting the powerless and the weak") aAdd(aTexto, "Duck Dodgers he s fighting tyranny") aAdd(aTexto, "In the twenty-four and a half century") //Monta os botões que serão exibidos aAdd(aBotoes, {01, .T., {|| nContinua := 1, FechaBatch()} }) //01 = Confirmar aAdd(aBotoes, {02, .T., {|| nContinua := 2, FechaBatch()} }) //02 = Cancelar aAdd(aBotoes, {14, .T., {|| Alert("Abrindo")} }) //14 = Abrir aAdd(aBotoes, {17, .T., {|| Alert("Filtrando")} }) //17 = Filtrar //Abre a tela FormBatch(cTitulo, aTexto, aBotoes) //Se o usuário clicou no Confirmar If nContinua == 1 //Aqui você aciona a sua função se o usuário clicou no botão confirmar EndIf FWRestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.