Skip to content

Latest commit

 

History

History
194 lines (135 loc) · 6 KB

README_EN.md

File metadata and controls

194 lines (135 loc) · 6 KB

ExDUIR

中文

Introduction

Lightweight DirectUI framework for Windows platform.ExDUIR for .net7

.net framwork version:https://gitee.com/william_lzw/ExDUIR.NET

Environment

win10+, win7 need install KB2670838 patch .net7.0+

Problem feedback & Help

  • QQ group: 214406227

Compiler

  • Visual Studio 2022 v17.5.0

Characteristics

  • Rendering function is DirectX11, Direct2D, efficiency is hundreds of times higher than GDI.
  • Unicode encoding, support for multiple languages.
  • Mimic The Windows messaging mechanism by sending messages and distributing notifications to components, compatible with native Windows messages and constants. Win32 API writing, more flexible than class writing extensibility.
  • Use Win32 style API method to call, support the generation of lib static library and DLL dynamic library. The generated dynamic link library can be called by other languages such as python, Java, go, dephi, C#, VB, easy language, etc.
  • Extension components are free and flexible, and the engine handles the underlying logic. The user only needs to write the drawing code and does not need to worry about complex message processing.
  • Currently support component has a button, switch, radio buttons, select box, edit box, rich text edit box, listview, report listview, template listview, group boxes, combo boxes, menus, tree frame, the slider, radio buttons, select box, TAB, load, animations, rotating picture box, page, picture box, message box, list of ICONS, list button, the toolbar , status bar, date box, color palette, color picker, title box, calendar box, score button, cef3 browser box, drawing board, you can superclass extension components on these components.
  • Support for layouts that automatically update component positions when window sizes change. Currently, the following layouts are supported: absolute layout, relative layout, linear layout, flow layout, and table layout. Users can extend the layout.
  • Support GIF format images automatically play animation, support image format PNG, JPEG, BMP, GIF, WEBP. Windows or components can use the above format image as the background.
  • Support 34 eases, users can freely write window eases or component eases. Users can extend the easing algorithm.
  • Window support special-shaped window, picture shape window. Windows and components support 0 to 255 transparency. Supports Gaussian blur.
  • Edit box supports rich text and supports loading documents in RTF format.
  • Windows or components can receive drag files or text.
  • Support for modal Windows.
  • Support for restricted area message notification.
  • Support net7.0 nativeaot, can be compiled into win32 binary program can not be decompiled, running does not depend on .net environment, the program can run on win7.

Nativeaot compile

  • Create a .net 7.0 console application, change it to a windows application, and add <PublishAot>true</PublishAot> to the PropertyGroup node of the project file.
  • The framework can only rely on Microsoft.NETCore.App, and cannot have WinForm windows, and cannot have custom resource files Resources.resx. It can only be compiled for 64 bits.

Demo

demo code:

image

demo all:

image

demo nativeaot:

image

button:

image

combobox:

image

custombackground:

image

easing:

image

edit:

image

groupbox:

image

irregular shape window:

image

label:

image

layout absolute:

image

layout flow:

image

layout linear:

image

layout relative:

image

layout table:

image

listbutton:

image

listview:

image

navbutton:

image

radio and checkbox:

image

reportlistview:

image

iconlistview:

image

treeview:

image

modal:

image

matrix:

image

buttonex:

image

editex:

image

custommenu:

image

eventdispatch:

image

loading:

image

sliderbar:

image

rotatebox:

image

drag obj:

image

progressbar

image

notify obj

image

titlebar

image

datebox

image

colorpicker

image

scorebutton

image

carousel

image

template listview

image

drawingboard

image

propertygrid

image

mediaplayer

image

svg and font

image

rollmenu

image

trayicon

image

winform:

image

cefsharp browser:

image

login demo

image

demo taggingboard:

image