007wan |
Отправлено: 12 Ноября, 2019 - 14:18:39
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Zireael , Это не правильно. Я хочу идентифицировать вкладки по НАЗВАНИЮ. И если пользователь захочет удалить первую, когда всего 3, то удалится последняя, а у каждой вкладки в зависимости от названия своё содержимое будет.
(Добавление)
Можно, пожалуйста как-нибудь придумать, что бы удалялась только так, которая выбрана, а не последняя? Пожалуйста, что бы не сильно париться с перемещением и индетификацией нужной.
(Добавление)
У меня такая идея, но она не работает: при удалении - удалять прямоугольник с текстом(обнулить координаты и он будет рисоваться в 0 0 0 0), дальше - при создании возвращать координаты. Но это не сработало.
(Добавление)
Можно пж, тогда как иъ перемещать? По какой логике? |
|
|
Zireael |
Отправлено: 13 Ноября, 2019 - 01:40:22
|
Эксперт
Покинул форум
Сообщений всего: 4466
Дата рег-ции: Нояб. 2017
Репутация: 585
|
code (Отобразить)CODE:#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
#define PS_SOLID 0
#define PS_NULL 5
#define SRCCOPY 13369376
#define TRANSPARENT 1
#define DT_CENTER 1
#define RUSSIAN_CHARSET 204
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
external(INT, "GetDC", "GetDC", "User32.dll");
external(INT, "CreatePen", "CreatePen", "Gdi32.dll");
external(INT, "CreateSolidBrush", "CreateSolidBrush", "Gdi32.dll");
external(INT, "SelectObject", "SelectObject", "Gdi32.dll");
external(INT, "RoundRect", "RoundRect", "Gdi32.dll");
external(INT, "Rectangle", "Rectangle", "Gdi32.dll");
external(INT, "PtInRect", "PtInRect", "User32.dll");
external(INT, "BitBlt", "BitBlt", "Gdi32.dll");
external(INT, "CreateCompatibleDC", "CreateCompatibleDC", "Gdi32.dll");
external(INT, "CreateCompatibleBitmap", "CreateCompatibleBitmap", "Gdi32.dll");
external(INT, "DrawText", "DrawTextA", "User32.dll");
external(INT, "SetTextColor", "SetTextColor", "Gdi32.dll");
external(INT, "SetBkMode", "SetBkMode", "Gdi32.dll");
external(INT, "CreateFont", "CreateFontA", "Gdi32.dll" );
external(INT, "Ellipse", "Ellipse", "Gdi32.dll");
int h_font, old_font;
int mouseX, mouse_Y;
int hdc, hdc_mem, hdc_bitmap;
int pen, brush1, brush2, brush_fon, old_pen, old_brush;
pen = CreatePen(PS_NULL, 0, 0);
brush_fon = CreateSolidBrush(14013909);
brush1 = CreateSolidBrush(4307199);
brush2 = CreateSolidBrush(3309517);
int current_tab = 0;
int created_tab = 0;
int rect_tab[3][4];
rect_tab[0][0]=25; rect_tab[0][1]=10; rect_tab[0][2]=150; rect_tab[0][3]=40;
rect_tab[1][0]=155; rect_tab[1][1]=10; rect_tab[1][2]=280; rect_tab[1][3]=40;
rect_tab[2][0]=285; rect_tab[2][1]=10; rect_tab[2][2]=410; rect_tab[2][3]=40;
int Coordinates_Minus[3][4];
for(int minus=0; minus<3; minus++)
{
Coordinates_Minus[minus][0] = rect_tab[minus][2]-15; Coordinates_Minus[minus][1] = 7; Coordinates_Minus[minus][2] = rect_tab[minus][2]-5; Coordinates_Minus[minus][3] = 22;
}
string text_tab[3] = {"Game1", "Game2", "Game3"};
string Control_text_buttons[2] = {"+", "-"};
int cord_control_buttons[2][4];
cord_control_buttons[0][0] = 25; cord_control_buttons[0][1] = 10; cord_control_buttons[0][2] = 47; cord_control_buttons[0][3] = 31; // координаты +
int image_width = 600;
int image_height = 500;
createdialog(0);
showdialog(0, "BALLOON BOT", 200, 200, 515, 500, 1, 1);
enabletimer(0);
loop()
{
sleep(10);
}
function getmessage(0, WM_CREATE)
{
hdc = GetDC(gethwnd(0));
hdc_mem = CreateCompatibleDC(hdc);
hdc_bitmap = CreateCompatibleBitmap(hdc, image_width, image_height);
SelectObject(hdc_mem, hdc_bitmap);
SetBkMode(hdc_mem, TRANSPARENT);
h_font = CreateFont(-14, 0, 0, 0, 500, 0, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Comic Sans MS");
}
function getmessage(0, WM_MOVE)
{
pause(100);
}
CREATE_TIMER(0, 30)
{
if(getkeystate(1))
{
while(getkeystate(1))sleep(10);
getmouse(mouseX, mouse_Y, formatiw(gethwnd(0)));
for(int tab_=0; tab_<created_tab; tab_++)
{
if(PtInRect(address(#Coordinates_Minus[tab_][0]), mouseX, mouse_Y))
{
transfer(tab_);
created_tab--;
if(created_tab==0)
{
cord_control_buttons[0][0] = 25; cord_control_buttons[0][2] = 47;
}
else
{
cord_control_buttons[0][0] = 5 + rect_tab[created_tab-1][2]; cord_control_buttons[0][2] = 22 + cord_control_buttons[0][0];
}
break;
}
if(PtInRect(address(#rect_tab[tab_][0]), mouseX, mouse_Y))
{
current_tab=tab_;
break;
}
}
if(PtInRect(address(#cord_control_buttons[0][0]), mouseX, mouse_Y))
{
if(created_tab<3)
{
cord_control_buttons[0][0] = 5 + rect_tab[created_tab][2]; cord_control_buttons[0][2] = 22 + cord_control_buttons[0][0];
created_tab++;
}
}
}
paint();
}
function transfer(int start_pos)
{
string tmp;
for(int i=start_pos; i<2; i++)
{
tmp=text_tab[i];
text_tab[i]=text_tab[i+1];
text_tab[i+1]=tmp;
}
}
function paint()
{
old_pen = SelectObject(hdc_mem, pen);
old_brush = SelectObject(hdc_mem, brush_fon);
Rectangle(hdc_mem, 0, 0, image_width+1, image_height+1);
SelectObject(hdc_mem, old_brush);
for(int i=0; i<created_tab; i++)
{
if(i == current_tab)old_brush = SelectObject(hdc_mem, brush1);
else old_brush = SelectObject(hdc_mem, brush2);
RoundRect(hdc_mem, rect_tab[i][0], rect_tab[i][1], rect_tab[i][2], rect_tab[i][3], 10, 10);
SelectObject(hdc_mem, old_brush);
SetTextColor(hdc_mem, 0);
old_font = SelectObject(hdc_mem, h_font);
DrawText(hdc_mem, text_tab[i], size(text_tab[i]), address(#rect_tab[i][0]), DT_CENTER);
DrawText(hdc_mem, "х", 1, address(#Coordinates_Minus[i][0]), DT_CENTER);
SelectObject(hdc_mem, old_font);
}
old_brush = SelectObject(hdc_mem, brush1);
RoundRect(hdc_mem, 10, 30, 500, 250, 10, 10);
if(created_tab<3)
{
RoundRect(hdc_mem, cord_control_buttons[0][0], cord_control_buttons[0][1], cord_control_buttons[0][2], cord_control_buttons[0][3], 10, 10);
DrawText(hdc_mem, Control_text_buttons[0], size(Control_text_buttons[0]), address(#cord_control_buttons[0][0]), DT_CENTER);
}
SelectObject(hdc_mem, old_brush);
SelectObject(hdc_mem, old_pen);
BitBlt(hdc, 0, 0, image_width, image_height, hdc_mem, 0, 0, SRCCOPY);
} |
|
|
Zireael |
Отправлено: 14 Ноября, 2019 - 01:26:54
|
Эксперт
Покинул форум
Сообщений всего: 4466
Дата рег-ции: Нояб. 2017
Репутация: 585
|
code (Отобразить)CODE:#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
#define PS_SOLID 0
#define PS_NULL 5
#define SRCCOPY 13369376
#define TRANSPARENT 1
#define DT_CENTER 1
#define RUSSIAN_CHARSET 204
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
external(INT, "GetDC", "GetDC", "User32.dll");
external(INT, "CreatePen", "CreatePen", "Gdi32.dll");
external(INT, "CreateSolidBrush", "CreateSolidBrush", "Gdi32.dll");
external(INT, "SelectObject", "SelectObject", "Gdi32.dll");
external(INT, "RoundRect", "RoundRect", "Gdi32.dll");
external(INT, "Rectangle", "Rectangle", "Gdi32.dll");
external(INT, "PtInRect", "PtInRect", "User32.dll");
external(INT, "BitBlt", "BitBlt", "Gdi32.dll");
external(INT, "CreateCompatibleDC", "CreateCompatibleDC", "Gdi32.dll");
external(INT, "CreateCompatibleBitmap", "CreateCompatibleBitmap", "Gdi32.dll");
external(INT, "DrawText", "DrawTextA", "User32.dll");
external(INT, "TextOut", "TextOutA", "Gdi32.dll");
external(INT, "SetTextColor", "SetTextColor", "Gdi32.dll");
external(INT, "SetBkMode", "SetBkMode", "Gdi32.dll");
external(INT, "CreateFont", "CreateFontA", "Gdi32.dll");
external(INT, "Ellipse", "Ellipse", "Gdi32.dll");
int h_font, h_font2, old_font;
int mouseX, mouse_Y;
int hdc, hdc_mem, hdc_bitmap;
int pen, brush1, brush2, brush_fon, old_pen, old_brush;
pen = CreatePen(PS_NULL, 0, 0);
brush_fon = CreateSolidBrush(14013909);
brush1 = CreateSolidBrush(4307199);
brush2 = CreateSolidBrush(3309517);
int current_tab = -1;
int created_tab = 0;
int rect_tab[3][4];
rect_tab[0][0]=25; rect_tab[0][1]=10; rect_tab[0][2]=150; rect_tab[0][3]=40;
rect_tab[1][0]=155; rect_tab[1][1]=10; rect_tab[1][2]=280; rect_tab[1][3]=40;
rect_tab[2][0]=285; rect_tab[2][1]=10; rect_tab[2][2]=410; rect_tab[2][3]=40;
int Coordinates_Minus[3][4];
for(int minus=0; minus<3; minus++)
{
Coordinates_Minus[minus][0] = rect_tab[minus][2]-15; Coordinates_Minus[minus][1] = 7; Coordinates_Minus[minus][2] = rect_tab[minus][2]-5; Coordinates_Minus[minus][3] = 22;
}
string text_tab[3] = {"Game1", "Game2", "Game3"};
string Control_text_buttons[2] = {"+", "-"};
int cord_control_buttons[2][4];
cord_control_buttons[0][0] = 25; cord_control_buttons[0][1] = 10; cord_control_buttons[0][2] = 47; cord_control_buttons[0][3] = 31; // координаты +
int image_width = 600;
int image_height = 500;
createdialog(0);
showdialog(0, "BALLOON BOT", 200, 200, 515, 500, 1, 1);
enabletimer(0);
loop()
{
sleep(10);
}
function getmessage(0, WM_CREATE)
{
hdc = GetDC(gethwnd(0));
hdc_mem = CreateCompatibleDC(hdc);
hdc_bitmap = CreateCompatibleBitmap(hdc, image_width, image_height);
SelectObject(hdc_mem, hdc_bitmap);
SetBkMode(hdc_mem, TRANSPARENT);
h_font = CreateFont(-14, 0, 0, 0, 500, 0, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Comic Sans MS");
h_font2 = CreateFont(-20, 0, 0, 0, 400, 0, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Time New Roman");
}
function getmessage(0, WM_MOVE)
{
pause(100);
}
CREATE_TIMER(0, 30)
{
if(getkeystate(1))
{
while(getkeystate(1))sleep(10);
getmouse(mouseX, mouse_Y, formatiw(gethwnd(0)));
for(int tab_=0; tab_<created_tab; tab_++)
{
if(PtInRect(address(#Coordinates_Minus[tab_][0]), mouseX, mouse_Y))
{
transfer(tab_);
created_tab--;
if(current_tab>=created_tab)current_tab--;
if(created_tab==0)
{
cord_control_buttons[0][0] = 25; cord_control_buttons[0][2] = 47;
}
else
{
cord_control_buttons[0][0] = 5 + rect_tab[created_tab-1][2]; cord_control_buttons[0][2] = 22 + cord_control_buttons[0][0];
}
break;
}
if(PtInRect(address(#rect_tab[tab_][0]), mouseX, mouse_Y))
{
current_tab=tab_;
break;
}
}
if(PtInRect(address(#cord_control_buttons[0][0]), mouseX, mouse_Y))
{
if(created_tab<3)
{
cord_control_buttons[0][0] = 5 + rect_tab[created_tab][2]; cord_control_buttons[0][2] = 22 + cord_control_buttons[0][0];
current_tab=created_tab;
created_tab++;
}
}
}
paint();
}
function transfer(int start_pos)
{
string tmp;
for(int i=start_pos; i<2; i++)
{
tmp=text_tab[i];
text_tab[i]=text_tab[i+1];
text_tab[i+1]=tmp;
}
}
function paint()
{
old_pen = SelectObject(hdc_mem, pen);
old_brush = SelectObject(hdc_mem, brush_fon);
Rectangle(hdc_mem, 0, 0, image_width+1, image_height+1);
SelectObject(hdc_mem, old_brush);
for(int i=0; i<created_tab; i++)
{
if(i == current_tab)old_brush = SelectObject(hdc_mem, brush1);
else old_brush = SelectObject(hdc_mem, brush2);
RoundRect(hdc_mem, rect_tab[i][0], rect_tab[i][1], rect_tab[i][2], rect_tab[i][3], 10, 10);
SelectObject(hdc_mem, old_brush);
SetTextColor(hdc_mem, 16000000);
old_font = SelectObject(hdc_mem, h_font);
DrawText(hdc_mem, text_tab[i], size(text_tab[i]), address(#rect_tab[i][0]), DT_CENTER);
SetTextColor(hdc_mem, 0);
DrawText(hdc_mem, "х", 1, address(#Coordinates_Minus[i][0]), DT_CENTER);
SelectObject(hdc_mem, old_font);
}
old_brush = SelectObject(hdc_mem, brush1);
RoundRect(hdc_mem, 10, 30, 500, 250, 10, 10);
if(created_tab<3)
{
SetTextColor(hdc_mem, 0);
RoundRect(hdc_mem, cord_control_buttons[0][0], cord_control_buttons[0][1], cord_control_buttons[0][2], cord_control_buttons[0][3], 10, 10);
DrawText(hdc_mem, Control_text_buttons[0], size(Control_text_buttons[0]), address(#cord_control_buttons[0][0]), DT_CENTER);
}
SelectObject(hdc_mem, old_brush);
SelectObject(hdc_mem, old_pen);
if(current_tab>-1 && current_tab<3)
{
SetTextColor(hdc_mem, 255);
old_font = SelectObject(hdc_mem, h_font2);
TextOut(hdc_mem, 20, 100, "Текущая вкладка: "+text_tab[current_tab], size("Текущая вкладка: "+text_tab[current_tab]));
SelectObject(hdc_mem, old_font);
}
BitBlt(hdc, 0, 0, image_width, image_height, hdc_mem, 0, 0, SRCCOPY);
} |
|
|
007wan |
Отправлено: 14 Ноября, 2019 - 15:47:55
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Что не так?Код (Отобразить)CODE:#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
#define PS_SOLID 0
#define PS_NULL 5
#define SRCCOPY 13369376
#define TRANSPARENT 1
#define DT_CENTER 1
#define BLACK_COLOR 0
#define RUSSIAN_CHARSET 204
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
external(INT, "GetDC", "GetDC", "User32.dll");
external(INT, "CreatePen", "CreatePen", "Gdi32.dll");
external(INT, "CreateSolidBrush", "CreateSolidBrush", "Gdi32.dll");
external(INT, "SelectObject", "SelectObject", "Gdi32.dll");
external(INT, "RoundRect", "RoundRect", "Gdi32.dll");
external(INT, "Rectangle", "Rectangle", "Gdi32.dll");
external(INT, "PtInRect", "PtInRect", "User32.dll");
external(INT, "BitBlt", "BitBlt", "Gdi32.dll");
external(INT, "CreateCompatibleDC", "CreateCompatibleDC", "Gdi32.dll");
external(INT, "CreateCompatibleBitmap", "CreateCompatibleBitmap", "Gdi32.dll");
external(INT, "DrawText", "DrawTextA", "User32.dll");
external(INT, "TextOut", "TextOutA", "Gdi32.dll");
external(INT, "SetTextColor", "SetTextColor", "Gdi32.dll");
external(INT, "SetBkMode", "SetBkMode", "Gdi32.dll");
external(INT, "CreateFont", "CreateFontA", "Gdi32.dll");
external(INT, "Ellipse", "Ellipse", "Gdi32.dll");
external(INT, "TransparentBlt", "TransparentBlt", "Msimg32.dll" );
external(INT, "Rectangle", "Rectangle", "Gdi32.dll");
int h_font, h_font2, old_font;
int mouseX, mouse_Y;
int hdc, hdc_mem, hdc_bitmap;
int pen, brush1, brush2, brush_fon, old_pen, old_brush;
pen = CreatePen(PS_NULL, 0, 0);
brush_fon = CreateSolidBrush(14013909);
brush1 = CreateSolidBrush(4307199);
brush2 = CreateSolidBrush(3309517);
int current_tab = -1;
int created_tab = 0;
int rect_tab[3][4];
rect_tab[0][0]=25; rect_tab[0][1]=10; rect_tab[0][2]=150; rect_tab[0][3]=40;
rect_tab[1][0]=155; rect_tab[1][1]=10; rect_tab[1][2]=280; rect_tab[1][3]=40;
rect_tab[2][0]=285; rect_tab[2][1]=10; rect_tab[2][2]=410; rect_tab[2][3]=40;
int Coordinates_Minus[3][4];
for(int minus=0; minus<3; minus++)
{
Coordinates_Minus[minus][0] = rect_tab[minus][2]-15; Coordinates_Minus[minus][1] = 7; Coordinates_Minus[minus][2] = rect_tab[minus][2]-5; Coordinates_Minus[minus][3] = 22;
}
string text_tab[3] = {"Game1", "Game2", "Game3"};
string Control_text_buttons[2] = {"+", "-"};
int cord_control_buttons[2][4];
cord_control_buttons[0][0] = 25; cord_control_buttons[0][1] = 10; cord_control_buttons[0][2] = 47; cord_control_buttons[0][3] = 31; // координаты +
int image_width = 600;
int image_height = 500;
int b0;
createdialog(0);
showdialog(0, "BALLOON BOT", 200, 200, 515, 500, 1, 1);
enabletimer(0);
loop()
{
sleep(10);
}
function getmessage(0, WM_CREATE)
{
hdc = GetDC(gethwnd(0));
hdc_mem = CreateCompatibleDC(hdc);
hdc_bitmap = CreateCompatibleBitmap(hdc, image_width, image_height);
SelectObject(hdc_mem, hdc_bitmap);
SetBkMode(hdc_mem, TRANSPARENT);
h_font = CreateFont(-14, 0, 0, 0, 500, 0, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Comic Sans MS");
h_font2 = CreateFont(-20, 0, 0, 0, 400, 0, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Time New Roman");
b0 = CreateWindow(0, "BUTTON", "Запустить", WS_BORDER | WS_CHILD | WS_VISIBLE, 20, 60, 80, 25, gethwnd(0), 0, 0, 0); // создать кнопку
rectangle(20, 60, 80, 25);
}
function getmessage(0, WM_MOVE)
{
pause(100);
}
function rectangle(int posX, int posY, int posX2, int posY2)
{
Rectangle(hdc_mem, posX, posY, posX+posX2, posY+posY2);
}
CREATE_TIMER(0, 30)
{
if(getkeystate(1))
{
while(getkeystate(1))sleep(10);
getmouse(mouseX, mouse_Y, formatiw(gethwnd(0)));
for(int tab_=0; tab_<created_tab; tab_++)
{
if(PtInRect(address(#Coordinates_Minus[tab_][0]), mouseX, mouse_Y))
{
transfer(tab_);
created_tab--;
if(current_tab>=created_tab)current_tab--;
if(created_tab==0)
{
cord_control_buttons[0][0] = 25; cord_control_buttons[0][2] = 47;
}
else
{
cord_control_buttons[0][0] = 5 + rect_tab[created_tab-1][2]; cord_control_buttons[0][2] = 22 + cord_control_buttons[0][0];
}
break;
}
if(PtInRect(address(#rect_tab[tab_][0]), mouseX, mouse_Y))
{
current_tab=tab_;
break;
}
}
if(PtInRect(address(#cord_control_buttons[0][0]), mouseX, mouse_Y))
{
if(created_tab<3)
{
cord_control_buttons[0][0] = 5 + rect_tab[created_tab][2]; cord_control_buttons[0][2] = 22 + cord_control_buttons[0][0];
current_tab=created_tab;
created_tab++;
}
}
}
paint();
}
function transfer(int start_pos)
{
string tmp;
for(int i=start_pos; i<2; i++)
{
tmp=text_tab[i];
text_tab[i]=text_tab[i+1];
text_tab[i+1]=tmp;
}
}
function paint()
{
old_pen = SelectObject(hdc_mem, pen);
old_brush = SelectObject(hdc_mem, brush_fon);
Rectangle(hdc_mem, 0, 0, image_width+1, image_height+1);
SelectObject(hdc_mem, old_brush);
for(int i=0; i<created_tab; i++)
{
if(i == current_tab)old_brush = SelectObject(hdc_mem, brush1);
else old_brush = SelectObject(hdc_mem, brush2);
RoundRect(hdc_mem, rect_tab[i][0], rect_tab[i][1], rect_tab[i][2], rect_tab[i][3], 10, 10);
SelectObject(hdc_mem, old_brush);
SetTextColor(hdc_mem, 16000000);
old_font = SelectObject(hdc_mem, h_font);
DrawText(hdc_mem, text_tab[i], size(text_tab[i]), address(#rect_tab[i][0]), DT_CENTER);
SetTextColor(hdc_mem, 0);
DrawText(hdc_mem, "х", 1, address(#Coordinates_Minus[i][0]), DT_CENTER);
SelectObject(hdc_mem, old_font);
}
old_brush = SelectObject(hdc_mem, brush1);
RoundRect(hdc_mem, 10, 30, 500, 250, 10, 10);
if(created_tab<3)
{
SetTextColor(hdc_mem, 0);
RoundRect(hdc_mem, cord_control_buttons[0][0], cord_control_buttons[0][1], cord_control_buttons[0][2], cord_control_buttons[0][3], 10, 10);
DrawText(hdc_mem, Control_text_buttons[0], size(Control_text_buttons[0]), address(#cord_control_buttons[0][0]), DT_CENTER);
}
SelectObject(hdc_mem, old_brush);
SelectObject(hdc_mem, old_pen);
if(current_tab>-1 && current_tab<3)
{
SetTextColor(hdc_mem, 255);
old_font = SelectObject(hdc_mem, h_font2);
TextOut(hdc_mem, 20, 100, "Текущая вкладка: "+text_tab[current_tab], size("Текущая вкладка: "+text_tab[current_tab]));
SelectObject(hdc_mem, old_font);
}
TransparentBlt(hdc, 0, 0, image_width, image_height, hdc_mem, 0, 0, 515, 500, BLACK_COLOR);
//BitBlt(hdc, 0, 0, image_width, image_height, hdc_mem, 0, 0, SRCCOPY);
}
Изображение размазано и кнопка не просвечивается среди Таба |
|
|
007wan |
Отправлено: 16 Ноября, 2019 - 08:22:07
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Блин я запутался в этих переменных и массивах.
Можно пожалуйста переделать так(бузе массивов контроллы).
Когда нажимается +, то дается имя вкладке "New Tab" и только. Если имя вкладки == New Tab(у любой или следующей выбранной), то всего будет один контрол на вкладке это ListBox, в котором 3 строчки названии вкладок: "Вкладка1, Вкладка2, Вкладка3".
При выборе строчки, допустим, "Вкладка3", назначается это название той вкладки, в которой была выбрана эта строчка(т.е у текущей вкладки). Так же строчка "Вкладка3" удаляется. и так далее: Переходим в другую New Tab и там уже 2 строчки остается.
Потом допустим Listbox стал пустым - это значит, что открыты вкладки имеют названия "Вкладка1" "Вкладка2" "Вкладка3", причем может быть в разном порядке названии.
Внимание! При закрытии вкладки, допустим "Вкладка3" название строчки будет обратно возвращаться в Listbox и вкладка удаляться непосредственно.
Так же если можно провести развилку, что бы было понятно: например,
-если вкладка называет себя "Вкладка3", то на ней будет кнопка под названием "Кнопка вкладки3"
-если вкладка называет себя "Вкладка2", то на ней будет кнопка под названием "Кнопка вкладки2"
-если вкладка называет себя "Вкладка2", то на ней будет кнопка под названием "Кнопка вкладки2"
Ps: Всего 1 Listbox для тех вкладок, которые называют себя New Tab. |
|
|
007wan |
Отправлено: 17 Ноября, 2019 - 08:00:36
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Диск
Я удалил все циклы, которые не нужны были. Хотел добиться, что бы контроллы появлялись на владке в зависимости от названия вкладка, т.е если жмем плюс, то понятное дело, что это новая вкладка, значит задаем ей имя "New Tab", а раз она так называется то (по моей идеи) буду отображаться нужные контроллы и статические, потом имя сменится и появятся другие...
(Добавление)
Какой же я дурак!) Я мог бы не рисовать Таб, а создать через CreateWindow и кнопки так же. Забыл просто, что можно и иконки на любую вкладку нарисовать для Таба этого. и тогда код будет быстрее(по теории). |
|
|
|