007wan |
Отправлено: 04 Июня, 2019 - 14:58:15
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
png версию иконки не грузит для диалога. Края сделаны прозрачными.
(Добавление)
И bmp тоже не работает
(Добавление)
Zireael пишет: Цитата: Как можно реализовать принцип сворачивания окна?
Свернёт окно на панель задач:
CODE:#define WS_EX_APPWINDOW 262144
#define GWL_EXSTYLE -20
external(INT, "SetWindowLong", "SetWindowLongA", "User32.dll" );
external(INT, "GetWindowLong", "GetWindowLongA", "User32.dll" );
createdialog(0);
showdialog(0, "Диалог",0, 0, 300, 300, 1, 1);
loop()sleep(10);
function getmessage(0, WM_CREATE)
{
SetWindowLong(gethwnd(0), GWL_EXSTYLE, GetWindowLong(gethwnd(0), GWL_EXSTYLE) + WS_EX_APPWINDOW);
} Я про...
(Добавление)
Zireael пишет: CODE:#define WS_CHILD 1073741824
#define WS_BORDER 8388608
#define WS_VISIBLE 268435456
#define LR_LOADFROMFILE 16
#define IMAGE_ICON 1
#define WM_SETICON 128
#define ICON_BIG 1
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "LoadImage", "LoadImageA", "User32.dll");
int icon;
createdialog(0);
showdialog(0, "Dialog",100, 100, 300, 300, 1, 1);
loop()sleep(10);
function getmessage(0, WM_CREATE)
{
icon=LoadImage(0, "C:\111.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE); // загрузить иконку 'C:\111.ico'
sendmessage(WM_SETICON, ICON_BIG, icon, formatiw(gethwnd(0))); // установить иконку
}
Картинки ico ищите в инете. Ой |
|
|
Zireael |
Отправлено: 07 Июня, 2019 - 02:22:15
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Можно и с пмощью formatic(10)+formatic(13). Как используя эти функции сделать символ какой-нибудь, анпример, звезды.
Никак, formatic для ascii кодов ascii
CODE:external(INT, "TextOut", "TextOutW", "Gdi32.dll");
external(INT, "GetDC", "GetDC", "User32.dll");
char c[6]={5, 38, 5, 38, 5, 38} // код символа 9733 (5 + 38 * 256)
int HDC=GetDC(0);
loop()
{
TextOut(HDC, 300, 300, address(#c[0]), sizearray(c)/2);
sleep(10);
} |
|
|
Zireael |
Отправлено: 08 Июня, 2019 - 02:06:08
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: что-то вроде этого или линия
Static в виде линии или рамки (Отобразить)CODE:#define WS_CHILD 1073741824
#define WS_VISIBLE 268435456
#define SS_ETCHEDHORZ 16
#define SS_ETCHEDVERT 17
#define SS_ETCHEDFRAME 18
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
int static1, static2, static3;
createdialog(0);
showdialog(0, "Диалог", 258, 234, 250, 300, 1, 1);
loop()sleep(10);
function getmessage(0, WM_CREATE)
{
static1=CreateWindow(0, "STATIC", "", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 20, 40, 100, 1, gethwnd(0), 0, 0, 0); // горизонтальная линия
static2=CreateWindow(0, "STATIC", "", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 20, 70, 1, 30, gethwnd(0), 0, 0, 0); // вертикальная линия
static3=CreateWindow(0, "STATIC", "Рамка", SS_ETCHEDFRAME | WS_CHILD | WS_VISIBLE, 20, 110, 30, 30, gethwnd(0), 0, 0, 0); // рамка
} |
|
|
Zireael |
Отправлено: 08 Июня, 2019 - 11:34:46
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Как использовать функции ClipCursor.
CODE:external(INT, "ClipCursor", "ClipCursor", "User32.dll");
int rect[4]={100, 100, 300, 300}
ClipCursor(address(#rect[0])); // удерживать курсор в координатах 100, 100, 300, 300
// чтобы освободить ClipCursor(0); или клик кнопкой мыши
loop()sleep(10); |
|
|
|