shuai's profile娱乐精神PhotosBlog Tools Help

Blog


    8/27/2007

    理解需求的本质

    试想一个案例
    历史(或聊天)记录是IM软件通常都具备的功能
    “我们的产品需要一个历史记录功能”
    这是以产品角度去考虑
    实际上过早的提出了解决方案
    这是解决方案,不是需求


    为什么要有历史记录的功能
    它的功能的本质是解决什么问题
    是因为使用者会忘记以前聊天的内容
    所以需要有某种方法进行回顾
    这才是需求的本质


    理解需求本质之后才应该提出解决方案
    否则会提出错误的解决方案
    或是错过了更好的解决方案
    试想IM是否能提供一个更好的提示方法
    比如当聊到某一特定内容时
    自动列出之前的相关聊天信息
    这是一个主动显示聊天记录的方案


    理解需求的本质,而不要过早提出解决方案

     

    8/2/2007

    自定义窗体最大化时不盖住任务栏

     
    自定义窗体最大化时不盖住任务栏
    还原有时有问题,不管了
            protected override void WndProc(ref Message m)
            {
                switch (m.Msg)
                {
                    case WM_GETMINMAXINFO:
                        RECT area = new RECT();
                        SystemParametersInfo(SPI_GETWORKAREA, 0, ref area, 0);
                        MINMAXINFO info = (MINMAXINFO)m.GetLParam(typeof(MINMAXINFO));
                        info.ptMaxSize = new POINT(area.right, area.bottom);
                        info.ptMaxPosition = new POINT(0, 0);
                        info.ptMaxTrackSize = new POINT(area.right, area.bottom);
                        info.ptMinTrackSize = new POINT(100, 200);
                        Marshal.StructureToPtr(info, m.LParam, true);
                        m.Result = new IntPtr(0);       //must return 0;
                        return;
                }
               
                base.WndProc(ref m);

            }