ftk學習記(icon篇)

2021-06-22 04:52:26 字數 1673 閱讀 1119

在開始今天的文章之前,我們還是先看一下上一節的效果圖。

大家可以參照上一節的講解,是不是存在這樣的button,是不是存在這樣的wait_box控制項,同樣是不是可以看到wait_box活動的情形。當然,有條件的朋友最好自己編譯一下這個demo**,按步驟除錯每一行**。

今天,如標題所示,我們所學習的是icon的內容。簡單一點說,此次主要的目的就是想在視窗上顯示icon影象的內容。至於如何顯示,大家可以跟著我一起看一下demo**是如何編寫的。

#include "ftk.h"

#define idc_test_button 1000

static ret button_quit_clicked(void* ctx, void* obj)

static int i = 0;

static ret button_more_clicked(void* ctx, void* obj)

; ftk_snprintf(text, sizeof(text), "%d", i);

item.text = text;

ftk_bitmap_ref(item.icon);

item.user_data = (void*)i;

ftk_icon_view_add(icon_view, &item);

i+=1000;

} ftk_bitmap_unref(item.icon);

return ret_ok;

}static ret item_clicked(void* ctx, void* obj)

int ftk_main(int argc, char* argv)

; ftk_snprintf(text, sizeof(text), "%d", i);

item.text = text;

item.user_data = (void*)i;

ftk_icon_view_add(icon_view, &item); }

ftk_bitmap_unref(item.icon);

ftk_widget_set_text(win, "icon view demo");

ftk_widget_show_all(win, 1);

ftk_widget_set_attr(win, ftk_attr_quit_when_close);

ftk_run();

return 0;

}

如**所示,系統在進行的必要的初始化之後,就馬上建立了button控制項、icon_view、item等物件。button物件,我們之前已經討論過很多次了,這次忽略不考慮。此次主要學習的是icon_view這個物件,它的主要目的就是在window中建立一片icon_view空間,建立成功之後,我們就可以通過函式ftk_icon_view_add向裡面新增item物件了。是不是很簡單呢?那button這裡是起什麼作用呢,我們可以繼續往下看。如果仔細看一下,大家可以發現button_more_clicked中的內容和main函式中的內容差不多,無非就是向icon_view物件中多新增了幾個item而已。當然,每個item在被選中的時候,系統都會呼叫call back函式item_clicked進行必要的額外操作。

欲看效果如何,且聽下回分解。

ftk學習記(label篇)

還是接著上面的一篇博文。之前曾經答應過大家,讓大家看一下最簡單的ftk程式是怎麼執行的。所以,這裡我們上傳一下。label,顧名思義,就是乙個標籤。更直白一點,就是在視窗上某個地點顯示一串文字。當然,你可以根據自己的需要靈活修改文字的型別 大小 顏色 背景等資訊,總之就是這麼個意思。閒話少說,我們可...

ftk學習記(list篇)

在開始今天的list主題之前,先看一下icon的執行效果。今天說的list其實和這個icon差不多。大家只需要把這些icon想像成一條一條的item就可以了。同樣,list的demo 中也會有乙個more的button,每次單擊一下,就會增加幾個item。閒話不多說,先看一下demo 是怎麼樣的。i...

ftk學習記(label篇)

還是接著上面的一篇博文。由於還是編輯模式。所以臨時還不能看到在網頁中是怎麼顯示的。include ftk.h typedef struct timerinfo timerinfo static ret timeout void ctx if info times 0 else int main in...