Dong's profileHDDCNBlogGuestbookNetwork Tools Help

Blog


    May 21

    一件小事想到的……

    之前写的生命计算器,刚刚更新了一下,实现在 Client Area 点击鼠标拖动窗体(WPF)的问题:
    http://hddcn.spaces.live.com/blog/cns!1095F8D4903F1838!712.entry

    我的做法,计算窗体左上角相对鼠标的坐标来实现移动——

            Point oldPosition = new Point(0, 0);
            Point newPosition = new Point(0, 0);
            bool mouseDown = false;

            private void Window_MouseDown(object sender, MouseButtonEventArgs e)
            {
                oldPosition = Mouse.GetPosition(this);
                mouseDown = true;
            }

            private void Window_MouseUp(object sender, MouseButtonEventArgs e)
            {
                mouseDown = false;
            }

            private void Window_MouseMove(object sender, MouseEventArgs e)
            {
                if (mouseDown)
                {
                    newPosition = Mouse.GetPosition(this);
                    this.Left = this.Left + newPosition.X - oldPosition.X;
                    this.Top = this.Top + newPosition.Y - oldPosition.Y;
                }
            }

            private void Window_MouseLeave(object sender, MouseEventArgs e)
            {
                mouseDown = false;
            }

    最后发现可以——

            private void Window_MouseDown(object sender, MouseButtonEventArgs e)
            {
                this.DragMove();
            }

    就是这么简单,.net 3.0已经为WPF提供了Window.DragMove方法,调用就行了。
    http://msdn.microsoft.com/zh-cn/library/system.windows.window.dragmove.aspx


    我当时在MSDN搜了半天,没找到这个方法,无奈之下才自己想了个算法,但是我们的程序员一下就找到了最简方案。这是一个很小的很浅的问题,但是体现了业余和专业的区别之一:快速获取所需资讯的能力。

    人的牛逼程度跟平时付出了多少是成正比的,“不能耍一辈子小聪明啊”。

    May 09

    生命计算器(WPF版)[5月21日更新2.3]

    昨天鼓捣了一下WPF(Windows Presentation Foundation),虽然还有诸多不完善(可能主要是不习惯),但已经确定是未来的开发Windows应用程序的首选方案了,WinForm在不远的将来也要退出历史舞台,物换星移……岁月真TMD匆匆啊。WPF用XAML+C#的设计方式挺性感的。这也让我更加期待VS2010和.net framework 4.0。
     
    因为想试一下透明窗体(DwmExtendFrameIntoClientArea),我又把生命计算器写了一遍,发现WPF居然没有提供日历控件(如MonthCalendar或者DateTimePicker)……公司的程序员听见我抱怨第一反应是:你丫没找着吧。但是,很遗憾地,确实没有啊兄弟们——
     
     
    所以只能老实地DateTime.ParseExact()了。
     
    WPF版生命计算器2.3
     
    汗……多哥留言建议的都改了。
     
    p.s. 6月18日更新2.4修改了一个小bug。下面的链接是2.4
     
    May 04

    我又上当了(南京南京)

    我又被狂轰乱炸的媒体给骗了一次(不好意思啊我也是搞媒体的,所以挺没面子),前几次是《十面埋伏》、《满城尽带黄金甲》之类的片子,其实很普通,但是媒体一致说好得不得了,我就去电影院看了,看完回来就觉得上当。这回是《南京南京》,其实很普通,又被神话了。当然上当也挺好的,做人不能太精明,我的票也是纳了消费税的,我这行为也是为中国电影事业、为中国经济贡献绵薄之力吧……
     
    陆川的《可可西里》和这个《南京南京》都是在道德上100%正确、政治上100%正确,让你批评之前得先掂量一下……我觉得可以先绕过这些。
     
    想一下《Schindler's List(辛德勒的名单)》,那是跟我们八杆子打不着的完全没关系的一个故事,但是,剧本很厉害,人物塑造非常丰满,拍得水平很高,打动我们的是人类共通的善心。《鬼子来了》,没有一个绝对崇高(如《南京南京》的姜老师)或者绝对邪恶(如《南京南京》的那个恶劣的日本小队长,记不住名字)的角色,姜文是在夸张而不是公式化当时的人性和生活,片子很“带劲”。《南京南京》呢,这个水准——要不是这段历史逼得我们不得不共鸣,要不是在电影院,我肯定看1/2就快进了。沉闷的剧本(还有不少BUG),脸谱化的角色,缺乏高潮的故事……
     
    采访时陆川说把刘烨和高圆圆的爱情戏都剪掉了,因为“如果我真的把这段爱情完整地放进去,观众走出影院的时候,抹眼泪可能是为了这段爱情,等于说整个历史就变成了一个背景,在为这两个人服务。我觉得我不要这样一部电影。我希望我的电影是在为历史服务。——陆川”作为观众,我对此持保留意见。历史就是由无数“两个小人物的故事”构成的,唐先生和妻子女儿,角川和百合子,再加上一对相爱的中国难民,再加上更多的“两个人”,这些就是历史,不然什么是历史?一对在南京城殉难的年轻恋人,一个爱上慰安妇的日本士兵,在这场侵略战争的背景下本来可以是很好的对比。我觉得陆川删这段戏,是因为他没有能力把握感情戏,这也是自知之明,他不是一个像李安、张艺谋那样能拍感情戏的导演,这从他之前的作品就可以看出来。(这就像你不能让《战神》的制作人去负责开发《信赖铃音 肖邦之梦》,他脑子里没那种煽情细胞。)
     
    这个电影和最近带给我感动和惊喜的《Slumdog Millionaire(贫民窟的百万富翁)》、《The Reader(朗读者)》、《Revolutionary Road(革命之路)》、《疯狂的赛车》之类的片子完全没法并论。比去年国内的《色戒》、《集结号》也不如。陆川很认真,很努力,但是目前来说,水平有限。再等等也许他会弄出NB片子。

    p.s.
     
    ▲影片中过场图片上的介绍文字太小了,还用行楷(貌似,没仔细识别)来写,我坐在第6排戴着眼镜都看不清。这是第一次拍电影的导演才会犯的错吧……
     
    ▲遇难村民集体呼喊中国万岁、中国不能亡,这个地方,太符号化了……就差没托日本人把当月党费交给组织了。坐在我旁边的老人都摇头。
     
    ▲日本军队后来的祭祀舞给了我比较深的印象。
     
    ▲对比一下我当时对《Slumdog Millionaire(贫民窟的百万富翁)》的一句话评价——It is written, if you insist. 我觉得根本没有必要去质疑这个片子是表现了真实的印度贫民生活还是有所夸张,它的背景可以是任何国家和地区,任何时代,就算把它看成是一部架空历史的科幻片,也不影响它要表达的东西。杰玛经历的苦难和坚持被娱乐节目随机的提问串联起来,构成一种很难描述但又很现实的讽刺。电影的配乐很棒。