سلام
کسي مي دونه چطور میشه WS_EX_LAYOUTRTL رو در زمان اجرا از روی یه کنترل حذف کرد؟
من با MFC کار می کنم ، به راحتی میشه در زمان اجرا WS_EX_LAYOUTRTL رو به کنترل اضافه کرد ، اما نمی شه راحت حذفش کرد و کنترل رو به حالت چپ به راست برگردوند دوباره . این کد منه که جواب نميده .
if(isRTL)
{
GetDlgItem(IDC_ENFA_TEXT)->ModifyStyleEx(0,WS_EX_LAYOUTRTL);
GetDlgItem(IDC_ENFA_TEXT)->SetFocus();
}
else
{
GetDlgItem(IDC_ENFA_TEXT)->ModifyStyleEx(WS_EX_LAYOUTRTL,0);
//GetDlgItem(IDC_ENFA_TEXT)->ModifyStyleEx(WS_EX_LAYOUTRTL,0,SWP_FRAMECHANGED);
//RedrawWindow(NULL,NULL,RDW_INVALIDATE | RDW_UPDATENOW |RDW_ERASE|RDW_ALLCHILDREN);
GetDlgItem(IDC_ENFA_TEXT)->SetFocus();
}
کسي مي دونه چطور میشه WS_EX_LAYOUTRTL رو در زمان اجرا از روی یه کنترل حذف کرد؟
من با MFC کار می کنم ، به راحتی میشه در زمان اجرا WS_EX_LAYOUTRTL رو به کنترل اضافه کرد ، اما نمی شه راحت حذفش کرد و کنترل رو به حالت چپ به راست برگردوند دوباره . این کد منه که جواب نميده .
if(isRTL)
{
GetDlgItem(IDC_ENFA_TEXT)->ModifyStyleEx(0,WS_EX_LAYOUTRTL);
GetDlgItem(IDC_ENFA_TEXT)->SetFocus();
}
else
{
GetDlgItem(IDC_ENFA_TEXT)->ModifyStyleEx(WS_EX_LAYOUTRTL,0);
//GetDlgItem(IDC_ENFA_TEXT)->ModifyStyleEx(WS_EX_LAYOUTRTL,0,SWP_FRAMECHANGED);
//RedrawWindow(NULL,NULL,RDW_INVALIDATE | RDW_UPDATENOW |RDW_ERASE|RDW_ALLCHILDREN);
GetDlgItem(IDC_ENFA_TEXT)->SetFocus();
}