LIEF: Library to Instrument Executable Formats Version 0.17.0
|
Implementation for a regular/legacy dialog box. More...
#include <ResourceDialogRegular.hpp>
Classes | |
class | Item |
This class represents a DLGTEMPLATE item: DLGITEMTEMPLATE. More... | |
struct | font_t |
This structure represents additional font information that might be embedded at the end of the DLGTEMPLATE stream. More... |
Public Types | |
using | items_t = std::vector<Item> |
using | it_items = ref_iterator<items_t&> |
using | it_const_items = const_ref_iterator<const items_t&> |
Public Types inherited from LIEF::PE::ResourceDialog | |
enum class | TYPE { UNKNOWN = 0 , REGULAR , EXTENDED } |
Enum for discriminating the kind of the Dialog (regular vs extended). More... | |
enum class | DIALOG_STYLES : uint32_t { ABSALIGN = 0x0001 , SYSMODAL = 0x0002 , LOCALEDIT = 0x0020 , SETFONT = 0x0040 , MODALFRAME = 0x0080 , NOIDLEMSG = 0x0100 , SETFOREGROUND = 0x0200 , S3DLOOK = 0x0004 , FIXEDSYS = 0x0008 , NOFAILCREATE = 0x0010 , CONTROL = 0x0400 , CENTER = 0x0800 , CENTERMOUSE = 0x1000 , CONTEXTHELP = 0x2000 , SHELLFONT = SETFONT | FIXEDSYS } |
From: https://learn.microsoft.com/en-us/windows/win32/dlgbox/dialog-box-styles. More... | |
enum class | WINDOW_STYLES : uint32_t { OVERLAPPED = 0x00000000 , POPUP = 0x80000000 , CHILD = 0x40000000 , MINIMIZE = 0x20000000 , VISIBLE = 0x10000000 , DISABLED = 0x08000000 , CLIPSIBLINGS = 0x04000000 , CLIPCHILDREN = 0x02000000 , MAXIMIZE = 0x01000000 , CAPTION = 0x00C00000 , BORDER = 0x00800000 , DLGFRAME = 0x00400000 , VSCROLL = 0x00200000 , HSCROLL = 0x00100000 , SYSMENU = 0x00080000 , THICKFRAME = 0x00040000 , GROUP = 0x00020000 , TABSTOP = 0x00010000 } |
From: https://docs.microsoft.com/en-us/windows/win32/winmsg/window-styles. More... | |
enum class | WINDOW_EXTENDED_STYLES : uint32_t { DLGMODALFRAME = 0x00000001 , NOPARENTNOTIFY = 0x00000004 , TOPMOST = 0x00000008 , ACCEPTFILES = 0x00000010 , TRANSPARENT_STY = 0x00000020 , MDICHILD = 0x00000040 , TOOLWINDOW = 0x00000080 , WINDOWEDGE = 0x00000100 , CLIENTEDGE = 0x00000200 , CONTEXTHELP = 0x00000400 , RIGHT = 0x00001000 , LEFT = 0x00000000 , RTLREADING = 0x00002000 , LEFTSCROLLBAR = 0x00004000 , CONTROLPARENT = 0x00010000 , STATICEDGE = 0x00020000 , APPWINDOW = 0x00040000 } |
From https://docs.microsoft.com/en-us/windows/win32/winmsg/extended-window-styles. More... | |
enum class | CONTROL_STYLES : uint32_t { TOP = 0x00000001 , NOMOVEY = 0x00000002 , BOTTOM = 0x00000003 , NORESIZE = 0x00000004 , NOPARENTALIGN = 0x00000008 , ADJUSTABLE = 0x00000020 , NODIVIDER = 0x00000040 , VERT = 0x00000080 , LEFT = VERT | TOP , RIGHT = VERT | BOTTOM , NOMOVEX = VERT | NOMOVEY } |
From: https://learn.microsoft.com/en-us/windows/win32/controls/common-control-styles. More... | |
using | dialogs_t = std::vector<std::unique_ptr<ResourceDialog>> |
Public Types inherited from LIEF::Object | |
template<class T> | |
using | output_t = add_pointer_t<decay_t<T>> |
template<class T> | |
using | output_const_t = add_pointer_t<add_const_t<decay_t<T>>> |
Public Member Functions | |
ResourceDialogRegular () | |
ResourceDialogRegular (const ResourceDialogRegular &)=default | |
ResourceDialogRegular & | operator= (const ResourceDialogRegular &)=default |
ResourceDialogRegular (ResourceDialogRegular &&)=default | |
ResourceDialogRegular & | operator= (ResourceDialogRegular &&)=default |
std::unique_ptr< ResourceDialog > | clone () const override |
std::string | to_string () const override |
uint32_t | nb_items () const |
Number of control items. | |
it_items | items () |
Iterator over the different control items. | |
it_const_items | items () const |
void | add_item (const Item &item) |
Add a new control item to the dialog. | |
const font_t & | font () const |
Additional font information. | |
ResourceDialogRegular & | font (uint16_t pointsize, std::u16string name) |
ResourceDialogRegular & | font (font_t f) |
void | accept (Visitor &visitor) const override |
~ResourceDialogRegular () override=default | |
Public Member Functions inherited from LIEF::PE::ResourceDialog | |
ResourceDialog ()=default | |
ResourceDialog (const ResourceDialog &)=default | |
ResourceDialog & | operator= (const ResourceDialog &)=default |
ResourceDialog (ResourceDialog &&)=default | |
ResourceDialog & | operator= (ResourceDialog &&)=default |
ResourceDialog (TYPE ty) | |
TYPE | type () const |
uint32_t | style () const |
The style of the dialog box. This member can be a combination of window style values (such as WINDOW_STYLES::CAPTION and WINDOW_STYLES::SYSMENU) and dialog box style values (such as DIALOG_STYLES::CENTER). | |
uint32_t | extended_style () const |
The extended styles for a window. This member is not used to create dialog boxes, but applications that use dialog box templates can use it to create other types of windows. For a list of values, see WINDOW_EXTENDED_STYLES. | |
int16_t | x () const |
The x-coordinate, in dialog box units, of the upper-left corner of the dialog box. | |
int16_t | y () const |
The y-coordinate, in dialog box units, of the upper-left corner of the dialog box. | |
int16_t | cx () const |
The width, in dialog box units, of the dialog box. | |
int16_t | cy () const |
The height, in dialog box units, of the dialog box. | |
ResourceDialog & | style (uint32_t value) |
ResourceDialog & | extended_style (uint32_t value) |
ResourceDialog & | x (int16_t value) |
ResourceDialog & | y (int16_t value) |
ResourceDialog & | cx (int16_t value) |
ResourceDialog & | cy (int16_t value) |
ResourceDialog & | menu (std::u16string title) |
ResourceDialog & | menu (uint16_t ord) |
ResourceDialog & | window_class (std::u16string title) |
ResourceDialog & | window_class (uint16_t ord) |
ResourceDialog & | title (std::u16string value) |
ResourceDialog & | title (const std::string &title) |
bool | has (DIALOG_STYLES style) const |
Check if the dialog used to given dialog style. | |
bool | has (WINDOW_STYLES style) const |
Check if the dialog used to given window style. | |
bool | has (WINDOW_EXTENDED_STYLES style) const |
Check if the dialog used to given extended window style. | |
std::vector< DIALOG_STYLES > | styles_list () const |
List of DIALOG_STYLES used by this dialog. | |
std::vector< WINDOW_STYLES > | windows_styles_list () const |
List of WINDOW_STYLES used by this dialog. | |
std::vector< WINDOW_EXTENDED_STYLES > | windows_ext_styles_list () const |
List of WINDOW_EXTENDED_STYLES used by this dialog. | |
const std::u16string & | title () const |
title of the dialog box | |
std::string | title_utf8 () const |
title of the dialog box | |
const ordinal_or_str_t & | menu () const |
ordinal or name value of a menu resource. | |
const ordinal_or_str_t & | window_class () const |
ordinal of a predefined system window class or name of a registered window class | |
virtual | ~ResourceDialog ()=default |
template<class T> | |
const T * | as () const |
Helper to downcast a ResourceDialog into a ResourceDialogRegular or a ResourceDialogExtended. | |
Public Member Functions inherited from LIEF::Object | |
Object () | |
Object (const Object &other) | |
Object & | operator= (const Object &other) |
Object (Object &&other) noexcept=default | |
Object & | operator= (Object &&other) noexcept=default |
template<class T> | |
output_t< T > | as () |
template<class T> | |
output_const_t< T > | as () const |
virtual bool | operator== (const Object &other) const |
virtual bool | operator!= (const Object &other) const |
virtual | ~Object () |
Static Public Member Functions | |
static std::unique_ptr< ResourceDialogRegular > | create (BinaryStream &stream) |
static bool | classof (const ResourceDialog *dialog) |
Static Public Member Functions inherited from LIEF::PE::ResourceDialog | |
static dialogs_t | parse (const ResourceData &node) |
Parse dialogs from the given resource data node. | |
static dialogs_t | parse (const uint8_t *buffer, size_t size) |
Implementation for a regular/legacy dialog box.
See: https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-dlgtemplate
using LIEF::PE::ResourceDialogRegular::it_const_items = const_ref_iterator<const items_t&> |
using LIEF::PE::ResourceDialogRegular::items_t = std::vector<Item> |
|
inline |
References LIEF::PE::ResourceDialog::REGULAR, and LIEF::PE::ResourceDialog::ResourceDialog().
Referenced by clone(), font(), font(), operator=(), operator=(), ResourceDialogRegular(), and ResourceDialogRegular().
|
default |
References ResourceDialogRegular().
|
default |
References ResourceDialogRegular().
|
overridedefault |
|
overridevirtual |
Implements LIEF::Object.
|
inline |
Add a new control item to the dialog.
|
inlinestatic |
|
inlineoverridevirtual |
Implements LIEF::PE::ResourceDialog.
References ResourceDialogRegular().
|
static |
|
inline |
Additional font information.
Referenced by LIEF::PE::ResourceDialogRegular::font_t::operator<<.
|
inline |
References ResourceDialogRegular().
|
inline |
References ResourceDialogRegular().
|
inline |
Iterator over the different control items.
|
inline |
|
inline |
Number of control items.
|
default |
References ResourceDialogRegular().
|
default |
References ResourceDialogRegular().
|
overridevirtual |
Implements LIEF::PE::ResourceDialog.