高考在即,我想着在我们班电脑上装一个小程序来警醒我们距离高考的时间,可翻了一下,网上似乎并没有合意的小程序,而我又是一个野生程序猿,于是就决定自己开始开发一个高考倒计时小程序

计划 & 准备

这是我第一次开发这种项目,完备的计划当然是必不可少的啦

  • 基本功能

    实现高考倒计时显示

  • 程序语言

    我最擅长的桌面编程语言是C++和C#,但是因为需要使用圆形窗口,而我只有C++圆形窗口界面设计的经验,所以这次选择使用C++

    • 前端:Html + Css + Tiscript
    • 后端:C++
  • 界面设计

    默认采用无边圆形窗口,用户可自定义选择矩形窗口,后期会陆续添加更多自定义的窗口,界面库使用开源的Sciter库,这个库支持使用Html编辑界面,相对来说会使界面设计变得更容易一些

  • 开发环境

    • 前端:Visual Studio Code + Sciter(这个界面库自带的预览工具)
    • 后端:Visual Studio 2015(VS2015用到2020了,没更新过QAQ)

问题解决 & 编程笔记

问题的解决方法会以分页的形式,单独腾出一页来叙述

  • 问题解决

    1. 动态加载样式表

      由于内测版本功能简单,我在内测时并未遇到这个问题,而新版本要求可以自定义窗口样式(初步规划两种窗口,后期陆续添加),于是就碰到了这个问题

      第二页

    2. 创建子窗口 这个窗口指的是用户的设置窗口 第三页

  • 编程笔记

    1. HTML中有几个块级元素

动态加载样式表


创建子窗口

Tiscript中创建窗口主要会用到两个函数

view.window();
view.dialog();
  • view.window(params:object) : View //创建一个普通窗口,返回一个view对象

    params是一个对象,它可以包含以下字段:

    • type – int, 窗口类型,有以下几种选择

      • View.FRAME_WINDOW 普通窗口
      • View.TOOL_WINDOW 工具窗口,像消息框就属于工具窗口
      • View.POPUP_WINDOW 置顶窗口,它位于所有窗口之上
    • url – string, 加载到该窗口的文档的url

    • html – string, 加载到窗口的内容。url或者html必须提供其中之一

    • x,y,width, height – integers, 窗口的坐标和尺寸。如果省略则会根据所给的文档的内在尺寸来自动计算

    • client – true | false, 如果为true,则上面的x,y, width, height为客户区域(而不是窗口盒)的坐标

    • state – integer, 窗口的初始状态

      • View.WINDOW_SHOWN 显示
      • View.WINDOW_HIDDEN 隐藏
      • View.WINDOW_MINIMIZED 最小化
      • View.WINDOW_MAXIMIZED 最大化
      • View.WINDOW_FULL_SCREEN 全屏
    • parameters – object, 传递的参数,它会放到新创建窗口的view.parameters变量中,这是一个可以自定义的结构体,用于父子窗口间传递参数

    • caption – string, 窗口标题

    • alignment – integer, 窗口相对于屏幕或父窗口的位置, 为-1 ~ -9时是相对于父窗口位置。这个参数很巧妙的用数字小键盘上的相对位置来描述窗口在指定参考系(屏幕或父窗口)的上的位置,例如5在小键盘的正中央,输入5(正)时就表示窗口相对于屏幕位于正中央,输入-5(负(父fù)))时就表示窗口相对于父窗口位于正中央,真是妙啊!

      7 8 9

      4 5 6

      1 2 3

    • screen – integer, 0 .. View.screens – 1, 如果alignment是1..9,则该字段决定该窗口显示在哪个屏幕/监视器。可选参数。

    要创建一个单独的窗口时,调用这个函数

    它相当于MFC中的Window.Show()

    *使用View类,而不是view实例: View.window(…)。

  • view.dialog( creationParams:object ) :undefined //创建一个模态对话框

    creationParams参数是一个对象,它可以包含以下字段

    • url – string, 加载到窗口中的文档的url

    • html – string, 加载到窗口中的内容。url或者html必须提供其中之一

    • x,y, width, height – 同上

    • client – true | false, 如果为true,则上面的x,y, width, height为客户区域(而不是窗口盒)的坐标;

    • parameters – 同上

    • caption – string, 窗口标题

    • alignment – integer 同上

    • screen– integer 同上

      这个函数相当于是MFC里的DoModle(),创建一个对话框

说点什么
欢迎大家加入讨论(评论规则还在编写,咕咕咕)
由于博主学业繁忙,新评论可能需要很长时间才能过审,还请见谅
头像
支持Markdown语法
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...