Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » вопрос по external и др

Страниц (16): В начало « ... 8 9 10 11 12 13 14 [15] 16 »
 

141. Zireael - 14 Августа, 2019 - 07:22:26 - перейти к сообщению
 Цитата:
из списка можно выделять 1 или более строчек

https://docs.microsoft.com/en-us.../list-box-styles
 Цитата:
LBS_EXTENDEDSEL
Allows multiple items to be selected by using the SHIFT key and the mouse or special key combinations.
(Позволяет выбрать несколько элементов с помощью клавиши SHIFT и мыши или специальных комбинаций клавиш.)
142. 007wan - 14 Августа, 2019 - 07:46:12 - перейти к сообщению
Zireael , Ну это я помню, но мне бы как-то сделать, что бы одни строчки были заблокированы для клика и выделялись, а другие при двойном клике не сбрасывали выделение и выполняли мою задачу(неважно какую)
143. 007wan - 16 Августа, 2019 - 02:09:11 - перейти к сообщению
 Zireael пишет:
Textout на диалоге (Отобразить)
А как вывести прямоугольник белого цвета на экран с текстом в нём. Используя функции Rectangle и Text или связанный с текстом.
(Добавление)
Как вывести на экран?
CODE:
Rectangle(-1, 100, 200, 100, 100);

(Добавление)
Вот что не так? где прямоугольник на экране?
CODE:
#define GRADIENT_FILL_RECT_H 0
#define GRADIENT_FILL_RECT_V 1
external(INT, "GetDC", "GetDC", "User32.dll");
external(INT, "ReleaseDC", "ReleaseDC", "User32.dll");
external(INT, "GradientFill", "GradientFill", "Msimg32.dll" );
external(INT, "Rectangle", "Rectangle", "Gdi32.dll");
external(INT, "SelectObject", "SelectObject", "Gdi32.dll");
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "CreateMenu", "CreateMenu", "User32.dll" );
external(INT, "CreatePopupMenu", "CreatePopupMenu", "User32.dll" );
external(INT, "CreateFont", "CreateFontA", "Gdi32.dll" );
external(INT, "CreateMutex", "CreateMutexA", "Kernel32.dll");
external(INT, "CloseHandle", "CloseHandle", "Kernel32.dll");
external(INT, "CreateSolidBrush", "CreateSolidBrush", "Gdi32.dll");
external(INT, "CreatePen", "CreatePen", "Gdi32.dll");
external(INT, "CreateUpDownControl", "CreateUpDownControl", "Comctl32.dll");
external(INT, "CheckMenuItem", "CheckMenuItem", "User32.dll");
external(INT, "ClipCursor", "ClipCursor", "User32.dll");
external(INT, "CreateHatchBrush", "CreateHatchBrush", "Gdi32.dll");
external(INT, "CreateCompatibleDC", "CreateCompatibleDC", "Gdi32.dll" );
external(INT, "CreateCompatibleBitmap", "CreateCompatibleBitmap", "Gdi32.dll" );

int hdc=GetDC(0);
int Select_Pen1, Select_Brush1;
int Object_Pen1, Object_Pen2, Object_Brush1, Object_Brush2;

char TRIVERTEX[64]; // структура TRIVERTEX
int coord[8]={100, 150, 350, 165, 100, 150, 350, 165} // координаты
//int coord[8]={200, 300, 700, 330, 200, 300, 700, 330} // координаты
int color[4]={3329330, 0, 9470064, 65539} // цвета
int rect[4]={0, 1, 2, 3}


for(int i=0; i<=coord[2]-coord[0]; i=i+(coord[2]-coord[0])/100)
{
textout(0, 0, 0, format(i/5*2), 1);
coord[4]=coord[0]+i;
fill_structure(#TRIVERTEX[0], #coord[0], #color[0]);

Select_Pen1 = SelectObject(hdc, Object_Pen1);
Select_Brush1 = SelectObject(hdc, Object_Brush1);
Rectangle(hdc, 100, 200, 100, 100);
GradientFill(hdc, address(#TRIVERTEX[0]), 4, address(#rect[0]), 2, GRADIENT_FILL_RECT_V); // рисование
sleep(10);
}
ReleaseDC(0, hdc);


function fill_structure(char #Vertex, int #pos, int #c)
{
for(int i=0; i<2; i++)
{
codhex(pos[i*4], #Vertex[i*32]);
codhex(pos[i*4+1], #Vertex[i*32+4]);
codhex(rvalue(c[i*2]) * 256, #Vertex[i*32+8]);
codhex(gvalue(c[i*2]) * 256, #Vertex[i*32+10]);
codhex(bvalue(c[i*2]) * 256, #Vertex[i*32+12]);

codhex(pos[i*4+2], #Vertex[i*32+16]);
codhex(pos[i*4+3], #Vertex[i*32+20]);
codhex(rvalue(c[i*2+1]) * 256, #Vertex[i*32+24]);
codhex(gvalue(c[i*2+1]) * 256, #Vertex[i*32+26]);
codhex(bvalue(c[i*2+1]) * 256, #Vertex[i*32+28]);
}
}

loop()
{
sleep(100);

}

(Добавление)
Или вот побольше код
Код (Отобразить)
144. Zireael - 16 Августа, 2019 - 03:07:45 - перейти к сообщению
 Цитата:
Или вот побольше код

Надо ещё больше, вдруг заработает.
 Цитата:
Rectangle(hdc, 100, 100, 100, 100);

Левый верхний угол в координатах 100 100 и правый нижний в 100 100. Что должно нарисовать?
145. 007wan - 16 Августа, 2019 - 03:16:24 - перейти к сообщению
Zireael , Инчего) А почему изображение мигает? Как это предотвратить? Что бы не мигало оба наложенные изобраения?
(Добавление)
Кроме как вывод на диалог. А если на диалог, то как убрать его края типа закрыть, свернуть или вообще убрать эту панель?
146. Zireael - 16 Августа, 2019 - 03:45:13 - перейти к сообщению
code (Отобразить)
147. 007wan - 16 Августа, 2019 - 03:59:02 - перейти к сообщению
Вау, спасибо - большое)
(Добавление)
 Zireael пишет:
code (Отобразить)

А как туда добавить текст в эту область прямоугольника и что бы тоже не мигал?
(Добавление)
Всё сделал
148. Zireael - 16 Августа, 2019 - 04:28:43 - перейти к сообщению
code (Отобразить)
149. 007wan - 16 Августа, 2019 - 04:54:58 - перейти к сообщению
Или можно было по проще:
Код (Отобразить)

(Добавление)
 Zireael пишет:
int old_font=SelectObject (HDC, FONT);
зачем это? если можно
вместо этого
CODE:
SetBkMode(DC, 1);
150. Zireael - 16 Августа, 2019 - 05:17:20 - перейти к сообщению
 Цитата:
int old_font=SelectObject (HDC, FONT);
зачем это?

FONT - это шрифт.
Чуть исправил в TextOut string надо передавать.
code (Отобразить)

Powered by ExBB FM 1.0 Final