精华内容
下载资源
问答
  • touchGFX手环滚动菜单的实现() 文章目录touchGFX手环滚动菜单的实现()前言1.图片控件的使用2.文字控件的使用3.自定义容器的使用4.滚动控件的使用后记 前言 本系列文章由萧萧宵小(wurendikunn@outlook.com)...

    touchGFX手环滚动菜单的实现(一)

    前言

    本系列文章由萧萧宵小(wurendikunn@outlook.com)编写,转载请注明出处。

    文章链接:https://blog.csdn.net/qq_33350808/article/details/108326251

    本文涉及到的软件为touchGFX Designer 4.13.0。本文学习如何实现手环中滚动菜单,希望在具体实例中学习各种控件的使用,在学习过程中会涉及到图片控件、文字控件、自定义容器、滚动控件、动作事件等等。内容过多,分几次发布。

    首先学习图片控件、文字控件、自定义容器和滚动控件的使用,完成滚动菜单的UI设计。

    1.图片控件的使用

    touchGFX的图片控件一共有五种,如下图所示:
    图片控件
    分别为

    1. Image:普通图片

    2. Scalable Image:可拉伸的图片

    3. Tiled Image:平铺图片,可以理解为花纹图片

    4. Animated Image:动画图片,即用一系列图片帧实现简易的动画播放

    5. Texture Mapper:三维图片,可以让图片调整三个维度的数值,实现3D效果。

    大家可以试试将图片控件拖到主屏幕,并观察有哪些参数可以修改。

    这里简单讲一下图片导入的注意事项:

    1. 图片导入可以直接将可以使用的图片复制到项目目录下的"TouchGFX\assets\images"中
    2. 图片的名字使用英文,图片的格式为PNG
    3. 导入图片之前应该依据UI界面的大小调整其尺寸,千万不要想着用可拉伸的图片控件在项目中再修改图片尺寸,因为项目在编译时会将原大小的图片作为图片资源保存到项目。如果将一个150*150的图片放入资源库,结果只用了50*50的尺寸,就会造成内存的巨大浪费,毕竟嵌入式中flash空间有限。
    4. 图片参数中的图片名应该像撰写代码变量名一样规范,因为在之后的逻辑代码编写中就是直接引用图片名。

    2.文字控件的使用

    文字控件很简单,就在混合控件中的Text Area。但是要使用文字控件还需要配合文字资源设置。
    文字控件
    先尝试将其拖入主区域,选中控件,并将其内容改为"Hello World!",具体属性如下所示:
    文字控件属性

    依次说明:

    1. 控件名:最好按照代码变量规范来命名

    2. 调整位置以及大小

    3. 选择单次使用还是多次使用

    4. 显示的内容,所见即所得

    5. 通配符功能(这个之后会讲)

    6. 选择文字的字体(之后文字资源那里有设置)

    7. 排版就是左对齐、居中、右对齐

    8. 文字的颜色

    9. 文字的透明度

    10. 文字翻转的角度

    接下来观察文字资源管理设置:
    单个文字配置

    如图所示的是单个文字的资源配置,大部分都能理解,不需要额外讲解了,可以看到多出一个添加语言的功能。没错,如你所想,touchGFX的UI中可以设置多个国家的语言,让产品在出口到国外时没有任何障碍。如何使用这个功能我之后会讲。

    接下来是多次使用文字资源的配置:
    多次文字资源使用配置
    和上一个配置参数相比多了添加资源、引用次数和资源ID,很好理解,需要注意的是资源ID同样需要用代码变量的命名规范,以便之后代码的编写。

    接下来是字体设置:
    字体设置
    内容较多,分别写一下:

    1. 字体设置选项

    2. 添加新的字体

    3. 被引用的次数

    4. 字体的名称,这个设置完之后会在字体控件的字体选择里面找到

    5. 选用的字体,会应用当前电脑存有的字体配置,不过在显示比如宋体之类的中文字体选项时有点bug

    6. 字体的大小,touchGFX的字体大小没有办法在文字控件里面设置,只能统一在字体设置中

    7. 像素深度,有1、2、4

    8. 缺省值字符,这个是用于通配符无法找到时显示的默认值的,之后的选项全部是有关通配符。

    9. 通配符字符,可以写单个要使用的通配符

    10. 控件通配符字符,同上

    11. 通配符的范围,比如设置"0-9",就可以在通配符中显示数字了。如果输入范围外的字符,就会显示之前设置的缺省值了。

    12. 省略字符,暂时不知道用处

    这里引出一个touchGFX中文字管理的重要内容:通配符(Wildcard)。因为在UI中不可能总是显示预定好的字符,也存在从外界获得的额外字符(比如温度传感器的数值,手机传过来的通知等等),这时候就需要额外的点阵图来显示未知的字符。touchGFX为了严格管理字符点阵图的内存大小,也不可能将所有的字符的点阵图存储进去,所以需要在这里指定可能用到的字符的范围。

    3.自定义容器的使用

    由于touchGFX自带的控件并不多,想实现额外的功能只能使用自定义容器,它可以将单个的控件组合起来形成一个复合的控件来使用,这样也有利于批量控件的整理。

    上面已经学会了图片和文字控件的使用,这里制成一个简单的自定义容器供滚动菜单使用。

    首先建立一个新项目,项目模版选择PC纯仿真(如果你有ST的官方开发板,也可以选择自己的,这样就可以欣赏实际效果了),UI模版选择空,由于手环很小,大小就选240*240。进入项目,首先配置好要用的图片资源和文字资源,网上随便找找即可,大家可以根据自己喜好来选择。下面是我自己插入的图片资源。
    图片资源
    文字资源
    步骤:

    1. 将准备好的图片复制到项目目录下的"TouchGFX\assets\images"中,确保图片的路径不含中文,同时图片格式要适当,我这里用的是64*64的PNG格式图片。
    2. 在文字字体配置界面新建一个中文字体,字体大小设为20,我这里使用的字体格式是youyuan(幼圆)
    3. 在文字资源配置界面新建一些字符,要和图标一一对应

    需要注意的是红框框出来的地方,有些会在之后的编程中用到,中文字体的选择需要先在字体资源配置中添加一个新的字体。不同语言我只添加了中文和英文,之后会用到。

    完成图片和文字资源的配置之后,点开自定义容器并新建一个,拖动一个图片控件和一个文字控件并调整好位置。
    自定义容器设置
    步骤:

    1. 新建一个文字控件拖到自定义容器中,NAME属性改为iconText,文字选用TEXT Resource中的内容。
    2. 新建一个图片控件拖到自定义容器中,NAME熟悉改为icon,IMAGE选用之前导入的图片。
    3. 修改自定义容器的大小和所有控件的位置,将NAME改为StartMenu。

    其中文件控件选择刚才创建的文字资源,图片同理。注意红框中各个控件的名称,这些在之后的编程中也会用到(可以根据个人喜好修改)。

    4.滚动控件的使用

    接下来添加一个主界面,再将ScrollWhell控件和Box控件拖入其中,其中Box控件放在下面,填充整个界面当作背景。
    滚动控件
    步骤:

    1. 新建一个文字控件拖到自定义容器中,NAME属性改为iconText,文字选用TEXT Resource中的内容。
    2. 新建一个图片控件拖到自定义容器中,NAME熟悉改为icon,IMAGE选用之前导入的图片。
    3. 修改自定义容器的大小和所有控件的位置,将NAME改为StartMenu。

    其中文件控件选择刚才创建的文字资源,图片同理。注意红框中各个控件的名称,这些在之后的编程中也会用到(可以根据个人喜好修改)。

    后记

    至此滚动菜单显示的UI已经制作完成,下一章完成后台的逻辑控制。

    本系列文章总目录:touchGFX学习记录

    展开全文
  • 我有一个内部网页,它有一个大的导航栏,如果用户有一个小型监视器,导致子菜单显示在屏幕之外。我的想法是使用导航栏滚动,但是当我使用CSS中的溢出时,当子菜单打开时会出现垂直滚动条。我希望子菜单显示包含导航...

    我有一个内部网页,它有一个大的导航栏,如果用户有一个小型监视器,导致子菜单显示在屏幕之外。我的想法是使用导航栏滚动,但是当我使用CSS中的溢出时,当子菜单打开时会出现垂直滚动条。我希望子菜单显示包含导航栏的div的OUTSIDE。我愿意接受所有想法,包括必要时重新整理我的网页。带子菜单的HTML水平滚动导航栏

    样本HTML是:

    而且我使用的CSS是(我发现这W3schools.com CSS):

    div.scrollmenu {

    background-color: #333;

    overflow: auto;

    white-space: nowrap;

    width: 50%;

    }

    div.scrollmenu a {

    display: inline-block;

    /*color: white;*/

    text-align: center;

    padding: 14px;

    text-decoration: none;

    }

    div.scrollmenu a:hover {

    background-color: #777;

    }

    我遇到的问题是,在为了得到滚动条,我必须使用CSS中的overflow:auto设置。但是当我这样做时,它会导致子菜单出现在同一个div中,导致在显示子菜单时出现垂直滚动条。如果没有溢出设置,子菜单将显示在所需行为的div之外;但是,当然,滚动条不会出现。

    请帮忙。

    仅供参考,我准备在周末回家,并在周一跟进。

    在此先感谢。

    +0

    你为什么不使用媒体查询? –

    +0

    好主意,但我不会跑遍同一个问题,除非我完全重新编写了小屏幕导航栏? –

    +0

    您是否正在制作移动友好的内联网页?如果没有,那么您对此有多少更小的屏幕? –

    展开全文
  • 这是j'qu'ery专门介绍superslide2的网址,很有用的一个网站:http://www.superslide2.com/demo.html 1、进入网站后可看到superslide能够实现的网页滑动效果。点击如何使用,教程专门介绍该插件用法。 2、先将...

    以下是我个人初步接触的感悟,借此宝地记录下来。这是j'qu'ery专门介绍superslide2的网址,很有用的一个网站:http://www.superslide2.com/demo.html

    1、进入网站后可看到superslide能够实现的网页滑动效果。点击如何使用,有教程专门介绍该插件用法。

    2、先将各种插件引用哦那个到网页页面。


    3、编写div引用css样式,核心实现代码也是将调用css(调用slideTxtBOx)样式来实现滑动效果。


    4、列子里的css样式:

    4、核心引用jquery代码,如不是html结构,请添加titlecell,maincell等参数


    5、superslide参数览


    展开全文
  • 使用C++编写一个可视化窗口

    千次阅读 多人点赞 2021-02-17 04:01:49
    初学C++时,控制台会给我们提供一个黑窗口,而这篇文章所做的就是:创建一个属于图形界面窗口,而不是使用控制台黑窗口 如图,这是一个标题为XSZY的窗口 看完这篇文章,你想要的窗口大小,图标等都可以自己定义 甚至...

    初学C++时,控制台会给我们提供一个黑窗口,而这篇文章所做的就是:创建一个属于图形界面窗口,而不是使用控制台黑窗口

    如图,这是一个标题为XSZY的窗口
    这都是自定义的
    一个标题为XSZY的窗口

    所有有关视窗的基本函数和类型都定义在头文件 <windows.h> 中
    我们只需要引用就好了

    //引用头文件 windows.h
    #include<windows.h> 
    

    然后定义程序的入口函数main

    int __stdcall WinMain(HINSTANCE hInst,
    				 HINSTANCE hPrev,
    				  LPSTR lpCmdLine,
    				   int nCmdShow)
    {}
    

    说到这个入口函数,其实使用main()也是可以的

    	int main() {}
    	int main(int argc, char** argv) {}
    	int main(int argc, char* argv[]) {}
    

    其实C++定义了很多程序入口,只要程序中包含其中一个,程序就可以运行了

    而WinMain的声明同样也是有依据可寻的

    在头文件 <winbase.h> 中, 有这样两句话
    	
      int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd);
      int WINAPI wWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd);
    
    它们分别声明了两种程序入口
    WinMain 和 wWinMain 
    
    wWinMain 是 WinMain 的宽字符版本, 形参列表中的LPWSTR说明了这个事实
    顺带说一下吧 基本所有的函数、类型、结构体、宏等都带有A 和 W,
    比如 WNDCLASSA 和 WNDCLASSW
     一般A是窄字符, W是宽字符
     LPSTR 其实就是 char*  ; 而LPWSTR 是 wchar_t*
     表示宽字符时需要标记L 
     比如定义宽字符串HelloWorld应该写为 L"HelloWorld!" ,系统就会识别为宽字符了
    

    说了这么多,该定义窗口实例句柄了
    这是用来指向一个实例( instance ) 的类型 HINSTANCE
    前缀H就是Handle句柄的意思, instance就是实例的意思

    这个句柄的作用就是:指定一个窗口实例

    如果你使用的时WinMain,那么可以选择直接使用形参表中的第一个或第二个参数,但是如果你使用的时int main(),那么就需要定义一个新的实例句柄

    int WINAPI WinMain(HINSTANCE hInst,  //可以使用这个
    				HINSTANCE hPrev,   //也可以使用这个(习惯上使用上面的)
    				LPSTR lpCmdLine,
    				int nShowCmd)
    {}
    
    int main()
    {
    	HINSTANCE hInst;  //定一个新的实例句柄
    }
    

    定义来有什么用呢?
    我们需要做一个窗口,就需要创建它,而定义它的标准,是由结构体WNDCLASS来完成的,能够让窗口和窗口结构体链接上的,需要实例句柄一致,并且和窗口类名一致

    窗口类在 <winuser.h> 中的定义

    typedef struct tagWNDCLASSA {
        UINT style;
        WNDPROC lpfnWndProc;
        int cbClsExtra;
        int cbWndExtra;
        HINSTANCE hInstance;
        HICON hIcon;
        HCURSOR hCursor;
        HBRUSH hbrBackground;
        LPCSTR lpszMenuName;
        LPCSTR lpszClassName;
      } WNDCLASSA,*PWNDCLASSA,*NPWNDCLASSA,*LPWNDCLASSA;
    
      typedef struct tagWNDCLASSW {
        UINT style;
        WNDPROC lpfnWndProc;
        int cbClsExtra;
        int cbWndExtra;
        HINSTANCE hInstance;
        HICON hIcon;
        HCURSOR hCursor;
        HBRUSH hbrBackground;
        LPCWSTR lpszMenuName;
        LPCWSTR lpszClassName;
      } WNDCLASSW,*PWNDCLASSW,*NPWNDCLASSW,*LPWNDCLASSW;
    

    我们需要对其成员进行填充, 不然编译器无法为它分配内存,就会报错的。

    解释:style 是窗口样式
    		lpfnWndProc 是回调函数(等会再说)
    		cbClsExtra 是窗口类拓展 一般无拓展
    		cbWndExtra 是窗口扩展 一般无拓展
    		hInstance 就是实例句柄,需要将其定义为我们刚刚定义的实例句柄
    		hIcon 窗口的图标
    

    图标示意图

    	hCursor是鼠标
    	lpszMenuName 菜单名 一般为空
    	lpszClassName 窗口类名
    

    现在可以把我们需要的赋值, 不需要的全部memset为0

    WNDCLASSA wc;
    memset(&wc, 0, sizeof(wc));
    wc.lpszClassName = "WindowClassName";
    wc.hInstance = hInst;
    wc.lpfnWndProc = ; //回调函数
    

    回调函数是用来处理消息的
    在消息循环的过程中,消息被分发到回调函数,回调函数内的代码提供操作

    定义回调函数

    long long WINAPI WndProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
    {
    	return DefWindowProc(hwnd, msg, wp, lp);
    }
    

    此时给lpfnWndProc复制只用函数名即可

    wc.lpfnWndProc = WndProc;
    

    定义窗口结构体也可以使用WNDCLASSEX(拓展过的窗口类)

    WNDCLASSEXA wc;
    wc.cbSize = sizeof(WNDCLASSEXA);
    wc.hInstance = hinst;
    wc.lpfnWndProc = WndProc;
    wc.lpszClassName = "WindowClassName";
    

    使用拓展类可以给成员cbSize赋值,就可以正确分配内存了

    定义完窗口类,应该向Windows注册窗口,让它授权创建一个带有此窗口类的窗口
    
    RegisterClassA(&wc);
    

    注册完之后,就要将窗口创建到窗口句柄中了
    窗口句柄类型 HWND
    创建窗口的函数很长,如果你没有使用EX的结构体,创建窗口的函数大体如下

    CreateWindow(窗口类名,窗口标题,窗口风格,窗口的位置x, y, 窗口宽, 窗口长,父窗口,菜单,实例句柄,附加函数);
    
    窗口类名需要和窗口结构体的类名lpszClassName一致,实例句柄也必须引用同一个
    CreateWindowA 和 CreateWindowW 的区别不用我重申了吧
    
    如果你使用了WNDCLASSEX的结构体
    那么创建窗口相应地得加上EX
    CreateWindowEx(窗口拓展风格,...);后面和CreateWindow一样,只是在CreateWindow的基础上在前面添加了一个拓展风格的形参,一般我会使用客户区的拓展(WS_EX_CLIENTEDGE)
    

    代码:

    HWND hwnd = CreateWindowA("WindowClassName", 
    						"XSZY",
    						WS_OVERLAPPEDWINDOW,
    						100, 100,
    						640, 480,
    						NULL, NULL, hInst, NULL);
    

    其他的比较好理解,就是窗口风格是不是看不懂?
    它是一个宏定义
    一共有这些宏定义表示窗口的风格,要添加多个就使用按位OR(|)运算符就可以了

    #define WS_OVERLAPPED __MSABI_LONG(0x00000000) //窗口的基本样式
    #define WS_POPUP __MSABI_LONG(0x80000000) //弹出式窗口
    #define WS_CHILD __MSABI_LONG(0x40000000)  //子窗口(指嵌在主窗口内部的子窗口)
    #define WS_MINIMIZE __MSABI_LONG(0x20000000) //最小化
    #define WS_VISIBLE __MSABI_LONG(0x10000000) //可见
    #define WS_DISABLED __MSABI_LONG(0x08000000)
    #define WS_CLIPSIBLINGS __MSABI_LONG(0x04000000)  
    #define WS_CLIPCHILDREN __MSABI_LONG(0x02000000)
    #define WS_MAXIMIZE __MSABI_LONG(0x01000000) //最大化
    #define WS_CAPTION __MSABI_LONG(0x00C00000)  //标题栏
    #define WS_BORDER __MSABI_LONG(0x00800000)   //边框
    #define WS_DLGFRAME __MSABI_LONG(0x00400000) //对话框风格(只有一个叉叉)
    #define WS_VSCROLL __MSABI_LONG(0x00200000) //竖滚动轴
    #define WS_HSCROLL __MSABI_LONG(0x00100000) //横滚动轴
    #define WS_SYSMENU __MSABI_LONG(0x00080000) //系统菜单(如果只添加了这个风格就和对话框一样)
    #define WS_THICKFRAME __MSABI_LONG(0x00040000) //可变大小
    #define WS_GROUP __MSABI_LONG(0x00020000)  
    #define WS_TABSTOP __MSABI_LONG(0x00010000)
    #define WS_MINIMIZEBOX __MSABI_LONG(0x00020000)  //最小化控件框
    #define WS_MAXIMIZEBOX __MSABI_LONG(0x00010000)  //最大化控件框
    #define WS_TILED WS_OVERLAPPED
    #define WS_ICONIC WS_MINIMIZE
    #define WS_SIZEBOX WS_THICKFRAME
    #define WS_TILEDWINDOW WS_OVERLAPPEDWINDOW
    
    #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
    #define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
    #define WS_CHILDWINDOW (WS_CHILD)
    

    这里有可能会失败,所以添加一条判断:

    if(hwnd == NULL) 
    	return -1;
    

    如果你刚刚已经添加WS_VISIBLE 那么这一步可以省略
    因为我这一步要设置窗口可见
    ShowWindow函数就能够提供此功能

    ShowWindow(hwnd, SW_SHOW);
    

    SW_SHOW是一个宏,表示显示窗口
    可用的还有SW_HIDE等宏,这里就不详细说了,可以在头文件 <winuser.h>中找到

    最后是消息循环
    消息结构体是MSG 消息循环的三个函数都要用到MSG类
    所以定义一个先

    MSG msg;
    

    消息循环的过程应该是获得消息–>处理消息–>执行操作三步,分别对应三个函数

    获得消息GetMessage(LPMSG, HWND,UINT,UINT)
    处理消息(编码处理)TranslateMessage(LPMSG)
    执行操作要在回调函数里执行,但是我们需要将消息发送给回调函数,这个函数是DispatchMessage(LPMSG)
    
    LPMSG 理解为MSG的指针
    
    为了不断处理消息,应该设置一个循环while(true)
    在它的循环体内,写一个判断:如果收到消息,处理并分发消息
    代码如下
    
    while(true) if(GetMessage(&msg, NULL, 0, 0)
    {
    		TranslateMessage(&msg);
    		DispatchMessage(&msg);
    }
    

    HWND之所以没有锁定为hwnd,是因为别的消息它也要接受的

    消息发到回调函数了,但是回调函数现在还是这样的:

    long long WINAPI WndProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
    {
    	return DefWindowProc(hwnd, msg, wp, lp);
    }
    

    并不能处理消息。
    消息传过去后,msg,wp,lp三个参数负责接收消息,而msg是区分各个消息的
    现在先让我们处理窗口关闭的消息,不然关不了
    做法很简单,在return上面加上一个switch来分发消息(当然你用if else if 也行)

    switch(msg)
    {
    	
    }
    

    窗口关闭、破坏、退出分别是一个消息,都由宏来定义
    WM_CLOSE 关闭
    WM_DESTROY 破坏
    WM_QUIT 退出

    我们只要让发生时退出就行了

    switch(msg)
    {
    	case WM_CLOSE:case WM_DESTROY:case WM_QUIT:exit(0);break;
    }
    

    然后放到回调函数中

    long long WINAPI WndProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
    {
    	switch(msg)
    	{
    		case WM_CLOSE:case WM_DESTROY:case WM_QUIT:exit(0);break;
    	}
    	return DefWindowProc(hwnd, msg, wp, lp);
    }
    

    好了
    完整代码(直接复制就好)

    #include <windows.h>
    
    LPCSTR classname = " "; //设置你的窗口类名
    LPCSTR caption = " "; //设置你的窗口标题
    int x = 0,y = 0; //设置你的窗口位置
    int width = 640, height = 480; //设置你的窗口宽高
    
    //回调函数
    long long WINAPI WndProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
    {
        switch(msg)
        {
            case WM_CLOSE:case WM_DESTROY:case WM_QUIT:  //窗口关闭的消息
             exit(0);
            break;
        }
        return DefWindowProc(hwnd, msg, wp, lp);  //定义回调函数的返回值
    }
    
    int WINAPI WinMain(HINSTANCE hInst,  //实例句柄
                HINSTANCE hPrev, 
                LPSTR lpCmdLine, 
                int nCmdShow)
    {
        WNDCLASSA wc; //窗口结构体
        memset(&wc, 0, sizeof(wc));
        wc.lpszClassName = classname;
        wc.hInstance = hInst; //实例句柄
        wc.lpfnWndProc = WndProc;
        RegisterClassA(&wc); //注册
        HWND hwnd = CreateWindowA(classname, caption, WS_VISIBLE|WS_OVERLAPPEDWINDOW, x, y, width, height, NULL, NULL, hInst, NULL);  //创建窗口
        if(hwnd == NULL) return -1;  
        MSG msg;  //消息类
        while(true) if(GetMessage(&msg, NULL, 0, 0))  //消息循环  获得消息
        {
            TranslateMessage(&msg); //处理消息
            DispatchMessageA(&msg); //分发消息
        }
    }
    
    

    感谢观看。

    展开全文
  • 如果我们在项目中不希望使用任何第三方框架的话,那我们就只能用JS自己编写了,这个图片轮播动画代码是一个很好的案例,它采用纯JS代码实现,并且功能上也比较强大,左侧带有二级菜单栏,还是比较实用的 ...
  •  其实想到编写这种程序源自本人之前喜欢看小说,而很多小说更新太慢,所以本人就只能找一个完本的.txt小说下载下来,没有网络都可以看,当然现在不看那玩意了。  废话就不说了,程序中使用到的4个类,5个xml...
  • 今天和大家说下如何创建一个带有窗口的程序,注意窗口的程序是以后写Windows程序的基础,今天的程序很重要,一定要看懂再去看以后的Windows程序 #include /*1.窗口消息处理程序WndProc2.在32位的Windows中,WPARAM被...
  • jQuery全屏滚动插件fullPage.js 0.01 基本演示 的HTML 布局 以及js 代码 //需要连接 连接的三文件 rel="stylesheet" href="css/jquery.fullPage.css"> //css文件 src="js/jquery-1.8.3.min.js"> //...
  • 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/43131133,本文出自:【张鸿洋的博客】1、概述今天打开建行看存款,看伤心欲绝,再看:我擦,这圆形菜单挺炫。于是,为了掩盖我悲痛的心情...
  •  先讲解一下如何实现QQ的圆角菜单,这要用到HOOK了,因为菜单种特殊的窗口,无法用FindWindow或通过HMENU来获取到窗口句柄,也就无法子类化。必须下钩子,这里下的是WH_CALLWNDPROC的钩子: BOOL QQMenu::...
  • 先讲解一下如何实现QQ的圆角菜单,这要用到HOOK了,因为菜单种特殊的窗口,无法用FindWindow或通过HMENU来获取到窗口句柄,也就无法子类化。必须下钩子,这里下的是WH_CALLWNDPROC的钩子: C/C++ code ...
  • 20优秀JavaScript导航菜单

    千次阅读 2010-11-09 15:22:00
    要记住如果客户端浏览器关闭了JavaScript(平均5%的用户通过W3 web statistics关闭了JS),这些技巧中的几可能不能正常工作。 在这篇文章中,你将发现一些非常棒的、独特的JavaScript导航技巧和实例。点击...
  • 网页导航菜单已成为网页不可或缺的一部分,或许我们误以为它与网页一个整体,而忽视了他的存在。不可否认,网页导航菜单网页有密不可分的联系。但是,网页导航菜单也是需要独立编写的,特别是flash网页导航菜单...
  • 在上一篇文章中,我们学习了Camera的基本用法,并借助它们编写一个例子,实现了类似于API Demos里的图片中轴旋转功能。不过那个例子的核心代码是来自于API Demos中带有的Rotate3dAnimation这个类,是它帮助我们...
  • fullPage.js 是一个基于 jQuery 的插件,它能够很方便、很轻松的制作出全屏网站。如今我们经常能见到全屏网站,尤其是国外网站。这些网站用几幅很大的图片或色块做背景,再添加一些简单的内容,显得格外的高端大气上...
  • 网站菜单系列链接组成。 这些链接是路标,可用来导航网站并与之交互。 它们将用户从页引导到另页,并引导他们访问网站中包含的信息。 经过深思熟虑,井井有条且易于操作的菜单极大地增强了网站访问者的...
  • 如何分钟实现滑动菜单特效

    千次阅读 2016-02-17 15:50:18
    如果忘记了其中的实现原理或者还没看过的朋友,请先去看遍之前的文章Android滑动菜单特效实现,仿人人客户端侧滑效果,史上最简单的侧滑实现,因为我们今天要实现的滑动菜单框架也是基于同样的原理的。...
  •  群里朋友提到了使用Combo控件时,当下拉列表出现,此时鼠标滚轮滚动,下拉列表就自动消失了。我看了一下源码,这bug的修复很简单。  CComboUI控件被单击时创建CComboWnd窗体来模拟下拉菜单。CComboWnd类在...
  • 按键精灵脚本编写入门()

    千次阅读 多人点赞 2020-12-08 23:04:17
    . 基本操作 1. 查询系统函数库 我们以找图命令为例: 2. 插入函数 为了方便不会编码的人, 可以点点点来操作 3. 抓抓图 4. 选取范围 5. 截图保存 点裁切,框选,双击,再保存 6. 获取APP包名 ...
  • C#如何自绘滚动条控件

    千次阅读 热门讨论 2016-12-03 19:42:17
    C#如何自绘滚动条控件滚动
  • QT界面编写

    千次阅读 2018-08-20 20:15:55
    问题1:qt 4+版本无法直接显示汉字,可以会乱码 解决方案参考:https://www.cnblogs.com/cnjy/p/6114814.html ps...这两个一个是加入的头文件,然后就是定义菜单下的行为,比如登入,注销等 先建立管理菜单 ...
  • 底部滑动菜单实现

    千次阅读 2016-04-08 17:06:32
    可能很多人都想要像微信或支付宝一样,需要在自己app下加底部导航或者底部菜单栏,上网查了一些资料,主流的实现方法三种。是利用FragmentTabHost+fragment实现,二是用ViewPager+LinearLayout+TextView+...
  • 今天做导航条的时候,代码编写到下拉菜单,查看效果时,但是发现鼠标只有放到级栏目导航上时,整个导航连二级菜单都集体出现了向左偏移的现象(默认二级下拉菜单隐藏),剩下显示都正常,如图:   后来经过...
  • 滚动条详解

    千次阅读 2018-12-05 20:38:19
    对上一天学习的回顾: ... TextOut函数的作用是使用系统当前选择的字体、背景颜色以及正文颜色将一个字符串输出到指定位置,&nbsp;函数原型:  BOOL TextOut(  HDC hdc, //设备环境句柄  int nXStart, //字...
  • QT - qss()按钮及关联菜单

    千次阅读 2016-11-03 08:48:11
    如果QToolButton关联了一个菜单,那么和QPushButton是相同的处理方式。如果被设置成了QToolButton::MenuButtonPopup模式,那么::menu-button用于绘制菜单按钮,而::menu-arrow用于绘制按钮中的箭头号。注意:如果...
  • Qt编写气体安全管理系统1-项目框架

    千次阅读 2019-11-10 15:57:39
    说到项目框架,也叫代码框架,其实是非常重要的,随着编程经验的增加,相信每个程序员都会有一个自己的习惯的项目框架,这个东西跟建房子一样,先把架子搭好,然后挨个往里边填充内容,据说牛逼的架构师都是负责搭建...
  • react 滚动条组件Let’s re-implement the progress bar on page scroll effect that you may have seen on many popular blogs including this one. 让我们重新实现页面滚动效果上的进度条,您可能已经在包括该...
  • C语言实现光条式菜单

    千次阅读 2014-06-07 12:41:39
    所谓光条式菜单,就是类似你装有多操作系统时,开机时系统让你选择进入哪个操作系统时所用的菜单,不知道正式的名称是不是这,反正各位看下面的效果图应该就知道我说的是哪种菜单
  • HTML5编写格式命令详解

    万次阅读 2015-12-17 21:56:52
    Html网页的代码 很全哦 1)贴图:<img src="图片地址"> 2)加入连接:<a href="所要连接的相关地址">写上你想写的字</a> 1)贴图: 2)加入连接:写上你想写的字   3)在新...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,479
精华内容 6,191
关键字:

编写一个带有滚动菜单的动态网页