Re[2]: Открыть диалоговое окно из GO
От: Serg  
Дата: 12.11.19 16:29
Оценка:
Здравствуйте, c-smile
А как у диалогового окна открыть еще одно диалоговое окно.
Как я понимаю view надо на что то поменять?




package main

import (
    "io/ioutil"
    "log"
    "os"
    "path/filepath"
    "strings"

    "github.com/sciter-sdk/go-sciter"
    "github.com/sciter-sdk/go-sciter/window"
)

var Dir, File string


func main() {
    dir, err := ioutil.TempDir("", "example")
    Dir = dir
    defer os.RemoveAll(dir)
    w, err := window.New(sciter.SW_TITLEBAR|sciter.SW_RESIZEABLE|sciter.SW_CONTROLS|sciter.SW_MAIN|sciter.SW_ENABLE_DEBUG, nil)
    tmpfn := filepath.Join(Dir, "1.htm")
    if err := ioutil.WriteFile(tmpfn, []byte(form_menu()), 0644); err != nil {
      log.Fatal(err)
    }

    File = strings.Replace(tmpfn, "\\", "/", -1)
    if err != nil {
       log.Fatal("Create Window Error: ", err)
    }
    w.LoadFile(File )
    setEventHandler(w)
    w.Show()
    w.Run()
}

func setEventHandler(w *window.Window) {
    w.DefineFunction("opendialog", func(args ...*sciter.Value) *sciter.Value {
        return sciter.NewValue(File)
    })
}


func form_menu() string {

    return `
<html>
   <head>
     <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
     <title>Телефонные счета</title>
     <style>
        button > menu { width:*; }
        popup { background:black; padding:1em; border:1px solid; prototype: PopupDialog; }
     </style>
     <script type="text/tiscript">
        function showDialog(r) {
           var result = view.dialog { url: r };
           return result; 
        }
        self#sotr.on("click", function(){             
            var r = view.opendialog("opendialog",""); 
            showDialog(r);
        })
     </script>

   </head>
   <body>
      <button|menu #main>Справочники
        <menu>
          <li #sotr>Сотрудники</li>
        </menu>
      </button>
   </body>
</html>
`
}
Отредактировано 13.11.2019 7:35 Serg . Предыдущая версия . Еще …
Отредактировано 12.11.2019 16:30 Serg . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.