Skip to content

menmories/FantacyUI

Repository files navigation

FantacyUI

基于Direct2D来实现的Gui库,仅支持Windows.

使用方法

新建Visual studio 2022工程(控制台或者是Win32应用程序) 包含FantacyUI的lib文件和头文件所在目录,并引用lib文件 新建一个类,继承自FWindow,并在main函数所在目录中添加如下代码:

class CTestWindow : public FWindow { public: CTestWindow() { SetupUI(); }

bool OnTestButtonClicked()
{
    printf("Hello\n");
    return true;
}

/* 在该函数中添加UI控件 */
virtual void ConstructUI()
{
    FPannel* Pannel = new FPannel();
    Pannel->SetRect(FRectU(200, 10, 460, 600));
    Pannel->SetBackgroundColor(FColor(0x999999ff));
    AddWidget(Pannel);      //在窗口上添加Widget

    FButton* TestButton = new FButton();
    TestButton->SetRect(FRectU(10, 10, 80, 28));
    TestButton->SetText(TEXT("我是按钮"));
    TestButton->OnClicked = std::bind(&CTestWindow::OnTestButtonClicked, this);
    Pannel->AddChild(TestButton);
    SetText(TEXT("这是D2D窗口"));
}

};

int main(int argc, char** argv) { FApplication::Init(); std::unique_ptr TestWindow(new CTestWindow()); TestWindow->Show(); FApplication::Exec(); }

2023/4/20 完成基本UI绘制和事件逻辑

Widget UI基础部件,提供了UI基础功能 Pannel 面板,主要用于装载控件的容器 Button 按钮,提供了基本事件处理

所有的初始控件必须在ConstructUI中进行初始化,之后才可在随意操作UI

About

A Direct2D based UI library.一个基于Direct2D开发的UI库

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages