求助使用COM生成的工具栏,但是用注册表中保存的上次工具栏位置来设置结果一直不正确
本帖最后由 3105955 于 2013-1-1 18:47 编辑使用COM生成的一个工具栏,然后从注册表中读出上次工具栏的位置,但是通过put_Left(),put_Top()得到的效果并不正确.
请大家帮我看看,先谢谢了。
void setDock(IAcadToolbar*tlbr, string sDataArr[]){ //数组中保存的是从注册表中读出的工具栏位置信息 //sDataArr=是否隐藏, sDataArr=是否停靠, sDataArr=left //sDataArr=top if(0==strcmp(sDataArr.c_str(),"top")) tlbr->Dock(acToolbarDockTop); else if(0==strcmp(sDataArr.c_str(),"right")) tlbr->Dock(acToolbarDockRight); else if(0==strcmp(sDataArr.c_str(),"left")) tlbr->Dock(acToolbarDockLeft); if(0==strcmp(sDataArr.c_str(),"float")) tlbr->Float(atoi(sDataArr.c_str()),atoi(sDataArr.c_str()),atoi(sDataArr.c_str())); else{ tlbr->put_Top(atoi(sDataArr.c_str())); tlbr->put_Left(atoi(sDataArr.c_str())); }
if(0==strcmp(sDataArr.c_str(),"show")) tlbr->put_Visible(TRUE); else tlbr->put_Visible(FALSE);
}
页:
[1]