• ftk学习记录(IME文章)



    【声明:版权全部,欢迎转载。请勿用于商业用途。

     联系信箱:feixiaoxing @163.com】 


        前面说的是全屏设置,还是请大家看一下效果图。




        想看全屏效果的,能够单击一下左边的button。假设恢复到原来的结果呢,单击一下右边的button。

        所以这个demo事实上不复杂。

    当然,今天我们所写的输入法也不复杂,看上去非常难,可是对于上层的用户来说。会使用就能够了。

    待会能够一起看一下整个demo的流程是什么样的。


    #include "ftk.h"
    
    static Ret button_quit_clicked(void* ctx, void* obj)
    {
    	ftk_quit();
    
    	return RET_OK;
    }
    
    int FTK_MAIN(int argc, char* argv[])
    {
    	int width = 0;
    	int height = 0;
    	FtkWidget* win = NULL;
    	FtkWidget* button = NULL;
    	FtkWidget* entry  = NULL;
    
    	ftk_init(argc, argv);
    
    	win = ftk_app_window_create();
    	width = ftk_widget_width(win);
    	height = ftk_widget_height(win);
    	entry = ftk_entry_create(win, 10, 30, ftk_widget_width(win) - 20, 30);
    	ftk_entry_set_text(entry, "Single line editor");
    	ftk_entry_set_input_method(entry, 0);
    
    	entry = ftk_entry_create(win, 10, 80, ftk_widget_width(win) - 20, 30);
    	ftk_entry_set_text(entry, "Single line editor, that means you can input a one line only.");
    	ftk_entry_set_input_method(entry, 1);
    	
    	entry = ftk_entry_create(win, 10, 130, ftk_widget_width(win) - 20, 30);
    	ftk_entry_set_text(entry, "Single line editor, 也就是说你仅仅能输入一行文字.");
    	ftk_entry_set_input_method(entry, 2);
    	
    	button = ftk_button_create(win, width/4, height/2, width/2, 60);
    	ftk_widget_set_text(button, "quit");
    	ftk_button_set_clicked_listener(button, button_quit_clicked, win);
    	ftk_window_set_focus(win, button);
    	
    	entry = ftk_entry_create(win, 10, height-60, ftk_widget_width(win) - 20, 30);
    	ftk_entry_set_text(entry, "Single line editor");
    	ftk_entry_set_input_method(entry, 0);
    
    	ftk_widget_set_text(win, "entry demo");
    	ftk_widget_show_all(win, 1);
    	ftk_widget_set_attr(win, FTK_ATTR_QUIT_WHEN_CLOSE);
    
    	ftk_run();
    
    	return 0;
    }
    

        代码中和之前博客反复的内容就不赘述了。

    整个代码一气呵成,重点就在中间创建的几个entry。创建好了就能够把它和输入方法绑定在一起了。方法不难,仅仅要用ftk_entry_set_input_method设置一下即可。差别在于函数的第二个參数,各自是0,1。2。什么效果呢。就是仅仅能输入汉字五笔、汉字拼音、英文。

    显示出来呢。事实上就和大家平时用的搜狗输入法效果是一样的。


        老规矩。下次展示效果图。




    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    Spring优雅关闭之:ShutDownHook
    RocketMQ一直打印RocketmqRemoting closeChannel: close the connection to remote address[] result: true
    MVC中使用内建的HTML辅助方法产生表单元素提交表单与button按钮事件的陷阱
    js代码生成form,解决mvc的url参数过长问题
    jQuery中关于height,innerWidth与outerWidth的区别
    Chrome和Firefox浏览器执行new Date() 函数传参数得到不同结果的陷阱
    SQL时间段查询、分页、in字符串正则拆分
    JAVA初始化文件代码
    Base64加密URL、解密URL
    Spring XML model validation
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4741397.html
Copyright © 2020-2023  润新知