Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: при смене вкладки окно прыгает в цетр экрана, это как то можно исправить?
При нажатии на кнопку надо записывать в переменные координаты диалога. Вызывать showdialog с этими координатами.
code (Отобразить)CODE:int x, y; // переменные для координат диалога
win w; // указатель на диалог
int pos_size_button0[3][4];
string text_button0[3];
int flag_button0[3];
pos_size_button0[0][0]=5; pos_size_button0[0][1]=6; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
pos_size_button0[1][0]=111; pos_size_button0[1][1]=6; pos_size_button0[1][2]=100; pos_size_button0[1][3]=20;
pos_size_button0[2][0]=214; pos_size_button0[2][1]=6; pos_size_button0[2][2]=100; pos_size_button0[2][3]=20;
text_button0[0]="Вкладка 1"; text_button0[1]="Вкладка 2"; text_button0[2]="Вкладка 3";
//////////
int pos_size_check0[1][4];
string text_check0[1];
int flag_check0[1];
pos_size_check0[0][0]=13; pos_size_check0[0][1]=50; pos_size_check0[0][2]=60; pos_size_check0[0][3]=20;
text_check0[0]="Галка 0";
flag_check0[0]=0;
////////////////////////////////////////////////////////////////
int pos_size_button1[3][4];
string text_button1[3];
int flag_button1[3];
pos_size_button1[0][0]=5; pos_size_button1[0][1]=6; pos_size_button1[0][2]=100; pos_size_button1[0][3]=20;
pos_size_button1[1][0]=111; pos_size_button1[1][1]=6; pos_size_button1[1][2]=100; pos_size_button1[1][3]=20;
pos_size_button1[2][0]=214; pos_size_button1[2][1]=6; pos_size_button1[2][2]=100; pos_size_button1[2][3]=20;
text_button1[0]="Вкладка 1"; text_button1[1]="Вкладка 2"; text_button1[2]="Вкладка 3";
//////////
int pos_size_combo1[1][4];
string text_combo1[1][1];
int strok_combo1[1];
int flag_combo1[1];
pos_size_combo1[0][0]=9; pos_size_combo1[0][1]=49; pos_size_combo1[0][2]=100; pos_size_combo1[0][3]=80;
strok_combo1[0]=1;
text_combo1[0][0]="Список 0";
flag_combo1[0]=0;
/////////////////////////////////////////////////////////////
int pos_size_button2[4][4];
string text_button2[4];
int flag_button2[4];
pos_size_button2[0][0]=5; pos_size_button2[0][1]=6; pos_size_button2[0][2]=100; pos_size_button2[0][3]=20;
pos_size_button2[1][0]=111; pos_size_button2[1][1]=6; pos_size_button2[1][2]=100; pos_size_button2[1][3]=20;
pos_size_button2[2][0]=214; pos_size_button2[2][1]=6; pos_size_button2[2][2]=100; pos_size_button2[2][3]=20;
pos_size_button2[3][0]=11; pos_size_button2[3][1]=49; pos_size_button2[3][2]=100; pos_size_button2[3][3]=20;
text_button2[0]="Вкладка 1"; text_button2[1]="Вкладка 2"; text_button2[2]="Вкладка 3"; text_button2[3]="Кнопка";
//////////
createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0] |
CHECK, #pos_size_check0[0][0], #text_check0[0], #flag_check0[0]);
showdialog(0, "Вкладка 1", 558, 234, 323, 134, 1, 0);
//////////
while(window("Вкладка 1")==0)sleep(100); // ждём когда диалог откроется
w=window("Вкладка 1");
enabletimer(0);
loop()
{
//код
sleep(10);
}
CREATE_TIMER(0, 100)//Номер таймера, выполнение таймера через мсек.
{
if (flag_button0[1]==1)
{
w=window("Вкладка 1"); x=w.left; y=w.top; //получаем указатель и координаты диалога
flag_button0[1]=0;
destroydialog(0);
createdialog(1, BUTTON, #pos_size_button1[0][0], #text_button1[0], #flag_button1[0] |
COMBO, #pos_size_combo1[0][0], #text_combo1[0][0], #strok_combo1[0], #flag_combo1[0]);
showdialog(1, "Вкладка 2", x, y, 323, 134, 1, 0);
}
if (flag_button0[2]==1)
{
w=window("Вкладка 1"); x=w.left; y=w.top;
flag_button0[2]=0;
destroydialog(0);
createdialog(2, BUTTON, #pos_size_button2[0][0], #text_button2[0], #flag_button2[0]);
showdialog(2, "Вкладка 3", x, y, 323, 134, 1, 0);
}
//////////
if (flag_button1[0]==1)
{
w=window("Вкладка 2"); x=w.left; y=w.top;
flag_button1[0]=0;
destroydialog(1);
createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0] |
CHECK, #pos_size_check0[0][0], #text_check0[0], #flag_check0[0]);
showdialog(0, "Вкладка 1", x, y, 323, 134, 1, 0);
}
if (flag_button1[2]==1)
{
w=window("Вкладка 2"); x=w.left; y=w.top;
flag_button1[2]=0;
destroydialog(1);
createdialog(2, BUTTON, #pos_size_button2[0][0], #text_button2[0], #flag_button2[0]);
showdialog(2, "Вкладка 3", x, y, 323, 134, 1, 0);
}
//////////
if (flag_button2[0]==1)
{
w=window("Вкладка 3"); x=w.left; y=w.top;
flag_button2[0]=0;
destroydialog(2);
createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0] |
CHECK, #pos_size_check0[0][0], #text_check0[0], #flag_check0[0]);
showdialog(0, "Вкладка 1", x, y, 323, 134, 1, 0);
}
if (flag_button2[1]==1)
{
w=window("Вкладка 3"); x=w.left; y=w.top;
flag_button2[1]=0;
destroydialog(2);
createdialog(1, BUTTON, #pos_size_button1[0][0], #text_button1[0], #flag_button1[0] |
COMBO, #pos_size_combo1[0][0], #text_combo1[0][0], #strok_combo1[0], #flag_combo1[0]);
showdialog(1, "Вкладка 2", x, y, 323, 134, 1, 0);
}
} |