void InvalidateProgWindow(void) //廢止窗口

{

if (ollylang->wndProg.hw!=NULL) //句柄不為空

InvalidateRect(ollylang->wndProg.hw, NULL, FALSE); //重畫窗口

}

 

void FocusProgWindow(void) //窗口焦點

{

if (ollylang->wndProg.hw!=NULL) {

SetForegroundWindow(ollylang->wndProg.hw); //創建指定窗口的線程到前臺,並且激活窗口

SetFocus(ollylang->wndProg.hw);

}

}

 

bool editProgLine(t_wndprog_data *ppl) 

{

string s;

s=ollylang->script[ppl->line-1]; //s為腳本行

 

if (Gettext("Edit script line...",(char*)s.c_str(),0,0,FIXEDFONT)) {

//如果獲取文本

strcpy(ppl->command," "); //複製" "

strncat(ppl->command,(char*) s.c_str(),PROG_CMD_LEN-2); //連接字符串

 

s=trim(s); //去除空

if (s.find(";")==0) { //查找;

ppl->type = PROG_TYPE_COMMENT; //有類型為註釋

}

else 

{

ppl->type = PROG_TYPE_COMMAND; //否則為命令

}

 

InvalidateProgWindow(); //廢止窗口

return true;

}

return false;

}

 

int addProgLine(int line, string & command, int type)  //添加行

{

 

t_wndprog_data pline={0};

 

pline.line = line; //行為傳入參數line

pline.size = 1; //大小設置為1

strcpy(pline.command," "); 

strncat(pline.command,command.c_str(),PROG_CMD_LEN-2); //連接字符串

strcpy(pline.result,"");

strcpy(pline.values,"");

if (type)

pline.type = type;

else

pline.type = PROG_TYPE_COMMAND;

 

pline.eip = 0; //eip為0

 

ollylang->tProgLines.push_back(pline); //壓棧

 

Addsorteddata(&(ollylang->wndProg.data),&(ollylang->tProgLines.back())); //添加數據

 

InvalidateProgWindow(); //廢止窗口

 

return 1;

}

 

arrow
arrow
    創作者介紹
    創作者 lypwell 的頭像
    lypwell

    0m的部落格

    lypwell 發表在 痞客邦 留言(0) 人氣()