现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

开发界面的一点小体会

2012-08-03 22:14 工业·编程 ⁄ 共 679字 ⁄ 字号 暂无评论

    在软件的开发中,界面会不时的卡住,查询代码时,我发现,在界面类中的ontimer()中,进行了数据库的操作,此数据库操作由于网络原因,耗时很长,由此造成了ontimer()函数很耗时,因此,我把定时进行数据库操作的语句利用线程去执行,而不是用定时器,界面卡住的问题就解决了。

    因此,尽量不要将耗时的操作放在界面类的ontimer()函数中执行,容易造成界面的卡住。

    另外,在进行界面设计的过程中,有时候控件的数量会非常多,如果所有的控件都放在一个界面上,对于消息的响应看似比较好,不用自己写自定义消息,但是用户的需求和软件的变化是不可预测的,一旦需要进行界面的修改,对于开发人员来说简直就是个灾难,比如需要移动十几个或者更多控件的位置,你需要不停地计算控件的GetClientCrect,然后MoveWindow,在开发的过程中,我发现这样移动不仅浪费了我很多的时间,而且必须小心翼翼,否则就会造成界面的混乱。

    因此,在设计界面时,先可将控件按照功能或者自己的一套规则先归类,比如控制按钮,有很多个,但是是属于一类的,对于可以归纳到一起的控件,可以将它们放到一个对话框中,然后将这个对话框设为主对话框的子窗口,这样在移动位置时,你需要的不是去移动好多个单独的按钮,而是一个对话框,工作量大大减小,而且思路清晰。唯一多做的工作是,你需要做好父子窗口的消息传递,通常情况下,用自定义消息或者拦截子窗口的PreTranslateMessage都能够解决问题。

     而且,这样做还有一个好处,提取出来的控件对话框可以重用!这很符合软件工程的思想。

给我留言

留言无头像?